成为一名优秀软件工程师的 11 项成长原则
代码是编写它的软件工程师的原则(思维模型)的体现。你如何编写代码反映了你是怎样的人,以及你认为在软件开发中什么才是最重要的。
这就是为什么很多公司往往会遇到类似的编程问题,而这些问题无法通过某种特定的技术来解决的主要原因之一。他们的代码是由软件工程师编写的,这些工程师要么彼此之间存在理念冲突,要么他们的理念与公司的整体目标相悖。
你可以根据这些原则来区分工程师。资深工程师虽然编程能力更强,但他们也秉持着不同的原则,这些原则使他们对公司整体而言更有价值。我们不妨称这些原则为成长原则。
这篇博文将深入探讨 11 条最重要的成长原则,这些原则将使你成为一名有价值、高效的软件工程师。
1. 精通你的工具
成为一名优秀的程序员不仅仅意味着精通某种编程语言,还意味着对所使用的工具有深刻的理解。
我的意思是,你使用的集成开发环境(IDE)、调试器、Unix 命令、命令行界面(CLI)、编辑器等等……无论你使用什么工具,你越了解它,你就会变得越有创造力、越高效、越有生产力。
2. 每天学习
你知道这很重要,但还是值得重申:每天都要学习。这让我想起了沃伦·巴菲特的成功秘诀:
“每天读500页。你们所有人都能做到,但我保证不会有很多人做到。”
阅读和学习相辅相成。我不是说你每天要读500页,但你应该每天抽出相当多的时间来学习新知识。编程领域的变化日新月异,要想保持领先,就要终身学习。
3.沟通
这一点对于远程办公人员尤为重要。如有疑问,请务必充分沟通。你会惊讶地发现,人们误解你的意思的频率有多高。清晰且频繁的沟通可以降低这种情况发生的风险。
此外,程序员之间频繁的沟通能够增进信任和善意。人们更愿意互相依靠,也更容易、更频繁地分享知识。
4. 提高你的写作能力
我们大部分的沟通方式都是通过文字,无论是电子邮件、Slack 还是其他任何即时通讯应用。你的文字越流畅清晰,就越容易被理解,也就越能减少因沟通不畅而产生的摩擦。
写作时,务必牢记你的收信人是谁。了解他们关心什么,以及你的信息对他们为何重要。此外,如果你要写一封长信给高管,请在邮件开头附上一个简洁明了的摘要。他们会很感激的。
5. 解除自我障碍
最高效的开发者往往从不遇到瓶颈。当他们在一个项目上遇到困难时,他们会转而处理另一个项目,同时寻找解决方案。永远不要让你的效率降到零。
相反,要找到保持动力的方法。无论是向同事汇报问题、转而从事其他项目,还是采取其他任何能让你继续前进的措施,都不要让自己停滞不前。
6. 掌控你的项目
即使你不是首席工程师,也要练习主持自己的会议,了解项目中的每个人,撰写好的总结和计划,并让相关的利益相关者了解情况。
对参与的项目要有主人翁意识,勇于承担责任。这会让团队中的其他人知道,你已经准备好并且愿意在未来承担更大的项目(可能担任更高级别的职位)。
7. 你正在经营一家企业
除了对自己的项目负责之外,还要像对待公司CEO一样对待你的工作。你不仅仅是一名程序员,你还是一个能够影响公司最终收益的决策者。
这种视角能让你看到全局。你将能够做出对所有利益相关者都有利(甚至更好)的决策,而不仅仅是对你和你的团队有利的决策。
8. 你是专业人士
把自己当成一名专业人士。举止得体,尊重他人。准时参加会议(无论线上还是线下),并做好充分准备。认真倾听。不要让情绪影响你的判断。不要抱怨。
人们欣赏专业人士。这有助于提升你在公司的个人品牌,从而赢得更多信任。
9. 完成比完美更重要
世上没有完美无缺的东西,所以与其等待达到某种虚假的完美状态,不如尽快发布。完美成本太高,而且会拖慢你的速度。
所以,别害怕亲力亲为,把你的成果,包括所有的瑕疵,都提交上来。如果你回顾一下如今流行软件的早期版本,你会惊讶地发现它们最初发布时有多么糟糕。这就是事物发展的规律。这是一个过程,不要试图与之对抗。
10. 预料到变化
你不应该追求完美的另一个原因是,事物总会变化。这是不可避免的。无论是严重的错误、客户的要求,还是公司战略转型,你编写的代码都会随之改变。
因此,千万不要把自己逼入绝境。编写代码时,要确保能够轻松修改。长远来看,你会庆幸自己编写了灵活而非一成不变的代码。
11. 学会何时说“不”
系统的活动部件越多,发生故障的风险就越高。最好的软件就是能够正常运行的软件。系统中的活动部件越少,就越有可能顺利运行。
因此,学会说“不”是很有价值的。这可能意味着拒绝一些看似诱人却又难以实现的功能,但也可能仅仅意味着删除一些代码。如果软件在没有某个特定组件的情况下也能实现其目标,那么删除它很可能对你有益。
以上列举了11条提升软件工程师生产力、创造力和效率的成长原则。你在编写代码时有没有遵循哪些原则呢?欢迎在下方评论区留言分享。
文章来源:https://dev.to/x-team/11-growth-principles-to-become-a-valued-software-engineer-1h9i