本篇文章2474字,读完约6分钟
在最近的一次会议上,一位高层以前认为自己在中国干得很牛,但和美国的同行接触后,发现与人有很大的差距。 我在外资企业工作的时候也有过同样的感受。 只有真正和外国人接触了,才能知道差距是什么。 在这个文案中,我将从软件开发工程师的角度以“痛处”的形式谈谈我认为的差距。
技能疼痛
相当多的软件开发工程师(以下简称工程师)认为除了编码相关内容以外,其他技能并不重要。 受这种意识的驱使,很容易发生技术力量不错,但开发能力不行的普遍现象。 这种现象的另一个表现是,可以一个人做,但不能合作。
技术能力是指个人对某一技术知识掌握的深度和广度,但开发能力不仅包括技术能力,还包括项目运营过程中个人需要掌握的其他能力。
为了成为高效的团队,通过知识管理来共享个人所拥有的知识从而进行沉淀是不可缺少的。 共享方法是通过一定形式的副本和/或图来实现的。 因此,要求工程师具备使用word、powerpoint、excel、visio、uml等工具的基本能力,以及优秀的写作和表达能力。 从表面上看,由于这种能力与编码能力无关,也没有得到工程师的普遍重视,这成为了一大痛点。 其实,写作能力和表达能力与编程水平密切相关。 因为,它们考验着我们的逻辑思维和概念能力。 熟练使用必要工具软件的工程师,是否认为编程语言是知识共享的万能工具?
个体具备良好的信息表达能力是项目顺利运营的基础。 不良信息表达是指工程师在团队合作中越来越多地使用被动而不是主动报告、无法讨论、对他人指出的错误表现“自尊”或狡猾而不是感谢或认可、被邀请的各种考核活动(设计考核、代码, 在团队中,如果技术管理者不能很好地诱惑,个人信息表达能力的不足在团队中容易引起“一言堂”和“无政府主义”的问题,业务效率必然会下降。
专业精神的痛苦
很多工程师对自己的职业缺乏精神追求,工作不要求专家,只要求“代码能工作就行”。 这样的工程师往往会把经验和资历等同起来,我认为工作年越长就越有经验,但事实并非如此。 实际工作经验越长,年龄就越大,但是如果专业性没有提高,获得的经验变为零的可能性就越大。
专业是什么? 专业意味着我们必须在业界广泛达成一致从事软件开发活动。 这里的“行业”不是只指“国内”,而是指“国际”; “专业”不仅仅指技术拷贝(例如编程语言、算法等),而是软件项目运营中的其他全方位)例如开发方法、建模工具、过程、流程 为了从事专业工作,不断学习是不可缺少的,只有这样才能了解领域的动向。
软件领域虽然没有“银子弹”,但有不少比较有效地改善开发质量和效率的做法。 只有抱着专业工作的态度工作,我们才能实践这些做法,在实践中思考这些做法的内涵和不足,为自己的工作服气。 成千上万的人说:“反正行业没有银弹,那么学习做法干什么? ”请不要认为。
强调专业工作的根本目的是使我们的工作方法更加科学。 与我所认识的美国和俄罗斯等国家的工程师相比,我国的工程师专业化还有很长的路要走。
速度之痛
除非完全同意中国近年来重视gdp的快速经济发展战略,否则很可能不得不反思软件领域鼓吹的“快不破”战略,特别是互联网行业。
在商业环境中,“快”一定能获得很多竞争上的特征。 虽然工程师的价值反映在商业产品中,但千万不要忘记,我们始终是工程师,在实现商业价值的道路上不断提高自己的专业水平。 工程师必须始终明白,企业的快速发展和自己职业的快速发展并不完全统一。 如果在企业快速发展的过程中我们的专业水平没有“水涨船高”,那不仅证明我们在吃旧书,也说明我们很可能“拖后腿”。 在这种情况下,企业虽然日益涨工资,但从个人职业快速发展的角度来说,企业快速发展其实和我们“一毛钱关系都没有”。 我想没有人会认为自己今后只在这家企业做。 如果你这么想的话,你能保证企业存在几十年吗? 那时,如果不得已离开企业,薄弱的专业水平如何在人才市场上与别人竞争?
“不会马上坏掉”的误解带来的坏结果是,有些工程师为了迅速实现软件功能而忽视了专业精神。 他们一心为了速度构筑了高额的“技术债务”,在“速度”的招牌下安心地生活着。
如果把“唯快不破”改为“唯效率和质量不破”,可能很难引起误解。 说到“快”,大多数情况下,我觉得只要投入大量的时间就能达到目的,容易疏忽工作的方法和效率。 与此不同,强调效率需要考虑投入时间的生产比,而且含蓄事物的做法如果强调合乎道路才能获得效率的品质,就会提醒我们尽量不要做“豆腐”的事。 这个隐藏的复制品是我们必须专业地工作,经常提醒我们,即使承担“技术债务”,它也一定要归还。
软件领域长时间的被动加班成为速度之痛的缩影,许多工程师过着没有工作的生活。 在软件领域,如果不偶尔让他们短期加班是不可能的,但长时间被动加班绝对是个问题。 不重视效率和质量的“勤奋”,不仅是浪费,也是预见未来的短路行为。
视野的疼痛
的痛苦体现在工程师从事技术工作时忽视了了解国外的快速发展状况 因为他们不知道同质开源项目的存在,所以走上了“车轮再发明”的道路,甚至发明了“三角形圈”。 由于缺乏浏览英语资料的耐心,无法了解国际标准、订阅开源项目的邮件列表、专业网站newsletters等。
狭隘的视野容易自我满足,以为软件开发那么简单,结果成长缓慢,意识和技能“不流动”。
以我的经验,如果工程师不能很好地阅读英语资料,就不容易达到高技术水平,视野狭窄也是必然的。 另外,编程活动中命名的一环其实对我们的英语水平提出了一定的要求。 否则,容易移动名词,写出只有自己容易阅读的程序,或者在命名时找不到合适的单词,正确表达程序的意图。
持续快速发展的痛苦
以上各痛点的最终结果又带来了持续快速发展的痛苦。 这表明很少有人在项目中通过文档提高开发效率很少有人持续改善软件的设计质量大部分人只关注短期完成工作而忽视了短期行为带来的高昂的隐性价格
由于持续快速发展的痛苦,工程师不容易轻装上阵,工作精力被过度消耗,不用于学习和思考,而用于重复、低级琐事。 结果,虽然把工作变成了“青春之饭”,但是辛苦也看不到好的未来。
标题:“说一说中国软件开发工程师之痛”
地址:http://www.sdsxywx.com/sdss/4594.html