我在软件行业45年中学到的东西

2021-01-09 07:11:30

BTI360的队友乔尔·戈德堡(Joel Goldberg)在软件行业工作了超过四十年后,最近退休。当他离开时,他与我们的团队分享了他在职业生涯中学到的一些经验教训。在他的允许下,我们在这里分享他的智慧。

回顾软件行业的四十年,我为之震惊。我从打孔卡开始了我的职业生涯,并在云计算时代结束了。尽管发生了所有这些变化,但在我的整个职业生涯中对我有帮助的许多原则并没有改变,并且仍然具有现实意义。当我离开键盘时,我想分享我从软件工程师的职业生涯中学到的六个想法。

当您知道某件事时,几乎无法想象不知道那件事是什么感觉。这是知识的诅咒,也是无数误解和效率低下的根源。精于复杂性的聪明人尤其容易受此困扰!

如果您不防备知识的诅咒,则有可能混淆所有形式的交流,包括代码。您的工作越专业,以新手无法理解的方式进行交流的风险就越大。对抗知识的诅咒。努力了解您的听众。尝试想象一下第一次学习交流的感觉。

技术不断变化,但是一些软件开发的基本方法超越了这些趋势。这是六个基本原理,在很长一段时间内仍将持续存在。

信任-团队以信任的速度前进。成为您想要与之合作的可靠人。

寻求共识-花时间让您的整个团队团结起来。让讨论和分歧为您带来最佳解决方案。

干净,可理解且可导航的代码和设计-考虑下一位工程师将以您的客户身份接管您的代码。构建代码,使您的后继者在阅读,维护和更新时不会遇到任何麻烦。

对抗复杂性是永无止境的。解决方案应尽可能简单。假设下一个维护您代码的人不会像您那么聪明。当您可以使用更少的技术时,请这样做。

斯蒂芬·科维(Stephen Covey)的七个习惯之一是:“先了解后了解。”这个格言比起其他任何建议,对我的帮助更重要,成为了一个很好的听众和队友。如果您想影响他人并与他人有效地合作,则首先需要了解他们。在开始尝试表达自己的想法之前,请积极倾听以了解他们的感受,想法和观点。

始终会有下一个热门生产力产品,该产品将有望彻底改变软件的构建方式。计算机辅助软件工程(CASE)工具,COTS,企业资源计划产品(例如Peoplesoft和SAP),甚至是Ruby。如果您接受他们的整体发展理念,他们就会声称在成本和时间上都有惊人的减少。并不总是那么明显的是巨大的前期成本或您可能要承担的约束。锁定过去主要发生在供应商中,但现在也可以发生在框架中。无论哪种方式,锁定都意味着巨大的变更成本。做出明智的选择。新的并不总是更好!

在职业生涯的某个时刻,您可能会发现自己的职位不合适。不合适不是角色缺陷,但这是您不容忽视的问题。解决这一难题的方法可能不止一种:您可以演变,也可以角色扮演。关键是要具有自我认识的能力,以识别正在发生的事情并使自己远离不健康的地方。不开心不符合任何人的最大利益,BTI360意识到这一点。

当我在通用汽车公司任职时,如果下一步行动不对,您将失败-管理更多人或承担更大,更复杂的项目。对于许多人来说,这是一条痛苦的职业道路(请参阅彼得原理)。在EDS,文化不是这样的。人们迁入和移出管理职位。从具有更大范围的角色(如战略计划者)转到具有更窄范围的角色(如PM或项目级开发人员)没有污名化。我是利用这种灵活性的人之一,从技术金字塔顶端的角色转变为项目级开发人员。我从不回头。

甚至在我加入BTI360之前,我就对文化有足够的了解,知道它是一个重视我上面所描述的原则的地方。我希望你们每个人都将拥有维护强大的工程文化的责任,这将继续使BTI360成为构建软件的好地方。

除了丰富的技术经验外,Joel在他的职业生涯中还与许多有趣的角色合作,包括W. Edwards Deming和Ross Perot。 下周,我们将分享一次采访,他将向您详细介绍技术行业4年来的那些遭遇和其他有趣的经历。 喜欢您听到的内容吗? 在这里工作! 您是软件工程师,有兴趣加入投资其队友并弘扬强大工程文化的软件公司吗? 那您来对地方了! 查看我们当前的职业机会。 我们一直在寻找志同道合的工程师加入BTI360系列。