《程序员七问》反思笔记

一直以来只是专心钻研更多的技术,但是工作中大部分时间在写业务代码,感觉在做机械重复劳动,高级的技术却没有在工作中实践,所以也没有长进。发展遇到了瓶颈,感到些许迷茫。

今天看到了公众号“码农翻身”的《程序员七问》一文,对我来讲,确实很有帮助,摘录下来,以用这“七问”来不定时自检。

1、我是否对系统的业务有了整体的了解?

我能不能向其他人(如面试官)描述该系统的业务:

1)系统有哪些角色,这些角色如何跟系统交互。

2) 系统有哪些主要流程、次要流程,都要那些角色参与其中。

能否对现有的业务进行提炼、流程优化,更好的为客户解决问题,让自己的产品处于行业领先。

2、系统的整体架构是什么样子?

系统分为那些模块、组件、如何部署,怎么交互的,用的什么协议?要能够熟练画出系统整体框图、关键流程图、交互图等。

不能够只守着自己的一亩三分地,要放眼整个系统。

3、系统用到了哪些技术和框架,我是不是都已经精通了?

技术和框架选型的场景,解决了什么痛点问题。有没有优化的空间和替代方案。

4、我是不是已经精通了多个模块甚至整个系统的代码?

在精通自己负责模块的代码后,有条件一定要熟悉整个系统代码。对于一bug,能否快速定位到源头,不管是不是自己的模块。

对于“烂代码”,“坑”,我是否有能力,有勇气去重构。或自己私底下写出更好的开源项目。

5、对于系统的非功能需求,我是不是掌握了?

安全、性能测试、高可用、可扩展等是怎么实现的

6、我是不是已经了解、甚至掌握了系统使用的工程实践?

系统怎么做集成构建、测试、部署、监控?用的哪些工具?

现在有什么问题?我能不能改进它?

7、我在团队的地位如何?

同事有技术或业务问题,会不会第一时间想到找我来帮忙?

我能不能再团队讨论中发出自己的声音和见解,并且被别人尊重?

我是不是经常可以给大家做技术分享?

我们要脱离自己的“一亩三分地”,aim higher,慢慢成为一名有影响的Leader

posted @ 2018-04-13 11:25  stonesma  阅读(89)  评论(0编辑  收藏  举报