中年程序员的经验谈:21个惨痛教训

全文共3091字,预计学习时长10分钟

 

图源:unsplash

 

1999年4月7日,一个菜鸟正式迈入了编程行业,21年过去了,笔者的变化也不仅仅是从年轻程序猿成为了中年程序猿。在软件行业这一鱼龙混杂之地整整经历了21年的兴衰沉浮后,能够在此分享自己的经验之谈,对笔者而言,也是一个重要时刻。

 

虽然常说失败是成就不凡的必经之路,屡屡碰壁是成功的必备特征,但若真想踏上康庄大道,努力避免重蹈覆辙才是重中之重。跌倒固然也能收获经验,但从他人之处汲取知识更易见效,年轻人要敢于试错,但将珍贵的时光浪费在无尽的试错上实在是暴殄天物。

 

软件开发是踏上编程之旅的第一步,从业者将在其中不断磨练自身技艺。程序员会遇到万千挑战,既可能提出真知灼见,也未尝不会犯下大错。

 

本文汇集笔者从业21年犯下的各种错误,以及从这些惨痛教训中得来的宝贵经验,望各位引之为鉴。

 

错误1—不留积蓄以备不时之需

 

你的第一笔薪水会如何处置?一辆豪车,一件新衣,或是一顿大餐。第一桶金的使用会很大程度地影响一个人的职业轨迹,别把自己培养成月光族。

 

虽然偶尔挥霍无伤大雅,但做好规划,对自己进行知识投资方为王道。因为这不仅物有所值,并且让人受益终身。

 

错误2—不留后路

 

哪怕你已经是个强大优秀的编程精英,也不要不留后路,挑起无谓的争端。软件圈子并不大,如今断下的退路很可能成为未来困扰自己的绝路。

 

做人留一线,日后好相见,是不是?

 

错误3—不懂装懂

 

就算是技术天才,也不见得能洞悉一切,无所不知是不可能的。知之为知之,不知为不知,不懂装懂实在不可取。

 

团队中最稚嫩的菜鸟也可能想出有效耐用的解决方案。优秀的程序员不会把自己的解决方案强加给团队。相反,民主决策,择优采纳方为良策。

 

图源:unsplash

 

错误4—敝帚自珍

 

根据笔者的经验,专业技术过硬是获得团队成员尊重的最行之有效的方式。话虽如此,技术过硬却敝帚自珍只会给自己带来无穷后患。获取知识是成功的一半,善于分享是成功的另一半。优秀的程序员勤于与后辈沟通,为其传道解惑,不仅分享问题解法,更阐明个中原理。

 

错误5—疏于经营

 

软件开发是团队运动,一个项目是一群人的共同任务,必须并肩工作,互相支持,朝着同一个目标前进。

 

如果一个程序员太自大,对工作没有热情,或者不能有效沟通,这不仅会对工作产生负面影响,而且会牵连整个项目,例如造成拖延或搞砸部分工作。所以团队合作的软技能不可或缺。

 

错误6—让自己不可或缺

 

伴随“不可或缺”而来的权力欲的确让人难以自拔,但若流连于此,只会阻碍自己的进步。欲成大事者,应不拘小节。要将自己从繁杂的琐碎事务中解放出来。学会合理培养接班人,接管自己手中事务。

 

图源:unsplash

 

错误7—固步自封

 

逆水行舟,不进则退,做任何事都是如此,软件行业也是一样。因此,从业人员也得因时而变,必须与行业保持同步,保持自身竞争性与影响力。

 

编程的关键不在于其熟练度,而是建立新的概念词汇库,以新的方式解决问题。优秀的程序员不仅会编写代码,还会不断学习一些关键概念,以助于自己以新的方式解决问题,并找到最有效的解决方案。

 

错误8—偷工减料

 

没有所谓的“应急代码”。所谓的“脏代码”就是坏代码。切勿偷工减料,或接受次品。程序员优秀与否,在于其应对危机的方式。如果面对危机张皇失措,含糊了事,那就称不上是一名优秀的程序员。

 

错误9—回避权斗

 

技术人员常说:“别把我掺和进权力斗争里来,我只想安心搞技术。”但这是痴人说梦。

 

哪里有技术,哪里就有变化;哪里有变化,哪里就有输赢;这样,权力斗争也就应运而生。在这种情况下,就得敢于直面矛盾,从中斡旋,从而跻身赢家之列,除此之外,别无他法。

 

图源:unsplash

 

错误10—轻易妥协,没有原则

 

代码就像食物一样,它既可以是快餐小吃,也可以是精美珍馐,两全其美不难。糟糕的程序员一旦不堪重负,就会妄想团队能做出便捷、质优、价廉的产品。这要么是期限所迫,要么是承诺使然,而提出承诺的人往往也知道这是不可行的。好的程序员就得“脚踏实地”,并尽快向一切利益相关方表明自身立场。

 

错误11—编码前设计过多

 

动手编码前有了好的程序设计的确是件好事,但别矫枉过正,若花的时间过多,自己就会走入“分析瘫痪”的误区。完美的程序设计不切实际。一个足够好的设计的标准为,能上手即可。做设计就如同画地图,应该不断修正不断完善,而非一蹴而就。

 

错误12—低估代码意识的重要性

 

罗伯特·马丁说:“想写出整洁代码,就要能训练有素地使用各种小技巧,只有下苦工培养编码的“整洁意识”,才能有所小成。”这种代码意识不仅有助于程序员区分代码优劣,还能将代码转劣为优。

 

错误13—不做代码注释

 

软件好不好不重要,因为如果注释不够好,人们就不会使用。不管时间有多紧,工作量有多大,不做注释的借口有多么冠冕堂皇,任何没有代码注释的软件都会被淘汰。就是这么简单!

 

图源:unsplash

 

错误14—草草下手

 

脑海里第一个蹦出的解决方案是很诱人,也许简单易行。但好事多磨,只有一一审视已有解法,才可能找出最佳方案。

 

记住,程序员的工作不是求解,而是求最优解。

 

错误15—不知取舍

 

优秀的程序员深谙取舍之道。好的程序员明白,只为满足代码的可读性就创建一个代码库,或简单粗暴地替换新框架并非上策。好的代码应该整洁明了,只须数秒便让人心领神会。

 

取舍的关键不在于一味避险,而是有的放矢。

 

错误16—疏于人际

 

的确,程序员固然能孤军奋战,但顶尖的程序员必定精于人际交往。建立友谊、取信于人最简单的方法即为其他团队排忧解难。“人情”是相互的,在以后某刻,你可能会得到回报。自愿帮助别人并发挥其主动性,或尽最大努力帮助别人完成工作,不仅能培养自身专业能力,还能在组织内增强自身影响力。

 

图源:unsplash

 

错误17—不见泰山

 

一个程序员大多时候都是在鼓捣代码,或给已有代码添砖加瓦,服从命令听从指挥,这没有任何问题。不过如果想成为大局的一份子,那就得花时间了解大局的一切。

 

最简单有效的方法就是向导师求助,快速提高自身技能素养,培养大局观。

 

错误18—不擅沟通

 

虽然好的沟通无成法可循,但作为万物之灵,在工作中与别人联系感情再正常不过了。功利点儿说,在软件界,人人都是一笔资源。只有知己知彼,投其所好,自己的软件开发之路才能一帆风顺。

 

错误19—做无用功

 

优秀的程序员不会做无用功。他们总是尽可能重用现有的功能并加以改善。节省时间不说,而且能与共享代码的开发人员建立友谊。

 

自己碰到的问题,很可能别人先前早已给出了答案。因此,当试图完成一项任务时,应确认其是否有前人经验可供借鉴。这不是投机取巧,而是节约精力。

 

错误20—不懂行规

 

你有时会低估业务规则的复杂性。如果不清楚业务规则,就难以有效解决问题。编程时需要业务思维,创造一个符合行规且行之有效的解决方案,而非仅仅着眼于满足技术需求。

 

错误21—不顾健康

 

健康是一切的基础,身体健康有助于获得灵感,充满干劲,坚毅果敢,是渡过未来必经坎坷的本钱。重视健康非一日之功,它体现在日常方方面面的计划与决策中,包括合理膳食、定期锻炼,以及抛弃恶习。

 

每天锻炼一小时,健康工作五十年,幸福生活一辈子,操场标语诚不我欺!

 

图源:unsplash

 

正如卡尔顿·菲斯克(Carlton Fisk)所说:“判断一个人职业生涯的成功与否,不在于其所取得的辉煌成就,而在于其克服的艰难险阻。”

 

人生起伏,在所难免,一切取决于态度。是被逆境击倒一蹶不振,还是吸取教训重振旗鼓,全在你一念之间。

 

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值