中国软件工程师之痛

一位中国软件工程师的感言 一位中国软件工程师的感言 这位先生说的很好,转载一下 立即下载

在近期的一次会议上,有高层谈到之前在中国觉得自己做得很牛,但与美国同行接触后却发现与人家存在很大的差距,这一点我在外企工作时也有过同样的体会。真正与外国同行接触后才会知道什么是差距,在这篇文章中我从软件开发工程师的角度以“痛点”的形式来谈一谈我所认为的差距。


技能之痛

相当数量的软件开发工程师(后面简称为工程师)认为除了与编码相关的内容外,其他技能都不重要。在这种意识的引导下,很容易出现的一个普遍现象是技术能力不错,但开发能力却不行。这种现象的另一种表现是:单干可以,合作不行。


技术能力是指个体对某些技术知识掌握的深度和广度,而开发能力除了包含技术能力外,还涵盖个体在项目运作过程中所需掌握的其他能力。


高效的团队一定离不开通过知识管理将个体所掌握的知识通过分享而沉淀下来。分享途径无外乎通过一定形式的文字和(或)图,这就要求工程师掌握使用象Word、PowerPoint、Excel、Visio(和UML)这类工具的基本能力,并具备良好的写作与表达能力。表面看来这种能力与编码能力无关,因而也得不到工程师的普遍重视,也因此成了一个痛点。其实,写作与表达能力与编程水平息息相关,因为它们都在考验我们的逻辑思维和概念能力。忽视掌握必要工具软件的工程师难道以为编程语言是知识分享的万能工具?


个体具备良好的沟通能力是项目顺利运作的基石。不良沟通表现为:工程师在团队合作中更多采用被动询问而非主动汇报、不会辩论、对于他人指出的错误表现得“自尊”和狡辩而非感谢或承认、对于被邀请的各类审查活动(如设计审查、代码审查、文档审查)不是积极响应而需别人催促。在团队中,如果技术管理者不能很好地引导,个体沟通能力的缺乏很容易在团队中引发“一言堂”或“无政府主义”问题,工作效率低下则是必然。


专业精神之痛

不少工程师对于自己的职业缺乏精神上的追求,工作起来不求专业,只求“代码能工作就行”。这类工程师容易将经验与资历等同,以为工作年份越长就越有经验,实则不然。工作年份越长资历是越老,但如果专业水准没有在过程中不断提高的话,所获得的经验很可能趋零。


什么是专业?专业是指我们应以业内所广泛达成的共识去从事软件开发活动。这里的“业内”并非只指“国内的”,而是指“国际的”;“专业”也并非单指技术内容(比如,编程语言、算法等),还包含软件项目运作中的其他各个方面(比如,开发方法、建模工具、流程、质量保证手段等)。要做到专业做事一定离不开不断地学习,只有这样才能了解行业的动向。


软件行业虽然没有“银弹”,但仍存在不少有效改善开发质量与效率的方法。只有抱着专业做事的态度去工作,我们才有可能去实践这些方法,并在实践过程中思考这些方法的内涵与不足,进而为自己的工作量体裁衣。千万不要认为“反正业内没有银弹,我要去学那么多方法干什么?”


强调专业做事的根本目的,是使我们的做事方法更科学。与我所了解的美国、俄罗斯这些国家的工程师相比,我国工程师的专业化还有很长的路要走。


速度之痛

除非你完全认可中国近些年以GDP为导向的经济发展策略,否则很可能得反思一下软件行业所鼓吹的“唯快不破”策略,尤其是互联网领域。


在商业环境中,“快”能获得很多竞争优势,这毋庸置疑。工程师的价值虽得(最终)体现在商业产品上,但千万不要忘记了我们始终是一名工程师,在实现商业价值的道路上不断提高自己的专业水准无论如何都不应被忘记。工程师始终要明白,公司的发展与自身的职业发展并非完全统一。如果在公司的发展过程中我们的专业水准并没有“水涨船高”,那除了说明我们在吃老本外,还表明我们很可能是在“拖后腿”。在这种情形下,即使公司蒸蒸日上地给我们发薪水,但从个体职业发展的角度说来,公司发展其实与我们“一毛钱关系都没有”。我想不致于有人认为自己以后只会在这一家公司干吧!如果真是那样想,你能保公司几十年存在?届时万一得无奈地离开公司,单薄的专业水准又如何在人才市场与他人竞争?


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


如果将“唯快不破”改为“唯效率与质量不破”或许更不容易形成误解。一说到“快”,给人的感觉往往是投入更多的时间就能达成目的,容易让人忽视做事的方法与效率。与之不同的是,强调效率需要我们考量投入时间的产出比,且暗示做事的方法只有对路才能获得效率;强调质量则提醒我们尽量别做“豆腐渣”之事,而这隐含的内容是我们必须专业做事,即使欠下了“技术债”它也时刻提醒着我们那是一定要还的。


软件行业的长期被动加班成为了速度之痛的一个缩影,它让不少工程师过着有工作没生活的日子。软件行业要避免偶尔、短期的加班是不可能的,但长期的被动加班绝对是个问题。不重视效率与质量的“勤劳”除了是在浪费外,更是一种透支将来的短视行为。


视野之痛

视野之痛体现在工程师在从事技术工作时,忽视了解国外的发展状况。他们因为不知道同质开源项目的存在而走上“重新发明轮子”的道路,甚至发明出“三角形的轮子”;也因为对英文资料缺乏阅读的耐心而不去了解相关国际标准、订阅开源项目的mailing list和专业网站的newsletters等。


狭窄的视野很容易让人自满,以为软件开发就是那么简单,最后导致成长慢、意识与技能“不入流”。


以我的经验来看,工程师如果不能很好地阅读英文资料则要达到高技术水平实在很难,视野狭窄也恐成必然。另外,编程活动中的命名环节其实对我们的英语水准提出了一定的要求,不然很容易动名词不分而写出只有自己容易读懂的程序,或常出现命名时找不到合适的单词去精确表达程序意图。


持续发展之痛

以上各痛点的最终结果又给我们带来了持续发展之痛。其表现为:少有人会在项目中通过文档提升开发效率;鲜有人会持续改善软件的设计质量;大部分人只关注短期完成工作,而忽视短期行为所带来的高额隐性成本。


持续发展之痛使得工程师很难轻装上阵,工作精力过多花费在重复、低级的琐事上,而非用于学习和思考。最终结果是将工作变成了“青春饭”,辛苦但却看不到美好的未来。


所有痛点可以归结为意识的陈旧,或虽有意识却无力于将其转变为能力!(注:意识是一种行为,而非能力)

UE4_SpeedTree Shader源码分析 目录 1.UMaterialExpressionSpeedTree::Compile 2.Compiler->SpeedTree 3.GetSpeedTreeVertexOffset 4.Scene中的SpeedTree应用 (Scene->UpdateSpeedTreeWind) 5.GetSpeedTreeVertexOffsetInner 由于之后做风场,也需要在S... 阅读详情

相关推荐

闲鱼虚拟商品自动发货神器XianYuAutoDeliveryX:从配置到对接大模型的完整指南

本文提供了一份关于闲鱼虚拟商品自动发货神器XianYuAutoDeliveryX的完整配置与实战指南。详细介绍了从环境搭建、账号安全配置到核心自动化流程的设置,并重点讲解了如何对接大语言模型API,实现智能对话回复,从而构建一套无人值守的闲鱼店铺自动化运营系统。

gray5的博客 1373

中国软件开发工程师之痛

在近期的一次会议上,有高层谈到之前在中国觉得自己做得很牛,但与美国同行接触后却发现与人家存在很大的差距,这一点我在外企工作时也有过同样的体会。真正与外国同行接触后才会知道什么是差距,在这篇文章中我从软件开发工程师的角度以“痛点”的形式来谈一谈我所认为的差距。技能之痛相当数量的软件开发工程师(后面简称为工程师)认为除了与编码相关的内容外,其他技能都不重要。在这种意识的引导下,很容易出现的一个普遍现象...

weixin_33755847的博客 210

AlphaFold2算法详解

正文:https://www.nature.com/articles/s41586-021-03819-2 补充文件:https://static-content.springer.com/esm/art%3A10.1038%2Fs41586-021-03819-2/MediaObjects/41586_2021_3819_MOESM1_ESM.pdfhttps://static-content.springer.com/esm/art%3A10.1038%2Fs41586-021-03819-2/Med

Daisy4的博客 1万+

程序员背后的心酸日常,你懂多少?

(点击上方公众号,可快速关注)我们打开一个网站可能只需要几秒钟的时间。但是了解程序员或开发员的都知道。其实每个网站背后都有一个,日夜奋斗的程序员/开发员...

程序员之家 509

【python】geopandas库安装出现各种问题?可以看看这篇文章

geopandas的安装方法

jgsecurity的博客 3888

2026款拯救者Y9000P深度学习环境配置指南

这套环境适配 2026 款拯救者 Y9000P 的 RTX5060,可直接用于 CV(图像分类、检测)、NLP 等 PyTorch 深度学习任务,GPU 利用率正常,无兼容性问题。后续复现环境时,直接按本文步骤操作即可~

大糊涂虫 2642

软件开发人员的“七重苦”

导读:软件开发这个行业无疑的是有快乐的,但这篇文章里,我们先不关注他,而是要来看看那些让人痛苦的地方。有时候想想,人作为一种生物还是挺有意思的。快乐的东西快乐过了,也就忘了,记的牢的的反倒是些让人不快乐的东西。 第一重:垃圾代码 佛家总讲成住坏空,软件亦莫能外。唯一有点特别的是,软件“住”的阶段短,“坏”的阶段来的快。要想软件保持不“腐败”,其实要花的精力远比想的多,这导致在商业利益比较强

CSmileTiger的专栏 547

Win11 24H2共享访问被禁?深入聊聊SMB签名和‘不安全的来宾登录’那点事

本文深入解析Win11 24H2共享访问故障,探讨SMB签名的安全机制与‘不安全的来宾登录’问题。提供从注册表修改到组策略配置的多层次解决方案,特别针对家庭网络和打印机共享场景给出实用建议,帮助用户在安全与便利之间找到平衡。

weixin_42556197的博客 568

研发管理和项目管理有哪些痛点?

开发软件以改善业务流程,建造建筑物或桥梁,自然灾害后的救援工作,将产品销售扩展到新的地理市场中,这些都是项目,都需要通过项目管理促成项目目标达成。项目管理就是将知识、技能、工具和技术应用到项目活动中以满足项目要求的过程。项目管理如今已发展为一门学科,帮助项目团队和项目管理者解决管理痛点,提升项目效率。那么项目管理和软件研发管理中都有哪些常见的痛点,又应该如何解决呢? 一、全局视角看项目管理的痛点: 1、传统的项目管理通常存在的痛点有: ①外部市场环境变化影响需求,但项目计划无法进行相应变更 .

ONES研发管理工具 2347

kali2020.2安装出现的问题并附详细解决办法

kali2020.2的安装

weixin_48776804的博客 3049

6.4 直流无刷电机(BLDC):测试与性能评估

本文系统阐述了直流无刷电机(BLDC)的测试与性能评估方法,涵盖参数测量、性能测试、测试平台设计及可靠性评估。详细介绍了绕组电阻、电感和反电动势的测量原理与修正方法,以及转矩-转速特性、效率分析和动态响应测试的技术要点。通过搭建高精度测功机系统,结合自动化数据处理,实现对电机性能的全面评估。最后讨论了温升、振动、EMC等特殊测试方法,为BLDC电机的设计验证和质量控制提供了完整的技术路径。

技术工作者 444

软件 项目管理 痛点_现代软件开发的五个痛点以及如何克服它们

软件 项目管理 痛点 如今,精通数字的客户需要高质量的软件和网站,他们认为供应商将为他们提供最新的功能。 但是,保持客户的参与度和满意度需要敏捷的应用程序开发流程和技术 ,更不用说具有利用最新开发工具,技术和方法的技能的软件工程师。 结果,软件开发人员的世界变得越来越具有挑战性。 让我们看一下现代软件开发人员的五个关键痛点,以及如何克服它们。 [ 小心! 每个开发人员应该避免的8个职业陷...

cxu0262的博客 1861

beegfs读取文件完整流程分析

读取小于512KB文件数据,小于1s 读取15MB文件数据,花费7秒。

wfzy的博客 836

中国与印度软件工程师之比较…

原文地址:中国与印度软件工程师之比较(转)作者:insdili在工作中,接触到印度软件公司开发出来的软件: 整个体系架构非常清晰,按照我们的要求实现了全部功能,而且相当稳定。但是打开具体的代码一看,拖沓冗长,水平不咋样。我们自己的一些程序员就有怪话了,说他们水平真低。但是! 印度人能够把软件整体把握得很好,能够完成软件,并得到相当好的设计文档。而中国人在那里琢磨数据结构、算法,界面人员就还没编码就

白客居 2766

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

助理软件工程师_怎么样才算是一名真正的软件工程师?

1怎么样才算是一名真正的软件工程师?软件工程师可能很多人听说过,但是身边要么是java开发工程师,php开发工程师,C语言工程师等单一的工程师,软件工程师是熟练多种开发编程语言的全能开发工程师。02为什么说软件工程师是全能的开发工程师呢?软件开发工程师比全栈工程师要求还要多,所谓全栈工程师是从无都有完整开发网站,只要你会前端开发加上一种后台编程语言,就可能算是全栈工程师,但是软件工程师是一个广义的...

weixin_39771969的博客 1195

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java软件工程师 (职业简介)

Java软件工程师 引言:信息时代的迅猛发展使得软件工程师十分抢手,而其中的java软件工程师更是备受青睐。那么,如何才能成为Java软件工程师?Java软件工程师又有怎样的发展前途?本文将为你一一解答。   无处不在的Java技术   全球有25亿Java器件运行着Java,450多万Java开发者活跃在地球的每个角落,数以千万计的Web用户每次上网都亲历Java的威力。从桌面办公应用到网

King-Blog 8001

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

印度软件和中国软件工程师_如何成为印度的软件工程师?

印度软件和中国软件工程师Engineer. One of the most respected words in the dictionary of an Indian parent. If there is any other thing that is more desired by an Indian parent apart from “Roti, Kapda and Makaan” as...

culing2941的博客 1119

中国软件外包面临规模与人才之痛

虽然发展迅速,但中国软件外包面临规模与人才之痛,与印度的差距亦显而易见    结束了沈阳、东京还有纽约三地连线的电话会议后,方发和习惯性地看了看手表,时间指向上午9点半。   当天是1月13日,一个普通的星期六,作为东软集团有限公司副总裁兼首席技术官,方发和却不能和平常人一样享受周末的轻松。现在他主抓东软的离岸外包业务,在刚刚过去的2006年,这项业务为公司创造了1亿美元的收入,而当年

freshlover的专栏 1886

做一名真正的软件工程师

中国大量的软件从业者只是码农、程序员和开发者,而不是软件工程师。所谓的“内卷“是因为中国缺少真正的软件工程师。真正的软件工程师可以高效和创造性的工作,无惧内卷。从码农升级到软件工程师,对于从业者和中国都有巨大的意义,应该成为每一名从业者追求的目标。......

weixin_52406291的博客 192

软件工程师和程序员到底有什么区别?

软件工程师和程序员到底有什么区别? 1. 有些人说程序员主要是指写代码的人,而工程师着重在于设计。 有些人说程序员和软件工程师的区别是:软件工程师不但要有编写程序代码的能力而且更重要的是要懂得如何去开发一个软件,怎样去学习实际的Ul的观念。 有些人说就是工厂里面技术员和工程师的区别。技术员是熟练工人,工程师是设计者。 程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系

qq_44895127的博客 6477

【新加坡】软件工程师工签政策、求职指南

虽然没有直接针对中国软件工程师的特定经验分享,但研究表明,许多跨国公司在新加坡有多元化的团队,包括大量中国专业人士。此外,考虑到2025年的市场动态,软件工程领域在新加坡需求旺盛,尤其是在AI、云计算和金融科技领域。此外,作为中国求职者,您可能会发现新加坡的华人社区较大,这可能有助于文化适应。这些平台中,LinkedIn和Go Lion City app可能特别有用,尤其是Go Lion City因其针对中国求职者的定制服务而脱颖而出。这意味着在申请前,您需要先获得新加坡公司的录用。

Dontla的博客 2936

硬件工程师 VS 软件工程师

关注、星标公众号,不错过精彩内容文章来源:电子工程师笔记关于软件工程师和硬件工程师总有太多的话题。常态往往是这样滴:板子出问题了,硬件工程师:肯定是软件的原因!软件工程师:绝对是硬件的问...

strongerHuang 2426
上一篇: iOS中图像分辨率问题处理方法
下一篇: 我要做哪一只苹果虫?
明理明智
博客等级 码龄15年 7粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值