如何成为高级工程师_如何在四年内进入技术并成为高级工程师

如何成为高级工程师

As software continues to eat the world, more and more people ask me about “getting into tech,” i.e. a successful Software Engineer easily making around $350,000 in total annual compensation. I get asked this a lot because I had very little coding experience when I decided to make a career change into software. Four years after making that decision, I entered Twitter as a Senior Software Engineer with a compensation package I couldn’t even dream of making elsewhere. I often look back and refer to my career change as the best decision I made in my life.

随着软件继续蚕食着世界,越来越多的人问我“进入技术领域”,即一位成功的软件工程师轻松获得约35万美元的年度总薪酬。 我之所以被问很多,是因为当我决定改变软件职业时,我几乎没有编码经验。 做出这个决定的四年后,我以高级软件工程师的身份进入Twitter,获得了我什至无法梦想在其他地方做出的补偿方案。 我经常回头,将职业变化视为我一生中做出的最佳决定。

I decided to condense my experience to a blog post to help those understand the process and how to strategically think about their transition. There three main phases:

我决定将我的经验浓缩到一篇博客文章中,以帮助那些了解该过程以及如何从战略角度考虑其过渡的人。 分为三个主要阶段:

1. Project and portfolio building2. Landing your first full-time job3. Getting promoted to senior status

1.项目和项目组合的建立2。 找到您的第一份全职工作3。 晋升为高级职位

Each phase has a distinct goal and a strategy to get to that goal as fast as possible. One of the benefits of the incredibly high demand of software engineers is that reputation and pedigree are less critical for the vetting process. What actually matters is that you are able to deliver great work, you are knowledgeable, and you are a really great team member.

每个阶段都有一个明确的目标和策略,以尽快达到该目标。 软件工程师的需求之高令人难以置信的好处之一是,声誉和血统对于审核过程而言并不那么重要。 真正重要的是, 您能够交付出色的工作知识渊博 ,并且您是一个非常出色的团队成员

项目和项目组合建设 (Project and Portfolio Building)

When starting from zero experience, the priority is to establish both ability and credibility You first and foremost need to be able to do the work required to build something someone is willing to pay you for, and you need to be able to do it for multiple people. The goal here is to establish the idea for a recruiter or hiring manager that people paying you for your work is commonplace and expected.

从零经验开始,首先要建立能力信誉。首先,您需要能够做一些人愿意为您付钱的东西,而您需要能够做到这一点。人。 这里的目标是为招聘者或招聘经理确立一种想法,即为您的工作付款的人是司空见惯的。

When starting off, you should pick a tech stack to learn quickly. For me, it was building single-page applications with JavaScript, HTML, and CSS. I always enjoyed the instant gratification of throwing together some code and seeing changes directly reflected on a site, and I still enjoy it to this day. At this point, focus on improving your ability to put things together and have non-buggy projects that function well.

开始时,您应该选择一个技术堆栈以快速学习。 对我而言,它正在使用JavaScript,HTML和CSS构建单页应用程序。 我一直很高兴能立即得到满意的结果,将一些代码组合在一起,看到更改直接反映在网站上,直到今天,我仍然很喜欢。 在这一点上,专注于提高您将事物组合在一起并拥有运行良好的非越野车项目的能力。

The goal here is to establish the idea for a recruiter or hiring manager that people paying you for your work is commonplace and expected.

这里的目标是为招聘人员或招聘经理确立一种想法,即为您的工作付款的人是司空见惯的。

Find anyone that needs simple software work done — an uncle who needs a simple website, a friend who needs a custom to-do app, anything. Get familiar with the process of taking business requirements and providing deliverables. Do this enough times and, surprisingly, you’ll find someone to pay you a small amount for a simple task here or there. Between projects, continue to build something for yourself or something a bit more ambitious to improve your hacking skills. At any point in time you should be working on something and learning. Focus on building momentum in one particular skill set. You eventually want to build enough credibility in that skill set to be hired for it. If you generalize too much in this phase, you’ll find it very difficult to land a first job in the next phase due to only being mediocre at everything.

查找需要完成简单软件工作的任何人-需要简单网站的叔叔,需要自定义待办应用程序的朋友,等等。 熟悉满足业务需求和提供可交付成果的过程。 做足够的时间,令人惊讶的是,您会发现有人在这里或那里为您的简单任务支付少量费用。 在两个项目之间,继续为自己构建一些东西,或者为提高黑客技能而更加雄心勃勃。 在任何时候,您都应该努力学习。 专注于通过一种特定的技能来建立动力。 您最终希望在该技能组中建立足够的信誉,以便为此聘用。 如果您在此阶段过于笼统,您会发现很难在下一阶段找到第一份工作,因为在所有事情上都很平庸。

找到第一份全职工作 (Landing Your First Full-Time Job)

Suppose you now have anywhere between 5–10 projects in your portfolio, maybe only a handful were paid for, and maybe you really only have 3 that you are comfortable showcasing in an interview. That’s OK. The objective in this phase is to get your foot in the door, any door.

假设您现在在投资组合中有5-10个项目之间的任何地方,也许只支付了少数几个项目,也许您实际上只有3个可以在面试中展示的项目。 没关系。 此阶段的目标是让您踏入任何一扇门

I think most career-changers tackle the job search without any thought or strategy. Applying to full-time jobs via job sites are incredibly competitive. The best path to finding a full-time job as a slightly under-qualified professional is to actually apply for contract work, part-time, or temp work.

我认为大多数改变职业的人在没有任何想法或策略的情况下就可以找到工作。 通过工作地点申请全职工作极具竞争力。 找到略微不合格的专业人员的全职工作的最佳途径是实际申请合同工,兼职或临时工。

My trajectory into full-time work was through a temp job that was listed as a 4-week project because the sole web developer of a small company was having a baby and they needed someone to fill in for a few weeks. The recruiter thought I was crazy to wanting to (temporary) relocate for only four weeks, but the four weeks of work quickly turned into 8 weeks then suddenly I found myself negotiating a salary for a full-time position there.

我进入全职工作的轨迹是通过一份临时工作被列为一个为期4周的项目,因为一家小公司的唯一Web开发人员正在生孩子,并且他们需要有人来填补几个星期。 招聘人员以为我只想(临时)搬家只有四个星期,这太疯狂了,但是四个星期的工作很快就变成了八个星期,然后突然间,我发现自己正在为那里的全职职位谈判工资。

The best path to finding a full-time job as a slightly under-qualified professional is to actually apply for contract work, part-time, or temp work.

找到略微不合格的专业人员的全职工作的最佳途径是实际申请合同工,兼职或临时工。

It isn’t quite as easy as it seems, unfortunately. For this strategy to work well, you have to have really great communication and interpersonal skills. People will most likely want to keep you around first and foremost because you are incredibly productive, but it is almost equally important to be a pleasant person to work with. This is critical, as you begin to enter this industry, people move around a lot, and if they have a good memory of working together with you, they will serve as a potential resource for future opportunities.

不幸的是,这并不像看起来那样容易。 为了使此策略有效运行,您必须具有非常好的沟通和人际交往能力 。 人们最有可能希望让您始终处于第一位,因为您的生产力令人难以置信,但成为一个乐于助人的人几乎同样重要。 这很关键,因为当您开始进入这个行业时,人们会四处走动,如果他们对与您一起工作有良好的记忆,他们将成为未来机会的潜在资源。

晋升为高级职位 (Getting Promoted to Senior Status)

Regardless if your first full-time job is at a startup or a larger corporation, you’ll find yourself with a bit more free time on your hands. Steps 1 and 2 of this transition is like working on your own startup and you’re constantly “on” hustling to get your foot in the door. Using this initial transition to settle in and relax is probably a good idea.

无论您的第一份全职工作是在一家初创公司还是一家较大的公司,您都会发现自己有更多的空闲时间。 此过渡的步骤1和2就像在您自己的启动上进行工作,并且您不断地忙于使自己步入正轨。 使用这个最初的过渡来安顿和放松可能是一个好主意。

When you’re ready, there are two key points for this final stage:

当您准备就绪时,此最后阶段有两个关键点:

#1. For the most part, you hacked your way into the field. Now it’s time to go back and relearn everything correctly.

#1。 在大多数情况下,您会闯入现场。 现在是时候返回并正确地重新学习所有内容了。

Learning your programming language by just using and building isn’t enough to make the cut. You need to have a deep understanding of how your language works the way it does and can clearly (and effortlessly) articulate why things work or behave the way they do. Part of this just comes from time and experience, but the other part comes from learning from the best people in your industry.

仅通过使用和构建来学习您的编程语言还不足以实现目标。 您需要对语言的工作方式有深刻的理解,并且可以清楚(毫不费力地)阐明事物为什么起作用或表现出行为方式。 其中一部分来自时间和经验,而另一部分来自向行业内最优秀的人学习。

Don’t have access to the best experts in tech for your language? Yes, you do. Every language has a well-recognized book written by some of the best people in tech. If you hate books, learn to learn from them. For technology and programming, it will be the cheapest price for undeniably the most valuable knowledge you can obtain. For me, these books were: Professional JavaScript by Nicolas Zakas, Practical Object-Oriented Design by Sandi Metz, and The Algorithm Design Manual by Steven Skiena.

是否无法使用您所用语言的最佳技术专家? 是的你是。 每种语言都有一本公认的书,它是由一些技术最好的人撰写的。 如果您讨厌书籍,请学习向他们学习。 对于技术和编程,这无疑是最便宜的价格,因为它无疑是您可以获得的最有价值的知识。 对我来说,这些书是: Nicolas Zakas的专业JavaScript,Sandi Metz的实用面向对象设计和Steven Skiena的算法设计手册。

#2. Knowledge is only one facet of several (some of which are out of your control) that will determine your promotion.

#2。 知识只是决定晋升的几个方面中的一个方面(其中一些是您无法控制的)。

Almost every company has a rubric for what it takes to become a senior engineer. Senior engineers will typically have adept debugging abilities, deep domain knowledge of a language and company codebases, knowledge of good design architecture, experience in delegating work and setting reliable expectations, good teamwork and communication skills, and finally some experience in mentoring.

几乎每家公司都有成为高级工程师所需要的条件。 高级工程师通常具有熟练的调试能力,深厚的语言和公司代码库知识,良好的设计架构知识,委派工作和设定可靠期望的经验,良好的团队合作和沟通技巧,以及最终的指导经验。

Note that management will make the argument that you should already be doing these responsibilities to be qualified for a promotion. Seek out what your company’s requirements are, and be sure to track your work and accomplishments on a daily basis. At the moment, there isn’t a particular all-in-one solution for tracking your work and accomplishments which is why we’re building Rize.io — to help software engineers track their work to better advocate for a raise, promotion, or new job faster.

请注意,管理层将提出您应该已经履行了这些职责才有资格晋升的论据。 找出您公司的要求,并确保每天跟踪您的工作和成就。 目前,没有一种用于跟踪您的工作和成就的特定的多合一解决方案,这就是我们构建Rize.io的原因 -帮助软件工程师跟踪他们的工作以更好地提倡升职,晋升或新工作更快。

Unfortunately, many factors outside of your control have a huge impact on whether or not you will receive a promotion. Depending on the cycle, there might be a limited number of promotions available and many people to compete with. In some situations, companies can halt promotions and raises altogether if finances are a bit tight. Regardless, making the most compelling case for yourself will give you the best shot.

不幸的是,您无法控制的许多因素都会对您是否获得晋升产生巨大影响。 根据周期的不同,促销活动可能数量有限,并且有很多人可以竞争。 在某些情况下,如果财务状况有些紧缩,公司可以完全停止促销并筹集资金。 无论如何,为自己打造最引人注目的案例将为您提供最佳的拍摄效果。

最后的想法 (Final Thoughts)

Getting into a software engineering job and hitting senior status is only the beginning of a career. You could go into engineering management, product management, be a principal contributor, do entrepreneurial work, start a startup, etc. I often view software engineering fundamentals as a core skill set that sets you up to virtually do anything. Where you take it from there is up to you, and the possibilities are almost endless. Good luck! 🍻

进入软件工程工作并获得高级职位只是职业的开始。 您可以从事工程管理,产品管理,担任主要贡献者,从事企业家工作,创办一家初创企业等。我经常将软件工程基础知识视为可让您进行几乎任何事情的核心技能。 从哪里拿走,就取决于您自己,而可能性几乎是无限的。 祝好运! 🍻

Questions? Comments? Hit me up on Twitter @wrgoto or subscribe to my newsletter to stay updated on my latest posts.

有什么问题吗 注释? 在Twitter @wrgoto 上打我, 订阅我的时事通讯 以保持最新帖子的最新状态。

翻译自: https://medium.com/swlh/how-to-get-into-tech-and-become-a-senior-engineer-in-4-years-59f1304cdfe5

如何成为高级工程师

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值