笔者从2013年7月开始接触软件开发,2015年1月得到了第一份正式软件开发的工作。期间走过了很多弯路,看了很多类似“30天从菜鸟到编程高手”的书籍和教程。正如听过很多大道理依然过不好一生,看过很多”好书“也依然写不出好代码。说到这里就要讨论下本文标题提到的”优秀的程序猿(媛)“,在我成为职场小菜鸟的这段时间,关于优秀的程序猿有了自己的一份理解。这些不是什么一招制胜的绝世武功心法,但我觉得这些是成为优秀程序猿的最基本常识。
1.程序猿(媛)的工作不仅仅是编码。
二八法则对于程序开发过程也很符合,近8成的时间,我们要进行需求分析,程序架构设计,数据库设计,与业务或其他程序猿(媛)讨论交流。所以若要成为一个优秀的软件开发人员,你必须培养广泛而全面的技巧(Skill),而不仅仅是技术(Technical),在加入工作之初,不要把全部精力放在代码上,要注重参与到整个开发流程中,积累经验,不要因一时不能接触的核心代码(新手尤其是实习生尤其不要将注意力全部放在代码上)就愤愤不平。因为程序开发和管理的过程并不是写个HelloWorld那么见到那。
2.如果有可能出错,就一定会出错
墨菲定律告诉我们凡是有可能出错的地方就一定会出错。因此在编写程序时出现了任何方式出现的bug请不要惊慌。因为只有还没发现的bug,没有不存在的bug.
而且当你接手的是前辈的项目代码,请先深呼吸3分钟,并将一切杀伤性武器收起,因为当你深入分析和编写代码时你会发现个别的代码实在称不上好代码,没有明确的注释,不够清晰的逻辑,语言特性的错误使用,凡此种种你总会找出一些槽点。
但是请坚信,如同笔者以及文中的前辈一样,你也会写下不那么优雅的代码,尤其是初入职场的这段日子。所以你要做的就是完善这份代码,并尽最大努力(编写测试代码,反复验证需求)确保你所写下的代码可以正常运行。
3.少即是多
有种说法是,优秀的程序员都是”懒“人,因为他们总是在编码时尽量用简洁的逻辑和最好的代码量去实现功能。言多语失,代码多bug得。“Keep it simple, stupid!”(保持简单,KISS设计原则)。所以,如果没有必要的就舍弃吧!因为要记住:“事情若有可能出错,就一定会出错。”
4.客户永远是第一位的,同时客户永远也不知道他(她)想要什么
客户若有需求,或是想法,但是他们不知道详细情况……软件开发要做的工作就是,发现细节并去除所有的不确定性,将这些需求转换成客户想要的一个应用程序。请记住,程序和编码不是第一位,如果这些代码不能用来解决实际问题,就没有必要花时间和精力去写。牢记程序猿的工作不仅仅是写代码而是解决问题将对我们的成长十分有益处。
5.你遇到的问题一定有人遇到
就像可能出出错的地方一定会出错一样,你遇到的问题在很大概率上已经有人遇到过,并给出了解决方案。而你要做的就是在开始动手写代码之前,利用搜索引擎或者你的同行的智慧尝试找到解决方案。就像如果你要自己制造汽车,完全不需要从轮胎开始发明,只需要收购适当的零件然后将他们组装在一起。
这是个知识的时代,也是个分享的时代,开源不仅仅是创意的分享也是意识上的解放。对于想成为优秀程序猿(媛)的我们要学会获取知识和分享知识。
实践是检验真理的唯一标准,分享和协作是发现真理的捷径。