明天要进行部门的知识分享,因此写了这篇文章,刚写完就想发出来,不管观点对错,都但愿能启发一些人的思考。程序员
在写这篇文章的时候个人第一反应就是想写工匠之心,我认为一个合格的程序员应该要对它的做品负责,在有限的条件中尽量地将做品完成。那时我一直认为本身是一名“冒牌程序员”,由于总感受少了点东西,如今的我之因此再也不认为本身是“冒牌程序员”的缘由是后来我看到一个女生的博客,长相看着还算顺眼,那时候看完她的博客我鸡皮疙瘩都出来了,在她身上我注意到了工匠之心,我终于明白会认为本身是冒牌货的缘由,自那之后,我都会在有限的资源(时间、成本、范围、质量)内将本身的做品完成好。编程
从事IT这行大部分人都很单纯(想要获取一些经济来支撑有幸福感的生活),正是由于单纯他们很努力,傻傻一天干到晚,我常常在想我如何才能在这群人中脱颖而出、如何才能在之后不被淘汰,因而我常常以为时间不够用。在时间有限的状况下很天然而然的开始想着如何提升本身的效率,我开始运用在《程序员修炼之道》、《程序员的职业素养》、《代码大全》、《高效程序员的45个习惯:敏捷开发修炼之道》等书中学习到的知识,为了成为一个高效的程序员。设计模式
《程序员修炼之道》是个人第一本启蒙书,自那之后我就开始持续学习、工做时间调整生活上的做息再也不熬夜保证充足睡眠、也开始锻炼虽然这个常常断断续续。天天我会保证8.5个小时左右高效工做的时间给公司剩下的时间我会持续学习,在剩下的时间若是对公司将来发展感兴趣也能够投资1小时的时间,而后余下的时间是投资本身感兴趣的前沿技术如人工智能、物联网。工具
那些国际大师已经经过书将本身的经验分享,这些心得不看过于惋惜。后来,我也跟一些我认为的牛人包括个人老师、我上家公司的几个老板交流过,他们想法其实在不少书中都有说起,我认为咱们很须要去学习一些国际大师们的经验,多是经过书籍、视频、论坛等等方式,由于这些方法论是教会咱们如何正确作事的方法。学习
十个程序员中有九个会吃过沟通不足的亏,而我也不例外。我经历过由于沟通不足而致使项目严重延迟的状况,从那以后我意识到本身对软件开发过程的理解不够。我开始从《网易一千零一晚上》、《人月神话》、《敏捷软件开发原则、模式与实践》、《谷歌和亚马逊如何作产品》等书中学习软件开发过程的方法。编码
学习以后感受一会儿扩大了本身的知识面,了解了会议的重要性、沟通的重要性、敏捷开发对于现代项目的影响等,知道如何去实践它们。像华为在内部推行敏捷开发时要求普及到每一个程序员都对敏捷有必定程度的了解,我在实行敏捷中的一些方法时不少人表示不理解甚至于认为其不重要,很明显它们错了,过去的一系列让我以为这些方法是有必要的只是它们的知识层面还达不到而已,就像你玩优秀不少明明是意识性的操做不懂的人仍是会喷你菜。我认为咱们须要了解软件开发过程,意识统一以后更能推进咱们项目的进展。人工智能
我认为软件设计过程最重要的就是一个解耦的过程,关于解耦面向过程的语言能作到的有限,因而我开始学习面向对象的设计原则以及设计模式为了加深本身对解耦概念的理解。主要是从《大话设计模式》、《设计模式之禅(第2版)》、《敏捷软件开发原则、模式与实践》还有一些大师级开源代码中学习。spa
编码设计的内容仍是挺多的,早前仍是先经过《代码整洁之道》、《代码大全》、《编程珠玑》、《编程之美》、《高质量C++-C编程指南》还有大师级代码中学习,固然我也有常常练习编码,由于编码的熟练度很重要。设计
软件开发过程主要包括两部分,设计相关部分与实现部分,这里的设计部分指的是你可能须要本身来设计你的程序长什么样子,可能这部分在很长一段时间内还没法用AI来实现,实现部分你能够利用一些现代工具来提高你的效率。视频
我认为对于公司或我的来说提升产能最重要的因素之一是技术积累以及代码库积累,程序员必须积累本身的私人代码库这是你的资本,公司必须积累70%关于业务相关的代码库。技术积累是关于设计部分的重用,只要作好这两点我相信不管是公司仍是咱们我的的产能都能有必定程度的提高。
6、总结
目前最想讲的就以上这几点,其它的后续有更深感触的时候再写。