从我21年的编程中学到的经验教训。
2022年1月18日。今天对我来说是美好的一天。 我终于完成了21年编程。
ew! 好像昨天和今天在这里一样,我的内心写着一个40岁的中年程序员,他成功地度过了软件行业这个危险世界的正弦波峰和波谷。 是的,至少对我来说,这是决定性的时刻。
话虽如此,犯错是实现卓越的学习途径的一部分。 快速且经常失败是成功的标志。 为了避免多次犯同样的错误,应该放在优先列表上。
是的,个人经验是最有效的学习方法,但是通过他人的经验获得的知识是一种更快,更聪明的方法,可以减轻痛苦。 毕竟,生命是短暂的。 您不可能一生中犯下所有可能的错误。
软件开发事业是掌握您的技能的旅程的开始。 与任何领域一样,挑战和正确的机会也很多,而您可能完全错了。 这篇文章反映了我迄今为止在职业中所犯的错误,以及如何避免这些错误。
错误21-不优先考虑健康
健康是加速您生活中一切发展的基础,包括您的职业生涯。 它可以提高您的创造力,精力和毅力,以度过难免的跌宕起伏。
优先考虑健康不仅是一项一次性的任务。 这意味着将其安排在您的日常工作中,进行投资以购买合适的食物并定期锻炼,甚至放弃其他不良习惯。
错误20-无法与团队沟通
尽管没有固定的交流规则(实际上,在软件项目的边缘状态中,人们被称为资源),但作为智人,我们需要在工作中变得有点个人化。
了解其他程序员的能力和局限性,再加上了解他们感兴趣的内容,将使您以更好的方式计划您的开发。
错误19-对业务规则不够了解
我们程序员有时会低估业务规则的复杂性。 如果我们不清楚业务规则,那么我们将不知道如何有效地实施解决方案。
请记住,您需要在编程时采用业务思维方式,并以业务术语创建可行的解决方案以实现其目标,而不是专注于强大的技术解决方案。
错误18-总是在重新发明*
优秀的程序员不会重蹈覆辙。 它们总是尽可能地重用并构建现有功能。 这不仅节省时间,而且在共享代码的开发人员之间建立了一种友情。
您正在尝试解决的问题已经有了答案。 因此,当您尝试完成一项任务时,请检查是否有人已经解决了该问题。 您在这里不是偷工减料。 您在这里减少了工作量。
错误17-没有看到大局
作为程序员,大多数时候,您将在编写一段代码,或者解决现有代码中的某些生产问题。 您正在完成分配的工作; 没错。 但是,如果您想参与整个交易, 您需要花点时间找出交易的全部内容。
最好,最简单的方法是在导师的帮助下,该导师可以帮助您更快地发展技能,并在更大的项目视野中保持牢固的基础。
错误16-无法建立网络并建立信任
是的,程序员也可以像独狼一样存在,但是最好的程序员是高级网络专家。
建立信任和建立关系的最简单方法是在紧急情况下帮助其他团队。 这样,您就开始欠他们"好处",您总是可以在适当的时间毫不犹豫地提出要求。 志愿服务以帮助某人的主动性,或者付出更多努力帮助某人完成工作,这不仅可以增强您的专业知识,还可以增强您在组织中的影响力。
错误15-在压力下弯曲
代码就像食物。 它可以是快速,良好或廉价的。 选择任意两个。 一个不堪重负的程序员不堪重负,他试图让团队一次完成所有三件事。 他们受截止日期和其他人做出的承诺的驱动,他们非常清楚这是不可行的。
一个好的程序员就是"实现现实",并以最快的方式将现实与链上所有利益相关者进行交流。
错误14-不承认自己的无知
您可能是个技术高手,但即使您也不是一无所知。 这几乎是不可能的。
另一方面,房间里最绿的孩子可能会想出一种可持续的,性能有效的解决方案来解决当前的问题。 优秀的程序员不会将解决方案强加于团队。 相反,他们建立了一种*,其中最好的解决方案将获胜。
错误13-不知道什么时候不做某事
最好的程序员确切地知道什么时候不做某事。
他们知道,从头开始重写库只是为了使其更具可读性,或者从较旧的框架切换到最新的框架并非总是明智的选择。 代码的目的应该足够清楚,以便在几分钟甚至几秒钟内掌握。
关键不是要规避风险,而要谨慎选择正确的战斗。
错误12-选择第一个解决方案
是的,第一个解决方案很诱人,可能是一个简单的解决方法。 但是,一旦您开始质疑找到的所有解决方案,通常就会找到好的解决方案。
记住,作为程序员的工作不是要找到解决问题的方法。 它是找到最简单,最优化的解决方案。
错误11-低估了代码感知的重要性
根据罗伯特·马丁(Robert Martin)的说法,"编写干净的代码需要通过痛苦地获得"干净"的感觉来纪律使用无数小技巧。 这些小技巧统称为代码感知。"
这种代码意识不仅帮助我们区分好代码和坏代码,而且还帮助我们形成将坏代码转换成好代码的策略。
错误10-在编写代码之前进行过多设计
是的,在编码之前进行良好的设计是一件好事,但是花太多时间将其置于分析瘫痪的境地。
不要寻找完美的设计,这在编程世界中是不存在的。 寻找一个足够好的设计,您可以使用它来入门。 好的设计就像地图一样。 它应该进化,而不是一成不变。
错误9-避免政治
我们都听到技术人员说:"让我远离政治。 我只想实施这项技术。" 但这是行不通的。
在哪里有技术,哪里有变化,哪里有变化,就会有人将自己视为赢家或输家。 那就是政治开始的地方。 您需要管理它,规避它并成为赢家。 没有别的办法了。
错误8-未记录代码
软件的好坏并不重要,因为如果文档不够好,人们将不会使用它。
不管截止日期是什么,工作量是多少,没有文档记录的借口是什么,任何没有文档记录的软件都是一个死的渡渡鸟。 就那么简单!!!
错误7-偷工减料
没有什么叫做"快速和脏代码"。 脏代码是坏代码。 期。 绝不要偷工减料,也不要接受任何次要的东西。
作为一名优秀的程序员,您的真实测试面临危机。 如果您的行为在危机期间发生变化,那么您就不是一个好的程序员。
错误6-粘在一个堆栈上
软件行业永远不会停止发展。 同样,软件专业人员还应该与行业保持同步发展,并且必须与行业保持同步,以保持相关性和需求。
请记住,关键不一定是要流利,而是要获得概念性词汇来以新方式攻击问题。 优秀的程序员不仅会编写代码,而且还会不断学习关键概念,以帮助他们以新方式解决问题并找到最有效的解决方案。
错误5-忽略软技能
程序员有时会忘记软件开发是一项团队运动,而项目对于一群必须肩并肩工作,相互支持并朝着一个单一目标迈进的人们是一项共同的任务。
因此,如果程序员过于自大,对工作没有热情,或者无法有效地进行交流,那么这不仅会对他的工作产生负面影响,而且还会拖延工作或搞砸一些工作,从而对整个项目产生负面影响。 部分。 因此,软技能是必不可少的。
错误4-不分享知识
根据我的经验,擅长技术是在团队成员中赢得尊重的最可持续的方式。 话虽这么说,但擅长技术而不分享知识是灾难的必经之路。
知识是成功的一半,而分享则是另一半。 优秀的程序员与初级程序员交流减肥方法,并向他们展示如何解决问题。 他们不仅告诉他们如何解决问题,而且解释了为什么他们采用这种方式解决问题。
错误3-燃烧的桥梁
是的,你很棒,你很棒,而且你是一个炙手可热的程序员,但这并不能使你烧毁桥梁和进行不必要的战斗。 软件行业是一个小世界。 您现在正在燃烧的桥会回来,并在您最需要它们时困扰您。
即使您不喜欢的人,也要谦虚,诚恳并保持良好的关系。
错误2-使自己不可或缺
随之而来的不可抗力会让人上瘾,但如果继续这样做会损害自己的成长。
永远记住,如果您想追求更高的目标,就需要让自己摆脱更低的目标。 创建并指导可以接替您的继任者。
错误1-在下雨天不保存薪水。
您的职业轨迹将主要取决于您决定如何花费最初的薪水。 您会很想花钱买一辆更好的汽车,升级衣服,去更高档的餐厅。
虽然偶尔挥霍无误,但您需要计划花费金钱来获取知识。 它不仅会为您带来最大的投资回报,而且会随着时间的流逝而持续发展。
最后的想法
任何职业都有起有落,这完全取决于您的接受方式。 您可以被负面的事物击倒,也可以以积极的方式接受它并从中学习
正如卡尔顿·菲斯克(Carlton Fisk)正确地说的那样:
"这不是您实现的目标,而是您克服的目标。 那就是您职业的定义。"