查看原文
其他

程序员七问

刘欣 码农翻身 2018-10-25

有不少人向我抱怨说工作中都是写业务代码,刚开始还有新鲜感,熟练了以后就觉得无聊了。


这样的问题多了,也促使我去思考和总结,我总结了一个自检的列表, 如果你已经确定在一个公司发展下去,不妨对照着检查一下,看看差距在哪里,估计就不会无聊了。


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


我能不能对其他人(例如面试官)描述下该系统实现的业务:

  • 系统有哪些角色,这些角色如何与系统交互;

  • 系统有哪些主要流程,次要流程,都有哪些角色参与其中。


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


系统都分为哪些组件,这些组件是如何部署在服务器/客户端的?

它们之间是怎么交互的?用的什么协议?


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


例如Spring, Redis, Nginx......这些框架和软件的原理都搞清楚了吗?


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


对于一个bug, 我能否迅速地定位到bug的源头?

对于“烂代码”,我是否有能力,有勇气去重构它?


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


安全是怎么做的?

如何做的性能测试?

高可用性、可扩展性是怎么实现的?

......


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


系统怎么做的build ? 用到了哪些工具?

系统怎么做的测试? 如何自动化?

系统是怎么部署的?

系统是怎么监控的?

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


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


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

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

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


列举出这些,就是让我们去脱离自己的“一亩三分地”,aim higher,慢慢地成为一个有影响力的Leader


大家肯定能看出来,要成为这样的人,肯定得付出比常人更多的努力才可以,没有人能随随便便就成功的。



跟随 Google 无人车之父系统掌握机器学习,挑战与滴滴,Kaggle 共同打造的实战项目,学习来自硅谷最前沿的应用,一年成为高薪抢手的机器学习工程师。扫描二维码,免费体验硅谷仿真课堂!


点击“阅读原文”,免费试听更多来自硅谷的前沿课程内容。

文章已于修改

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存