关于程序猿的传说很多,有人说程序猿是最聪明的人,他们在数学才能、文字功底、口才能力、预知能力、学历与学力、职业道德等方面都具有 优势;有人说,程序猿很邋遢,不洗澡不洗头,整天背着双肩包;有人说,程序猿是最佳的配偶选择,因为程序猿人傻多金死得早(有点阴谋论哦)。对于以上极端 的说法,云吞吞不敢苟同,马克思哲学告诉我们,看事情要一分为二,云吞吞认为程序猿有两类人:聪明的和2b,每种类型的气质不同,那么聪明的程序猿到底 高明在哪?且听云吞吞从多个维度慢慢道来……
接到产品需求后
聪明的程序猿:在接到需求后,聪明的程序猿会问为什么,会花大量的时间通盘考虑所有可能的解决方案和途径。这可以看作是延缓写代码,在没有完全理解问题前绝不动手写代码。先把问题理解清楚,确保将要写的代码能真正的解决问题,这将会避免之后写出大量无用的代码。(即懒惰式开发)
2b程序猿:喜欢立刻冲上去编程,喜欢在电脑前不停的敲代码,100%的时间都在盯着屏幕。(然而,《程序员开发效率悖论》说,在真正的软件开发中,只有5%的开发时间是有效率的)
面对烂代码
聪明的程序猿:如果代码整体上好的,那就重构代码。如果代码整体上有问题,那就重构代码。(追求完美!)
2b程序猿:不喜欢去修改已经写成的烂代码。相比起优化自己的代码,他们更愿意简单的增加更多的代码,以此来弥补之前的缺陷。
面对API或SDK接口的态度
聪明的程序猿:快递调用成熟的PaaS平台接口代码,自主开发集中在产品的主要功能上,比如短信验证码这种通讯小事就交给云之讯,节省开发时间十倍以上
云之讯短信验证码JSON请求示例
2b程序猿:自己写通用代码,浪费开发时间。
沟通方式
聪明的程序猿:喜欢分享,清楚跟团队中的其它程序猿或其他团队中的程序猿需要那些交互,如何交互。他们经常使用白板交流、画流程图(UML或Visio)与其他成员交流。
2b程序猿:不喜欢沟通,喜欢闭门造车。
对待下属的态度
聪明的程序猿:喜欢夸下属聪明,以此提高下属积极性,从而达到自己的更高目标。
2b程序猿:喜欢别人夸自己聪明,不懂得分享。
对其他部门同事的态度
聪明的程序:很谦虚,认为营销、市场、管理人员同样不简单,可以很好的和他们合作。
2b程序猿:非常自负,觉得自己很优秀,认为自己可以ControlEverything。
面对挑衅
聪明的程序猿:莞尔一笑,不会被对手激怒,用产品市场效果说话。
2b程序猿:容易恼羞成怒,喜欢一比见高低。
学习态度
聪明的程序猿:会 看书,会思考,会不满足,会努力提升自己,会经常浏览高科技公司的博客(Netflix Tech Blog,Oracle OTN,AWS Blogs,IBM Emerging Tech Blog)、浏览高科技公司的开发者网站(如Facebook for Developers,Twitter Developers,Amazon AWS)、在问答网站提出问题(如Quora,Stackoverflow)、在MOOC网站(Coursera,Udemy等)或YouTube频道学 习。
2b程序猿:一有时间就打游戏,看毛片。