百科问答小站 logo
百科问答小站 font logo



如何看待「大部分程序员只会写三年代码」的说法? 第1页

  

user avatar   yao-dong-27 网友的相关建议: 
      

明年就是我从业二十周年了,要写个程序庆祝下。


user avatar   s.invalid 网友的相关建议: 
      

我的第一个老板也是这样想的。


所以在我辞职6年之后,他们不知用什么方式辗转拿到了我的手机号:“你的那个系统我们现在找不到人维护……你走后先是xxx,后是yyy,然后是zzz……都接不下……然后一直是小M维护的,他水平不行,很多问题一直没解决……去年小M觉得压力太大,辞职了……现在一年多了,还没人能接手”……



这个项目当年在六家公司手里辗转两年半,没一点眉目。后来由我和另一位同事给搞定了。

之后给用户试用,发现原始需求/设计有很多问题。我和用户沟通之后总结了40多条意见,独自负责制定方案并完成“二期工程”后,这才通过验收。

这套软件在国家xx部一炮打响,至今十几年了,公司简介里仍称其为“XX行业最先进的软件……占有全国30%以上的市场”。


项目成功并与国家XX部搭上关系后,公司雇了某211高校的一教授带着自己的研究生来“设计协议”,大概想要借此“为国家xx行业制定标准”然后“一流公司卖标准”。

这位教授只会天天拉人开会,技术方面嘛……极简单个小问题,他折腾三天都搞不定;我随口说可以如何如何做……于是第二天就被排挤出去,到某地和之前突然消失的那些同事们一起“修bug”去了。

那里没暖气,一个冬天右脚5根脚趾有3根冻成了萝卜;所以到第二年就辞职了。这个公司后来怎样就不知道了。

不过从后来那个电话看,似乎不仅没能卖上标准,就连能接手维护的人都没找到——最好的一个也不过是“干了几年积了一堆问题压力太大辞职了”。


嗯,我当然没回去。因为当时拿的薪水已经让他们当场沉默了,几年后又翻了次倍……


PS:我这人很“书呆子”。当时公司压根没文档这一说,我仍然坚持“先设计后编码”;编码时也严格遵循各种编码规范;所以留下那个项目文档齐全,注释详尽——哪怕按现在的眼光看,很多公司的文档还达不到这个水平。

当然,用现在的标准看,那个项目做的并不怎么好;但相比于“维护了三四年问题越来越多”的,恐怕还是高了那么一点点。

——前面说过,这个项目是先收集40多条意见大修后才通过验收的。然后实践中又提出了不少新需求;代码质量嘛……反正后面有接近一年,都是客户上午提意见、我下午出补丁包,然后测试组不测,直接给客户安装。先后打过若干个补丁,客户才逐渐不提意见了。期间一直保持0 bug(所以测试组才不测)。可见这个项目并不是那么难维护的(嗯,这可能也是那位可怜的小M一直“压力很大”的原因之一)。


至于那些“只会写三年代码”的“大部分程序员”,我以为他们比起那位小M,可能还要低上那么一点点——恐怕这也正是他们“只会写三年代码”的真实原因吧。


user avatar   moon-silver 网友的相关建议: 
      

你们不要喷题主,其实那人也没说错。

你们仔细看看那段话就明白了:

我记得我曾经在一家软件公司做银行的票据系统

这是什么公司呢?为传统企业定制内部系统的外包公司。

这种公司里面确实是懂业务的比懂技术的吃香,因为他们做的东西确实没太多技术含量。

而且这种公司盈利的增长点也不是新技术提高生产力,而是通过重复利用旧系统来压低人力和时间成本赚钱。

他们不会采用新技术,毕竟稳定才是第一位的,而且投入新技术伴随着更大的成本。

他们也不需要设计师,企业内部系统反正丑不丑将就着用就行了。

而“懂业务”则是非常重要的,也是很难的。

并不是说业务规则有多复杂,而是因为这种企业一般缺乏良好的文档规范甚至没有文档。

有很多隐藏很深的feature,只靠员工们口口相传——甚至到最后没有人知道需求的细节是什么样的。

当然,这也就进一步阻止了公司技术的积累——你没有办法用新技术来改善旧系统,你的每一行重构代码都会引入难以想象也难以排查的bug。

在这样的公司,很多年轻人做了不到三年就辞职了——或转行,或去了其他公司;留下的人经过多年的积累和填坑,对旧系统任务了解的也差不多了,就升了管理职,专门负责给新人讲解业务。

公司里最值钱的人才是懂业务的,这也是经验积攒出来的

这个作者并没有胡说,他只是在他眼界的范围内讲了一点点他的经验。


user avatar   lu-luce 网友的相关建议: 
      

这个其实有点道理。就好像小学数学老师一辈子只能教加减乘除一样。

我相信很多小学数学老师会微积分,但是他们终其一生没有机会在工作中展示。


user avatar   ddddbbmm 网友的相关建议: 
      

清晰描述了中国软件行业当前的技术水平。


正如以前同事说的:在撕逼(内卷)层面,必须是团队里最聪明最精华的部分,否则要吃大亏;管理层面也是一样。最优秀的人一定不能去做技术。

软件只要能跑就好了。问题多反而增加不可替代性。不行就申请招人——一方面增加团队人数,扩大势力底盘。另外一方面会凸显自己团队的重要性,试探老板的态度。很多蠢老板真的吃只一套。

过于追求优秀的架构是不明智的。当前中国的软件是敏捷驱动的,即完全不确定性驱动的。这意味着即使你今天的架构已经重构到最优了,几个月以后,可能架构上就不合理了。虽然不重构一定会带来架构腐化,但重构显然也没有多少人能彻底解决这个问题,并且短期也必然带来风险,这给业务,给老板都带来了极大的麻烦。另外一方面,在市场没有增加的前提下,重构会导致团队人数会越做越少,基本上是两头堵。纯粹技术的洁癖会置身死地。

借鉴企业市场的起伏波动的历史来看,一个大的康波周期前期,会让业务优先的公司迅速冒出,并且在任何一个阶段都在反复不停淘汰技术优先的公司。但是在康波周期的后期,在整个行业业务无法扩展,甚至收缩的情况下,会极度考验仅存的几家公司的技术能力,确保具有更高效率的公司能活下来——并不是技术好,而是相对好就行,熬死他们市场就有了。在资本介入的情况下这个周期会被打乱,但是最终不可避免。只有在极致危机的时候才会产生极致的技术。比如生物大灭绝小而美的动物开始抢占生态位。

技术优先的最有效的策略可能是小而美——做到极致精致极致技术。比如蚂蚁、爬行动物,叶绿素细胞……,当地球演化早期的时候,生态位最好的位置被吸收能量最高的紫色细胞占据了,叶绿素细胞只能去吸收能量最低的绿光。并极致的利用绿光的能源;蚂蚁的蚁后、雄蚁、工蚁分别退化掉了口器、性器官,他们身上连多余的东西都没有。这样可以保证在最差的情况下,也能保证自己的基本盘。

但是一旦他们开始有极大的生态位空间去发展,一个更好的进化策略是频率和速度。比如合弓兽之所以能称霸二叠纪早期便是放弃了进化而快速去抢占陆上地盘;裸露的皮肤和糟糕的羊膜卵结构导致他不能胜任干旱的气候而被迫把霸主的地位交给了恐龙;整个漫长的三叠纪只能呆在生态位的底层;这个生态位反而迫使他极致进化出了毛皮和奶汁,他进化出了哺乳动物。从生物进化的角度来看,顶层生物体内因为这种快速做大的策略,都有大量较差的进化,技术上不是最好的,只是能用就行。

扯远了

上上下下,里里外外,不求甚细,这个可能是当前中国大公司里、乃至演化圈混最优的策略。不过换句话说,这样的状况是经不起风浪,更不要说走出国门和列强竞争,政策越保护越完蛋(不保护也完蛋)。某种程度上来讲,像生物圈那样周期的“灭绝”事件是有助于企业优胜劣汰的

中国过去也培养了一些企业,不过这样的企业往往是窝里横,出去能打的不多(华为、字节),往往都是以比国内更廉价的方式国际输血去赢得者政策上的品牌上的收益。本质上国际业务还是为国内服务。即使是传音这样在非洲垄断性的企业,也仅仅是占据极其卑微的生态链,经不起高端生态位的降维打击。并且无论从生态位、技术、管理、行业发展来看,他们基本上已经被“锁死”了。这导致这些企业的极度内卷。这其实就是中国企业大大部分生存状态,进而决定了每个中国人的状态。


user avatar   zhang-hao-72 网友的相关建议: 
      

我不是程序员,但是我用c语言已经有26年了。

推荐一下我的专栏:


user avatar   yu-san-geng 网友的相关建议: 
      

其实“技术”和“业务”之间,并没有很清晰的边界。

it从业者所谓的“业务”,一般指的是业务流程和业务模型,以及系统搭建方案和注意事项,这些在togaf架构体系里面大致属于业务架构和应用架构的范畴(注意事项属于实现细节,要另算)——它们都是技术的一部分。

你以为你懂业务,其实在真正的业务人员看来你根本不懂,就好像下棋,你只懂规则,不知道怎么赢,算个屁会下棋?

你觉得你懂医药业务,那你知道如何找到各地的掮客,给你牵线认识三甲主任嘛?这才叫业务!

所以不要神话局限在it视角下的“业务经验”,这玩意儿说到底并不算是真正解决问题的技能,顶多能让你自己不成为问题本身罢了。

但是也不要鄙视“业务经验”,业务经验换个时髦点的词叫领域知识,它是程序员知识结构中非常重要的一环,哪怕你技术很好,缺乏领域知识,你在领域内也算不上高效生产力,甚至会成为拖后腿的存在。

比如我面试前端的时候,如果想考察候选人有没有国际化项目的经验,我常会问一个小问题——告诉你时间戳和时区,你能否准确的显示出时间戳对应的当地时间?

答案是不能,因为有个东西叫“夏令时”,中国有一部分地区实行过,现在已经没有了,但是有些国家还在实行,所以即便同一时区,本地时间也可能是不一样的。

这就叫“业务经验”,没有这个经验,你八股文背的再熟也难免在这个地方出bug。


user avatar   ffancage 网友的相关建议: 
      我看到旧照片里,我爷爷姥爷帅的秒杀很多明星啊!你们爷爷奶奶姥姥姥爷年轻的时候长什么样子呢?请放上旧照片。


  

相关话题

  Yann LeCun、Geoffrey Hinton或Yoshua Bengio能得图灵奖吗? 
  你的编程能力从什么时候开始突飞猛进? 
  上大学真的很美好吗? 
  如何设计制度,才能使程序员职位被程序员世家垄断? 
  计算机行业是不是自砸饭碗的行业? 
  代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分? 
  如何看待为了挑战百度无人车安全性,李彦宏试乘时让工程师人为拦车? 
  IT 公司招聘研发人员时是否很少问编译原理、离散数学等理论内容而更偏向具体技能,为什么? 
  科研是大国和大经济体的游戏吗?对于小国或者小经济体有何用? 
  有哪些新手程序员不知道的小技巧? 

前一个讨论
如何评价郭敬明的粉丝称《爵迹》是中国版《魔戒》?
下一个讨论
穆斯林移民会对欧洲文化带来毁灭性的打击吗?





© 2024-11-09 - tinynew.org. All Rights Reserved.
© 2024-11-09 - tinynew.org. 保留所有权利