程序员成长的10条体会
成长往往需要的是成功的经验,作为一个半吊子全栈工匠和一个20多年的老码农,却没有什么所谓的成功经验,体会却也不算少,知道“纸上得来终觉浅,绝知此事要躬行”。
成长
1.卖炭得钱何所营?——理解商业价值
“谈钱不伤感谢”,尽管感动我们的最终还是情怀。不必苛求自己像老板那样思考, 但是要了解自己的工作对所在公司的价值。进一步,对自己产出物的质量负责,关注功能的丰富性和速度。
自己的工作不仅仅是编写代码,而是尽可能地做出正确的决定,为公司的成功提供助力,这需要理解什么才是真正重要的。这也符合德鲁克对企业的定义。
2.风定小轩无落叶——做到专业可靠
把自己想象成一个专业人士,并且表现得像一个专业人士。按时参加会议并做好准备,然后集中注意力。实现自己的承诺,当事情出错时积极主动地交流。在百度,被总结为“简单可依赖”。
保持冷静,恭敬地表达反对意见,向同事表示尊重和赞赏。将抱怨最小化,让周围的人振作起来,而不是让他们失望。每个人都欣赏真正的专业人士,更重要的是,这是正确的行为方式。
3.春风放胆来梳柳——行为积极主动
“态度决定一切”,Be proactive 是第一要素。了解团队和公司的使命,不要等着别人告诉自己,而是自己思考什么是需要做的,去做或者去倡导它。
一般地,管理者依赖于工程师的创造力和智慧,而不是他们自己凭空想出来的。关于ABC,可以参考老曹眼中研发管理二三事。
4.黄沙百战穿金甲——熟练掌握工具
追求精通自己的手艺,这才是自己吃饭的家伙。熟练掌握编程语言、编辑器、调试器、编译器、 IDE、数据库、网络工具和 Linux命令等,可能是提高开发速度的最佳方式。
当遇到一种新的技术或命令时,要比自己认为必须要做的更加深入才行。 这样才会会一次又一次地学到对自己有用的技巧,这或许就是所谓的工匠精神,尽管自己可能处在一个不允许工匠生存的环境。
5.未觉池塘春草梦——管理自己作业
“未觉池塘春草梦,阶前梧叶已秋声”,时间是最大的财富。时间管理先从自我管理开始,决定什么事该做,什么事不该做。
进而,了解自己所在项目的依赖关系图,确保关键部分有owner,写好计划和状态的概要,并主动告知利益相关者计划和进展。所有这些都使自己能够承担更大的项目,并为掌握领导力做好充分的准备。
6.江涵秋影雁初飞——乐于沟通分享
做到定期地、组织良好地沟通可以建立合作者的信心和善意,那年奇老板在百度开创“简单之约”,一直延续至今。对于我们自己的小团队,更不要忽略沟通,“over communication ”也并非不可以。
知识共享可以创造学习和友情的氛围,分享知识,并定期向利益相关者通报项目目标、进展和障碍。在会议上讲话和发言是明智的行为,坦诚或许是最低的社交成本。
7.同舟共济扬帆起——寻找合作机会
积极地寻找合作的机会,良好的合作不仅可以增加自己的影响力,还可以提高自己在组织中的知名度,尤其是那些跨部门的合作。
作为一名工程师,大幅提升技能可能需要影响力超越自己所编写的代码,而提升职业生涯,在一定程度上,需要在公司建立一个个人品牌。跨职能的项目和专业的、相互尊重的合作对两者都至关重要。
8.清凉景界限尘纷——不给自己画界
学会不为自己画定界限,通过说服、技术升级或创造去寻找方法,尽管有时候会惹人讨厌。
但是,我们的工作不仅仅是编写代码,然后等待其他的一切就绪;而是弄清楚如何用自己的努力来创造价值,就如同架构设计的初衷——以终为始。
9.片言可以明百意——提高写作能力
在十年寒窗中,对自己影响最深的是自己初中的班主任——教语文的李老师,言为心声,李老师把写作文变成了我的一种乐趣,只可惜老人家已经仙逝,无缘把酒聆听您的教诲了。
清晰的技术性写作可以减少合作中的分歧,大大提高自己的说服力、信息传达力和教学能力。记住自己的受众是谁,了解他们想知道什么,写得尽量清晰简明,并且几乎总是要包含一个或多个的解决方案。
10.莫向光阴惰寸功——终身教育学习
人生是一次长跑,职业生涯应该是一段不断成长的旅程,但没有人能保证你的成长。
找一种方法,让学习成为日常生活的一部分(甚至每天半小时) ; 找到值得阅读的文件和书籍,从头到尾阅读自己使用的技术文档;找到志同道合的朋友,提出并思考心中的困惑。尽管,有时候显得很难。
IMG_6007.JPG坚持是关键,养成习惯,“博观而约取,厚积而薄发”。