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


提高日常工作效率的策略
硬币的另一面是让你善于思考的习惯 。 它开始于注意一天中的小麻烦、会议的低效 , 然后找出避免这些问题的策略 。 这些策略性的改进是被低估的 。
你决定要做什么 , 然后让它自动运行 , 解放大脑来思考更多有意思的事情 。 当然 , 那也是一种习惯 。
我注意到的一些好习惯:
开会一定要做出决定或着有下一步行动 , 否则不要离开会议决定事情由谁完成 。 没有负责人的事情很少被完成的 。 记录项目期间做出的决策 。这种模式是在回顾期间发现的 , 因此我很想关注并在下一年收集更多策略 。 有一位杰出的敏捷大师对我负责 , 能帮助我更好地遵循这些策略 。
获取新的思考工具和思维模型
新的思考工具与善于思考有关 , 对于软件工程更是如此 。 思考工具帮助我更好地思考具体的工程问题 。
我对此采用了及时处理的方法 。 只有当我被某件事情困扰时 , 或者当我发现我的抽象和设计决策不起作用时 , 我才寻找新的工具 。
例如 , 我最近正在为许多复杂的业务逻辑领域头疼 。 边缘案例很常见 , 我们想要设计一个系统来很好地处理这个问题 。 那时候 , 我读到了领域驱动设计 。 我可以立即将它应用到实践中 , 产生巨大的影响 。 后来 , 我更好地掌握了这些理念 。 我获得了一种关于如何创建企业软件的新的思维模型 。
我持续学习并获取新的思维模型的第二种方法是通过阅读HackerNews上的文章 。 这些都是非常有意思的想法 , 其中一些我也已经应用到实践中 , 但是很多想法没有上面提到的技术高效 。 我仍然这样做的原因是绘制技术图——这是我了解现有的技术 , 那么当我遇到问题时 , 我会知道有一个方法可能会有所帮助 。
我获取更好的思维模型的最后一种方法是通过学习新的不同语音 。 这种多样性很重要 。 学习lisp的另一种方言比学习C++03、一种函数式编程语言、一种动态类型语言和一种lisp的好处要小得多 。 今天 , J看起来很有趣 , 我就可以考虑学习 。 这种一种我以前从未使用过的思维模型 。
我从中获取了好多益处 。 每种语言有其自己的词汇和语法 , 而词汇就是一种原始的思维模型 。 这是一种新的视角来看待如何做事情 。
当内存管理在你的可控范围内时 , 你就会理解指针和分配器是如何工作的 。 当Python将这些抽象出来 , 你就会欣赏其带来的复杂性的减少 。 当函数式编程语言中的maps和filters出现 , 你就知道Python的for循环可以如何改进 。 事实上 , 这就是列表理解 。 然后你会发现有些事情用面向对象编程处理是多么简单 。 没有一种魔幻工具可以适合所有事情 。 然后你就会明白 , 尽管如此 , 你不必更换工具 。 你可以将一个项目的最佳实践应用到另外一个项目来解决你的问题:例如编写函数式的javascript 。 原理比表现形式更重要 。
总的来说 , 这就是我这一年所做的 。 以下是针对具体问题的简介
保护你的空闲
当我说slack , 我不是说slack公司 , 而是说一个形容词(空闲) 。
给我带来高产出和提高生产力的一件事就是“慢一点儿” 。 想要完成更多事情?慢一点儿 。
我的意思是:
我注意到人们总是急于解决问题 。 这可能是他们之前做过的事情 , 或者是我们有模板的事情 。 快速解决问题的感觉非常好 。 我之前也这样做过!无论如何 , 在一些非常具体的案例中 , 这么多是行得通的 。
当我在做新事情时 , 我会花时间了解我正在工作的系统 , 以及与之密切相关的事情 。 如果事情太多了 , 我会尽可能多地学习 。 每次我重温系统 , 都想了解更多东西 。
当有空闲的时候 , 你就有机会去实验、学习和思考 。 这意味着你有充足的时间来完成任务 。
没有空闲的时候 , 截止时间很紧张 , 你的全部精力都集中在完成这件事上 。