中国软件开发工程师之路到底在何方?

在近期的一次会议上,有高层谈到之前在中国觉得自个做得很牛,但与美国同行触摸后却发现与人家存在很大的距离,这一点我在外企作业时也有过相同的领会。真正与外国同行触摸后才会晓得啥是距离,在这篇文章中我从软件开发工程师的视点以“痛点”的方式来谈一谈我所认为的距离。


技术之痛

适当数量的软件开发工程师(后边简称为工程师)认为除了与编码有关的内容外,其他技术都不重要。在这种认识的引导下,很简略呈现的一个遍及表象是技术才干不错,但开发才干却不可。这种表象的另一种体现是:单作能够,协作不可。


技术才干是指个别对某些技术常识把握的深度和广度,而开发才干除了包括技术才干外,还包括个别在项目运作过程中所需把握的其他才干。


高效的团队必定离不开经过常识办理将个别所把握的常识经过共享而沉积下来。共享路径无外乎经过必定方式的文字和(或)图,这就需求工程师把握运用象Word、PowerPoint、Excel、Visio(和UML)这类东西的底子才干,并具有杰出的写作与表达才干。外表看来这种才干与编码才干无关,因而也得不到工程师的遍及注重,也因而成了一个痛点。其实,写作与表达才干与编程水平息息有关,由于它们都在检测咱们的逻辑思维和概念才干。无视把握必要东西软件的工程师莫非认为编程言语是常识共享的全能东西?


个别具有杰出的交流才干是项目顺畅运作的柱石。不良交流体现为:工程师在团队协作中更多选用被迫问询而非自动报告、不会争辩、关于别人指出的过错体现得“自负”和狡赖而非谢谢或供认、关于被约请的各类检查活动(如描绘检查、代码检查、文档检查)不是积极响应而需别人敦促。在团队中,若是技术办理者不能极好地引导,个别交流才干的缺少很简略在团队中引发“一言堂”或“无政府主义”疑问,作业功率低下则是必定。


专业精神之痛

不少工程师关于自个的作业缺少精神上的寻求,作业起来不求专业,只求“代码能作业就行”。这类工程师简略将经历与资格同等,认为作业年份越长就越有经历,实则否则。作业年份越长资格是越老,但若是专业水准没有在过程中不断提高的话,所取得的经历很可能趋零。


啥是专业?专业是指咱们应以业界所广泛到达的一致去从事软件开发活动。这里的“业界”并非只指“国内的”,而是指“世界的”;“专业”也并非单指技术内容(比方,编程言语、算法等),还包括软件项目运作中的其他各个方面(比方,开发办法、建模东西、流程、质量保证手法等)。要做到专业干事必定离不开不断地学习,只要这样才干知道作业的意向。


软件作业尽管没有“银弹”,但仍存在不少有用改进开发质量与功率的办法。只要抱着专业干事的情绪去作业,咱们才有可能去实习这些办法,并在实习过程中考虑这些办法的内在与缺少,进而为自个的作业因地制宜。千万不要认为“横竖业界没有银弹,我要去学那么多办法干啥?”


着重专业干事的底子目的,是使咱们的干事办法更科学。与我所知道的美国、俄罗斯这些国家的工程师比较,中国工程师的专业化还有很长的路要走。


速度之痛

除非你彻底认可中国近些年以GDP为导向的经济开展战略,否则很可能得反思一下软件作业所宣扬的“唯快不破”战略,尤其是互联网范畴。


在商业环境中,“快”能取得许多竞赛优势,这毋庸置疑。工程师的价值虽得(结尾)体现在商业商品上,但千万不要忘掉了咱们一直是一名工程师,在完结商业价值的路途上不断提高自个的专业水准无论如何都不该被忘掉。工程师一直要理解,公司的开展与本身的作业开展并非彻底一致。若是在公司的开展过程中咱们的专业水准并没有“水涨船高”,那除了阐明咱们在吃老本外,还标明咱们很可能是在“拖后腿”。在这种景象下,即便公司欣欣向荣地给咱们发薪水,但从个别作业开展的视点说来,公司开展其实与咱们“一毛钱联络都没有”。我想不致于有人认为自个今后只会在这一家公司干吧!若是真是那样想,你能保公司几十年存在?到时万一得无法地脱离公司,单薄的专业水准又如安在人才市场与别人竞赛?


对“唯快不破”的误解所带来的不良后果是,有些工程师为了疾速完结软件功用而疏忽了专业精神。他们一味地为了速度而筑下高额的“技术债”,乃至在“速度”的幌子下过得心安理得。


若是将“唯快不破”改为“唯功率与质量不破”或许更不简略构成误解。一说到“快”,给人的感受往往是投入更多的时辰就能到达目的,简略让人无视干事的办法与功率。与之不一样的是,着重功率需求咱们考量投入时辰的产出比,且暗示干事的办法只要对路才干取得功率;着重质量则提示咱们尽量别做“豆腐渣”之事,而这隐含的内容是咱们有必要专业干事,即便欠下了“技术债”它也时辰提示着咱们那是必定要还的。


软件作业的长时间被迫加班成为了速度之痛的一个缩影,它让不少工程师过着有作业没日子的日子。软件作业要防止偶然、短期的加班是不可能的,但长时间的被迫加班肯定是个疑问。不注重功率与质量的“勤劳”除了是在糟蹋外,更是一种透支将来的短视行动。


视界之痛

视界之痛体现在工程师在从事技术作业时,无视知道国外的开展情况。他们由于不晓得同质开源项目的存在而走上“从头创造轮子”的路途,乃至创造出“三角形的轮子”;也由于对英文材料缺少阅览的耐性而不去知道有关世界标准、订阅开源项目的mailing list和专业网站的newsletters等。


狭隘的视界很简略让人自满,认为软件开发即是那么简略,结尾致使生长慢、认识与技术“不入流”。


以我的经历来看,工程师若是不能极好地阅览英文材料则要到达高技术水平真实很难,视界狭隘也恐成必定。别的,编程活动中的命名环节其实对咱们的英语水准提出了必定的需求,否则很简略动名词不分而写出只要自个简略读懂的程序,或常呈现命名时找不到适宜的单词去准确表达程序目的。


继续开展之痛

以上各痛点的结尾成果又给咱们带来了继续开展之痛。其体现为:少有人会在项目中经过文档晋升开发功率;鲜有人会继续改进软件的描绘质量;大多数人只重视短期完结作业,而无视短期行动所带来的高额隐性本钱。


继续开展之痛使得工程师很难轻装上阵,作业精力过多花费在重复、初级的小事上,而非用于学习和考虑。结尾成果是将作业变成了“芳华饭”,辛苦但却看不到夸姣的将来。


一切痛点能够归结为认识的陈腐,或虽有认识却无力于将其转变为才干!(注:认识是一种行动,而非才干)


当然,这些“痛”与中国的社会大环境有着严密的联络。但无论是如何的环境,总有人做得超卓,或许他们身上有咱们所没有的内容。是啥?只要自个去想、去悟,生长之痛! 即便大环境好了、我们都很“专业”,职场的“金字塔”总是摆在那的。谁能向上走?走多远?全赖自己,没有shortcut!只不过每自己都平等地具有向上走的机会与权利!


这篇文章出自 “至简李云” 博客,请必须保存此出处http://yunli.blog.51cto.com/831344/1254944


你可能感兴趣的:(工程师)