如何成为一名成功的开发人员
对我来说,软件开发者是世界上最好的工作之一。我喜欢写代码,而且能从中获得报酬也很棒。但事情并不总是那么顺利,我的职业生涯也经历了太多的坎坷,所以我总是反思自己的处境,努力提醒自己我能做到什么。
为了支持你和你的职业生涯,我写下了七条我认为对我的职业生涯至关重要的建议。不妨花时间尝试一下,看看它们是否能帮助你应对当前的处境。
不要低估自己。
这是我学到的最重要的一课,我花了大约10年时间才意识到这一点。如今,如果你从事科技行业,尤其是软件工程师,你就是一种稀缺资源。通常情况下,我不喜欢人们把员工视为资源,因为他们毕竟也是人。但在这种情况下,我使用这个词是为了强调其重要性,并尽可能清楚地向你解释这一点:
- 公司需要你,而不是你需要公司。让我再详细解释一下。仅美国市场目前就面临超过50万的软件开发人员缺口。由于需求增长和人口结构变化,未来五到十年,这一缺口将呈指数级增长。其他国家和大洲的情况也一样。
你投入了无数的时间学习新技术,花费了无数的夜晚练习编码技能——这一切都是值得的。
- 软件工程师可能是需求最高的职业。意识到这一点——更重要的是,能够运用这一点——不仅能为你带来更好的职业发展机会和更高的薪水,最终还能提升你的自信。这不仅对你的事业有帮助,对你的人生也有帮助。
投资于你和你的职业生涯
科技行业是当今变化最快的行业之一——即使不是最快的。有时,很难跟上软件开发生态系统的不断发展,尤其是在 Web 开发方面。但为了保持与时俱进,每位工程师都必须不断学习新技术、编程语言、框架、技巧、最佳实践、技能等等。
成为软件工程师的好处是,大多数时间都可以在家里或办公室学习,并且可以从各种来源中进行选择,例如书籍、电子书、博客文章、在线课程、培训、播客等。
然而,学习新事物需要投入金钱和时间。不同格式的价格差异很大,质量也参差不齐。但对我们大多数人来说,最重要的是时间。时间宝贵,时间稀缺。许多工程师都有全职工作,学习时间通常安排在工作前或下班后,或者周末和假期。因此,学习几乎总是需要在家庭、个人空闲时间和学习之间做出权衡。
但投资你的技能和事业是必要的。所以你真正应该做的是:
你需要明智地投资。
我说明智投资,是指你不应该盲目地追随每一个新的框架或技术。
- 不要今天练习 React.js,明天练习 Vue.js,下周练习 Angular。
- 如果您尚未掌握基础知识,请不要学习高级 JavaScript 概念。
- 不要在课程、书籍和培训之间切换。
相反,你应该审视一下自己,看看自己现在处于什么位置。
- 你喜欢从事前端工作还是后端工作?
- 您是视觉型的人还是喜欢数字?
- 您目前正在从事哪些项目以及什么可以帮助您完成这些项目?
- 您所在的地区需要哪些技术、框架和语言?
- 您是否因为具体原因(新工作、更高的薪水、职业转变)而想学习新知识,或者只是为了好玩?
- 哪些技术已经成熟但仍然是热门话题?
制定时间预算,并将其用于对你重要的事情。在投入时间之前,请先检查课程及其质量。如果你选择将宝贵的时间花在某件事上,那就要全身心投入并坚持下去。我们往往会在一段时间后失去兴趣,转而追逐下一个更酷的事情。
不要这么做——要聪明点!
离开有害的老板和工作场所
“当你20到30岁的时候,你应该跟随一个好的老板,加入一个好的公司,学习如何正确地做事。”——马云(阿里巴巴)
马云说得对。但他没有说的是,当你意识到你的老板或你现在的工作与你刚入职时的预期不符时,你应该怎么做。
拥有一个不支持你的老板对你、你的自信和你的职业生涯都不利。拥有一个主动(甚至可能是故意)损害你职业生涯的老板则更糟糕。有些老板是反社会人格者,或者他们很难相处。有些老板根本不是优秀的领导者。
最后,如果你最终得出结论,由于老板的原因,你无法发挥出最佳水平,我建议你多换工作。我从自己的经验以及许多其他人的经验中了解到:
- 老板是不会换的。我们很多人在换工作时都有点懒,有些人甚至会害怕。然后我们往往会觉得其实也没什么不好——但几周后才发现,情况依然如此糟糕。你是一位炙手可热的软件工程师。别让能力不足的人或糟糕的工作环境拖累你。
还有其他人更值得你拥有。
考虑做点副业。
即使我身处固定岗位,我也喜欢做副业。我这样做的动力并非金钱,尽管金钱也是一个合理的理由(但钱越多,压力也越大……)。我喜欢做副业的原因是它们能帮助我不断挑战自己的思维。
当你为公司和客户开发产品或服务时,使用公司现有或客户要求的技术是很常见的。虽然我仍然热爱编程,但一段时间后,编程可能会变得枯燥乏味,而且你可能没有使用最新的技术。许多公司仍然在使用 Java 6、7 或 8,即使我们已经有了 Java 11。或者,PHP 也没有像 Laravel 这样的框架。
我的观点是,即使副业会浪费时间,但从长远来看对你的职业生涯也是有益的,因为你可以随时了解新技术,参与开源项目并将其添加到你的作品集和简历中,并与社区互动,这对你的人脉网络大有裨益。
副业可以让你学到新的东西并让你保持动力。
完善你的领英个人资料
在我职业生涯的早期,我并没有花太多时间去维护一个或多个社交个人资料。当时我刚从大学毕业,申请了三四份工作,最终被其中一份录用。一切看起来都很好,我以为我会在那家公司工作一辈子。
我错了。我不仅对这份工作的感觉发生了变化,还一直嫉妒那些接到猎头和招聘人员电话的同事。
即使在今天,我仍然看到许多非常有才华的工程师仍然留在原来的职位上,拿着和几年前一样的薪水,因为没有人知道他们的能力。
在领英上创建个人资料能让你接触到招聘人员、潜在雇主以及志同道合的人。它能帮助你展示你的技能,与志趣相投的人建立联系,并找到新的工作机会。不过,让我先说一件对你来说非常重要的事情:
维护不善的个人资料比没有个人资料更糟糕。
你应该投入一些宝贵的时间和/或金钱来不断完善和更新你的个人资料。根据我过去几年在领英上的经验,我将与你分享一些技巧。
- 个人资料照片要能体现你的良好形象。不要拍派对照,但作为开发者,你也不需要穿西装。
- 用一个简介口号来展现你的能力和贡献。例如,“拥有 10 年专业工作经验的高级 JavaScript 开发人员”。
- 用两到三句话概括你是谁以及你的主要技能是什么。
- 用一到两句简短的句子描述你的每一份工作经历,并针对招聘人员和算法寻找的关键词(如 Java、React 和 HTML)进行优化。
- 技能和认可是脱颖而出的绝佳途径。列出你所有的技术和非技术技能(我建议列出更多技术技能),并尝试获得每一项技能的认可。向你的朋友和同事寻求认可,推荐其他人的技能,并礼貌地询问他们是否也推荐你的技能,或者加入领英群组(例如 JavaScript),寻求互相推荐。别忘了,你可以将你的三大技能设置为固定技能,它们会在你的个人资料中优先显示。好好利用这一点!
- 证书是可选的。如果您有证书,请出示。
不要犹豫提问
我经常在自己和他人身上认识到的一件事是,随着我们获得更多经验 - 特别是当我们获得团队负责人或高级开发人员等新头衔时 - 我们认为我们不能再提问,因为这会损害我们的声誉。
这是完全错误的!
无论你是刚开始从事软件开发,还是拥有 10 多年的经验,如果你有什么不懂的,尽管问!没有人无所不知,也没有人能够无所不能。软件行业瞬息万变。
此外,时不时地提问有助于你与同事建立良好的关系。如果初级开发人员发现自己的意见被倾听,这将有助于增强他们的自信心。
通过提问,我们可以发现以前从未想过的问题的新解决方案,因为我们在某个环境中工作的时间越长,我们的思维就越受束缚。
所以我鼓励你们,无论初学者还是专业人士,都要不断提问。这不仅对你个人有帮助,也对你的环境有帮助。
作为一名软件工程师,懂得如何编写简洁易维护的代码,如何将代码部署到云服务中,以及如何在紧急情况下修复错误,这当然是件很棒的事情。但在当今世界,这远远不够。
如果你想成为一名高级开发人员,你还需要学习其他技能。大多数时候,你都在团队中工作。任何项目的最大威胁之一就是沟通不畅。你必须不断地与其他开发人员、产品经理、项目发起人以及客户沟通。你必须提出新的想法和功能,并捍卫团队承诺的措施。
提升沟通技巧并非难事。很多时候,细节决定成败。尊重他人,倾听他人,不要打断他人讲话,并克制自己的自尊心。
许多公司会为员工提供社交技能培训。虽然很多开发人员认为这些培训纯粹是浪费时间,因为根本不需要编写任何代码,但这完全是错误的做法。
不要成为这样的人!
聪明的开发者清楚自己的优势和劣势。保持开放的心态,即使别人劝阻,也要勇于尝试,掌控自己的职业生涯。
这些是我在软件行业工作期间发现的一些重要知识。它们对每个主题都有很大帮助,我真心希望它们也能帮助到你!
文章来源:https://dev.to/krowser/how-to-become-a-successful-developer-4h2g