作为一名程序员的心得分享

发布时间:2019-04-24 22:00:13发布者:Mr.Zhang阅读(549)

    明天要进行部门的知识分享,所以写了这篇文章,刚写完就想发出来,无论观点对错,都希望能启发一些人的思考。

一、工匠之心

    在写这篇文章的时候我的第一反应就是想写工匠之心,我认为一个合格的程序员应该要对它的作品负责,在有限的条件中尽可能地将作品完成。那时我一直认为自己是一名“冒牌程序员”,因为总感觉少了点东西,现在的我之所以不再认为自己是“冒牌程序员”的原因是后来我看到一个女生的博客,长相看着还算顺眼,那时候看完她的博客我鸡皮疙瘩都出来了,在她身上我注意到了工匠之心,我终于明白会认为自己是冒牌货的原因,自那以后,我都会在有限的资源(时间、成本、范围、质量)内将自己的作品完成好。

二、效率即是一切

    从事IT这行大部分人都很单纯(想要获取一些经济来支撑有幸福感的生活),正是因为单纯他们很努力,傻傻一天干到晚,我经常在想我如何才能在这群人中脱颖而出、如何才能在以后不被淘汰,于是我经常觉得时间不够用。在时间有限的情况下很自然而然的开始想着如何提高自己的效率,我开始运用在《程序员修炼之道》、《程序员的职业素养》、《代码大全》、《高效程序员的45个习惯:敏捷开发修炼之道》等书中学习到的知识,为了成为一个高效的程序员。

    《程序员修炼之道》是我的第一本启蒙书,自那以后我就开始持续学习、工作时间调整生活上的作息不再熬夜保证充足睡眠、也开始锻炼虽然这个经常断断续续。每天我会保证8.5个小时左右高效工作的时间给公司剩下的时间我会持续学习,在剩下的时间如果对公司未来发展感兴趣也可以投资1小时的时间,然后余下的时间是投资自己感兴趣的前沿技术如人工智能、物联网。

    那些国际大师已经通过书将自己的经验分享,这些心得不看过于可惜。后来,我也跟一些我认为的牛人包括我的老师、我上家公司的几个老板交流过,他们想法其实在很多书中都有提及,我认为我们很需要去学习一些国际大师们的经验,可能是通过书籍、视频、论坛等等方式,因为这些方法论是教会我们如何正确做事的方法。

三、从沟通到学习软件开发过程

    十个程序员中有九个会吃过沟通不足的亏,而我也不例外。我经历过因为沟通不足而导致项目严重延迟的情况,从那之后我意识到自己对软件开发过程的理解不够。我开始从《网易一千零一夜》、《人月神话》、《敏捷软件开发原则、模式与实践》、《谷歌和亚马逊如何做产品》等书中学习软件开发过程的方法。

学习之后感觉一下子扩大了自己的知识面,了解了会议的重要性、沟通的重要性、敏捷开发对于现代项目的影响等,知道如何去实践它们。像华为在内部推行敏捷开发时要求普及到每个程序员都对敏捷有一定程度的了解,我在实行敏捷中的一些方法时很多人表示不理解甚至于认为其不重要,很明显它们错了,过去的一系列让我觉得这些方法是有必要的只是它们的知识层面还达不到而已,就像你玩优秀很多明明是意识性的操作不懂的人还是会喷你菜。我认为我们需要了解软件开发过程,意识统一之后更能推动我们项目的进展。

四、设计与编码

    我认为软件设计过程最重要的就是一个解耦的过程,关于解耦面向过程的语言能做到的有限,于是我开始学习面向对象的设计原则以及设计模式为了加深自己对解耦概念的理解。主要是从《大话设计模式》、《设计模式之禅(第2版)》、《敏捷软件开发原则、模式与实践》还有一些大师级开源代码中学习。

编码设计的内容还是挺多的,早前还是先通过《代码整洁之道》、《代码大全》、《编程珠玑》、《编程之美》、《高质量C++-C编程指南》还有大师级代码中学习,当然我也有经常练习编码,因为编码的熟练度很重要。

五、关于提高产能

    软件开发过程主要包括两部分,设计相关部分与实现部分,这里的设计部分指的是你可能需要自己来设计你的程序长什么样子,可能这部分在很长一段时间内还无法用AI来实现,实现部分你可以利用一些现代工具来提升你的效率。

    我认为对于公司或个人来讲提高产能最重要的因素之一是技术积累以及代码库积累,程序员必须积累自己的私人代码库这是你的资本,公司必须积累70%关于业务相关的代码库。技术积累是关于设计部分的重用,只要做好这两点我相信无论是公司还是我们个人的产能都能有一定程度的提升。

六、总结

    目前最想讲的就以上这几点,其它的后续有更深感触的时候再写。





本文转自博客园,原文地址:https://www.cnblogs.com/gt-xy/p/10764328.html