励志司机锐锐|高级软件工程师成长秘诀

2018年的时候 , 我开始在彭博社(Bloomberg)工作 。 从那之后 , 事情发生了很大变化 。 我不再是公司里最初级的成员了 , 而且我还指导过几个工程师 , 这真是太棒了 。 这有助于我观察自己与其他人的差别 , 吸收他们的最佳实践 , 并发现我不知不觉中已经做得很好的事 。
每年的工作回顾是一个很好的方式来提炼我学到的经验教训 。 它们对于模式匹配也很有价值 。 只有我从特定模式观察时 , 才会发现问题 。 然后我就开始有意识地跟踪这些模式 。
今年的宏观主题是扩大眼界并挑战边界 。 它还涉及到聚焦视野 , 以及向去年的章节中增加细微差别 。 如果你预先读过我去年的评论就更有意思了:你就可以区别出我的成长 。
这些回顾都从一个问题开始:我如何进一步成长?
借助不同的抽象阶梯成长
进入第二年的时候 , 我已经准备好所有的基础知识了 。 我已经摘完了所有低垂的果实 , 我的成长速度开始变慢 。 这种感觉很不好 。 我脑海中的最大问题就是“我如何进一步成长?”
我能做来提高我的编码技能的事情有限 。 大部分博客都讲 , 要编写简洁的代码、重复练习、不要重复等等 , 都是比较细微的建议 。 几乎没有任何一个博客的建议能对我产生立竿见影的效果 。
不过 , 我确实发现了一些有见地的东西 。 我在软件开发周期内工作 , 但是这个周期是更大的一个周期的一部分:产品和基础设施开发周期 。 我决定接触得更广泛而不是更深入 。 令人惊讶的是 , 这种广度使得了解得更加深入 。
我从三个大的方向展开:学习我周围的人在做的事情、学习良好的思维习惯、获取新的思考工具 。
学习我周围的人在做的事情
由于我不是在一个封闭的系统 , 这使得我能够更好地理解产品经理、销售人员和分析师的工作 。 最终 , 这是一门通过产品赚钱的生意 。 我们的目标不是编写代码 , 而不是做一门能盈利的生意 。
大多数大公司并不是只做一件事 , 这意味着在同一家公司有几种不同的赚钱路径 。 每个人至少在一条路径上——如果他们不在 , 那么他们不会在这家公司 。
跟踪这些路径以及自己所在的路径是非常有价值的 。 这帮助我明白了自己有多么重要 , 以及我可以利用哪些杠杆来提高效率 。 有时候 , 这是为了让销售工作更简单 , 这样他们就可以做更多的销售 。 还有一些时候 , 这是关于为客户构建一个新功能 。 还有一些时候 , 这是关于改进一个不断崩溃的功能 。
产品经理是最好的来源 。 他们知道企业如何赚钱 , 谁是客户 , 以及客户需要什么 。
在过去的一年里 , 我与我路径上的每个人都安排了几次会议 。 这给我的另一个好处是了解其他人的工作的上下文 。 这使得我可以更好地进行沟通 。 以正确的方式构思事物的作用是很强大的 。
例如 , 一次谈话帮助我理解了销售部的Sarah想要一个批量更新工具 。 一些公司有许多员工 , 一个一个地更新他们的信息是一件痛苦的事情 。 我编写的代码可以减轻Sarah的痛苦 。
学习好的思维习惯
软件工程需要善于思考并作出正确的决策 。 编程就是实现这些决策 。
思维习惯就是你的大脑经常做的事情 。 这可能是你看见Y发生的时候想到X , 或者将思维工具X应用到问题Y 。 简而言之 , 思维习惯有助于更好地思考 。
我怀疑自己如果早学会了这些一般技能 , 我应该能够更好地将其应用到软件工程中 。
善于思考
软件工程是一个很好的实践善于思考的领域 。 反馈回路更短 , 测量正确性不会花费太长时间 。
我潜心研究认知科学 。 这是一项值得探索的永久技能——无论我最终做什么事情 , 它都能够帮助我 , 并在我的一生中都会带来回报 。 其中一个产出是批判性思维的框架 。 这是复合的 , 而复合是强大的 。
这其中有很多好东西 , 我会稍后再谈 。 它们值得各自单独的章节 。


推荐阅读