全文共字,预计学习时长10分钟
年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正如卡尔顿·菲斯克(CarltonFisk)所说:“判断一个人职业生涯的成功与否,不在于其所取得的辉煌成就,而在于其克服的艰难险阻。”
人生起伏,在所难免,一切取决于态度。是被逆境击倒一蹶不振,还是吸取教训重振旗鼓,全在你一念之间。
留言点赞