数字天堂陷入困境_我如何从陷入困境和绝望变成实现我的技术职业梦想

数字天堂陷入困境

by Colin Smith

通过科林·史密斯

我如何从陷入困境和绝望变成实现我的技术职业梦想 (How I went from stuck and hopeless to making my tech career dreams come true)

选择计算机科学 (Choosing Computer Science)

I work with some of the brightest minds in my field, right next to Harvard and Princeton grads, and it still hasn’t dawned on me what I’ve achieved. I never thought I’d be here a couple of years ago — I thought I wasn’t top tech material. The path that brought me here starts in the same place you may find yourself right now. Anyone can achieve the same things I have achieved with a bit of guidance. Hopefully my story can push you towards your first steps.

在哈佛和普林斯顿大学毕业生的旁边,我与我领域中一些最聪明的人一起工作,但我所取得的成就仍未实现。 我从没想过几年前会来这里-我以为我不是顶尖的技术资料。 带我来到这里的道路始于您现在可能会发现的自己的地方。 只要稍加指导,任何人都可以实现与我相同的目标。 希望我的故事能将您推向第一步。

My story starts on graduation day with my first degree in music technology. You may have been in the same situation as I. I had no job lined up. I was facing a world of unpaid internships in expensive cities. It felt like my college degree was useless. I had no savings and tons of student debt. I felt hopeless and stuck. I felt like I’d never be able to pay back my student loans.

我的故事开始于我获得音乐技术学位的毕业典礼那天。 您可能和我一样。我没有工作排队。 我在昂贵的城市里面临着无薪实习的世界。 感觉我的大学学位没用。 我没有积蓄,没有大量学生债务。 我感到绝望,陷入困境。 我觉得我永远也无法偿还学生贷款。

The commencement speaker at my graduation assured my class that we would be fine. That we would forge our own paths. I laughed on the inside when I heard this; she definitely couldn’t be directing this motivational line at me. There is no way I would ever have a lucrative and fulfilling career. I didn’t make the right choices leading up to this point. Things like stability and money were reserved for people who had planned better than I did. So I did what any desperate new grad would do and went to Tokyo to teach English.

我毕业典礼上的开学演讲者向班级保证我们会没事的。 我们将开辟自己的道路。 听到这个,我在里面笑了; 她绝对不能对我说这条激励路线。 我绝对不可能有一个赚钱和充实的职业。 到目前为止,我没有做出正确的选择。 诸如稳定性和金钱之类的东西留给了那些计划比我更好的人。 所以我做了所有绝望的新毕业生会做的事情,然后去东京教英语。

在东京生存 (Surviving in Tokyo)

Things got a bit better for a while. I had money, I had a job, and I was living in a major city and enjoying life. Everything was fine until I had a roommate drop the news that he was moving out and I had to find a new place. Once again, the reality bomb dropped and I was completely unprepared. I had about $1000 in savings but this was nowhere near enough to get myself an apartment in Tokyo (especially with the exorbitant up front fees).

一段时间以来情况有所好转。 我有钱,有工作,我住在一个大城市,过着幸福的生活。 一切都很好,直到我有一个室友放弃他要搬出去的消息,我不得不找到一个新的地方。 现实炸弹再次掉落,我完全没有做好准备。 我有大约1000美元的积蓄,但这还远远不足以让我自己在东京买房(特别是前期费用高昂)。

So with no other options in front of me, I went with an apartment that was tiny. And miserable. And absolutely depressing. It was 118 square feet in the back alleys of a random Tokyo neighborhood and I had to sleep with my head propped up against the kitchen sink. (This is a similar unit in the same building). Once again, I had to face the reality in front of me and this time I had nowhere to run.

因此,在我面前别无选择,我去了一个很小的公寓。 和悲惨的。 和绝对令人沮丧。 在东京一个随机社区的后巷中,这是118平方英尺,我不得不把头靠在厨房的水槽上睡觉。 ( 这是同一建筑物中的相似单元 )。 我不得不再次面对面前的现实,这一次我无处可去。

I started thinking about what was important to me in a future career. I had a few friends that attempted to turn their passion into a job and ended up being miserable. Turns out, jobs can suck the fun out of something you love. So I ruled out a career in music. Plus it was notoriously difficult to break into the industry.

我开始考虑什么对我未来的职业很重要。 我有几个朋友试图将他们的热情变成一份工作,结果变得痛苦不堪。 事实证明,工作可以从您喜欢的事物中汲取乐趣。 所以我排除了音乐事业。 另外,众所周知,进入该行业非常困难。

感觉卡住 (Feeling stuck)

I also thought about going back to the USA to get a degree in teaching. After a bit of research, it seemed like the quickest way to get teaching credentials was through programs that put you in the most under-funded and challenging classrooms in the country. I was a bit burnt out on teaching with just a year and a half in Tokyo as a teacher. So this path was too slow, too difficult and didn’t seem like a career I would end up enjoying in the long run. Once again I was stumped. I felt like there was nothing out there meant for me.

我还考虑过回美国获得教学学位。 经过一番研究,似乎获得教学证书的最快方法是通过计划,该计划将您带入该国资金最匮乏和最具挑战性的教室。 在东京仅仅一年半的时间里,我对教学感到有些精疲力尽。 因此,这条道路太慢,太困难,从长远来看,似乎并没有让我最终享受的职业。 我又一次陷入了困境。 我觉得那里没有什么对我有意义。

It seemed the obvious and natural choices in front of me weren’t what I was looking for. I wanted to keep living abroad. I wanted a career path that was stable, in-demand and well paid. I started researching and found that computer programming jobs fit a lot of the criteria I was hunting for. I was always interested in computers and technology. I had even messed around with a little rasberry pi like this one with a friend before. So I started digging more.

似乎摆在我面前的显而易见的自然选择不是我想要的。 我想继续留在国外。 我想要一条稳定,按需和高薪的职业道路。 我开始研究,发现计算机编程工作符合我所追求的许多标准。 我一直对计算机和技术感兴趣。 我以前甚至和朋友一起弄过一个像这样的小rasberry pi。 所以我开始挖掘更多。

The first thing that I was worried about was the fact that I was terrible at math. I always thought computer programmers had to be good at math. Growing up, I never even asked my parents for fancy graphing calculator because I thought it would be a waste even though every other kid had one.

我担心的第一件事是我在数学方面表现糟糕。 我一直认为计算机程序员必须精通数学。 长大后,我什至从未向父母问过花哨的图形计算器,因为即使其他每个孩子都有一个,我也认为这是浪费。

The second thing was the fact that I had never written a line of code in my life. It seemed like everyone I knew that was into programming had been doing it since they were kids. The last thing that had me worried was that it seemed overwhelming. I couldn’t imagine myself being a programmer at a tech company.

第二件事是我一生中从未编写过任何代码。 似乎我认识的每个人都从小就开始从事编程。 让我担心的最后一件事是,它似乎势不可挡。 我无法想象自己是一家科技公司的程序员。

Despite all this, I decided to take the plunge and started looking for an online computer science program. Little did I realize, this was the first step I took in my journey to this amazing career I have now.

尽管如此,我还是决定冒险尝试并开始寻找在线计算机科学程序。 我几乎没有意识到,这是我迈向如今拥有这一惊人职业的第一步。

心态转变 (The Mindset Shift)

Seeing success required some major changes in my personal outlook. Luckily for me, I had met an amazing woman that shaped me for the better before starting the computer science program. Let me emphasize that I was lucky, don’t sit around and wait for things to happen to you.

看到成功需要我个人观点的一些重大改变。 对我来说幸运的是,在启动计算机科学程序之前,我遇到了一位很棒的女人,这个女人使我变得更好。 让我强调一下,我很幸运,不要坐在那里等待事情发生。

First off, I was tired of being sub-par, mediocre, just barely getting by. This meant I was ready to change to achieve more. Being open to new viewpoints and pushing yourself harder is key in achieving your goals. Reading the 7 Habits of Highly Effective People helped me take concrete steps in understanding where I was going wrong.

首先,我厌倦了平庸,平庸,勉强过得去。 这意味着我准备改变以实现更多目标。 对新观点持开放态度并更努力地推动自己是实现目标的关键。 阅读高效人的7种习惯帮助我采取了具体步骤,以了解我的错误所在

Before this, coasting was fine. B’s were great and doing the minimum was the max for me. You need to understand that everything you do reflects on who you are. Shoot for the top and you will most definitely end up higher than you would have originally thought possible.

在此之前,滑行很好。 B对我来说很棒,而做最少的事情就是最大的事情。 您需要了解所做的一切都会反映出您的身份。 争取最高,那么您最终肯定会比原先认为的要高。

Second, I was able to now dive headlong into things that I previously would have put off due to fear of failure. Like math. I still hate math, but would gladly take another course if I knew that it would push me closer to my goals. Being able to not overthink something and dive into any challenge is something that will ensure that you are constantly moving forward. You may find yourself overwhelmed at points but you will come through and you will have learned something.

其次,我现在能够全神贯注于以前由于担心失败而推迟的工作。 像数学。 我仍然讨厌数学,但是如果我知道它将使我更加接近自己的目标,那么很乐意参加另一门课程。 能够不去思索某些事物并沉浸在任何挑战中,这将确保您不断前进。 您可能会发现自己不知所措,但是您会成功并学到一些东西。

在线学位 (The Online Degree)

My first searches for the right program started and ended with online degrees. When I was searching a few years ago, there were only a few options available. Bootcamps and awesome, but free programs like freeCodeCamp weren’t around. Even if college institutions were reputable, the online programs themselves were young and unproven. Going with an online degree seemed like an incredibly risky option at the time, but I am glad I settled on it.

我第一次搜索合适的程序以在线学位开始和结束。 几年前,当我搜索时,只有几个选项可用。 训练营和很棒的,但是没有免费程序,例如freeCodeCamp。 即使大学机构声誉卓著,在线课程本身还是年轻且未经验证的。 当时,获得在线学位似乎是一个极度冒险的选择,但我很高兴自己选择了此学位。

I ended up going with a program that promised I could graduate with a degree in two years. Speed was my number one priority. Flexibility was second. I got both with this particular online degree program.

我最终完成了一个计划,保证可以在两年内获得学位。 速度是我的第一要务。 灵活性是第二位。 我都拥有这个特别的在线学位课程。

My first computer science course was Programming 165 which was a condensed and faster paced version of Programming 161 and 162. I had to take this course to be on track for graduating in two years. I was excited and ready to go. I dove straight into the first weeks’ topics. And then immediately realized I was way in over my head.

我的第一门计算机科学课程是编程165,它是编程161和162的紧凑且较快的版本。我必须选修这门课程,才能在两年内顺利毕业。 我很兴奋,准备出发了。 我直接讨论了前几周的主题。 然后立即意识到我已陷入困境。

We covered if statements, switch statements and for and while loops in the first week. I couldn’t sleep for that whole first week because I was so stressed. The topics weren’t clicking for me and my mind started spiraling downward in a negative feed back loop.

我们在第一周介绍了if语句,switch语句以及for和while循环。 整个第一周我都无法入睡,因为我压力很大。 这些话题对我来说并没有那么快,我的思想开始在负面反馈循环中向下盘旋。

I knew the issue wasn’t the textbook because a friend that knew how to program said the book was a great resource. The nagging voice in the back of my mind started telling me that I wasn’t meant for this and that I should quit. No one else is having problems with the pace of the course and everyone on the class forum seems to be doing fine. I just suck.

我知道问题不是教科书,因为一个知道如何编程的朋友说这本书是一个很好的资源。 我脑海里voice的声音开始告诉我,我不是这个意思,我应该辞职。 没有其他人对课程进度有任何疑问,班级论坛上的每个人似乎都做得很好。 我真烂

I thought long and hard and decided to reach out to the teacher to see if I could transfer to the normal paced class. He was incredibly supportive and made sure that the transition was quick and smooth. The switch allowed me to focus more on an individual topic for a longer period of time and the pace was much more feasible for me.

我经过漫长而艰苦的思考,决定与老师取得联系,看看我是否可以转入正常的有节奏的课堂。 他提供了令人难以置信的支持,并确保过渡过程Swift顺利。 切换使我可以在更长的时间内专注于单个主题,并且步伐对我而言更加可行。

I was no longer drowning but unfortunately, this killed my chances of graduating in two years. Even though the learning part was fine, I still felt like a failure because I couldn’t keep up in the advanced class. This wasn’t the start I was looking for.

我不再溺水了,但不幸的是,这杀死了我两年内毕业的机会。 即使学习很好,但由于无法跟上高级课程,我仍然感到失败。 这不是我要找的开始。

I ended up doing well in most of my classes, albeit behind schedule. I got straight A’s (which I’ve never done before in my life) and did my best to go above and beyond to prepare myself for the career ahead of me. Even though I wouldn’t be able to graduate in two years like I had originally hoped, I realized I could still start working before I graduated. This would get me what I really wanted anyways, a job with a real career path as soon as possible.

尽管进度落后,但我的大部分课程还是表现出色。 我得到了A(我一生中从未做过),并竭尽全力为自己的职业生涯做准备。 即使我无法像最初希望的那样在两年内毕业,但我意识到我仍然可以在毕业之前开始工作。 无论如何,这将使我得到我真正想要的东西,尽快找到一份具有真正职业道路的工作。

弄湿我的脚 (Getting my feet wet)

I now needed to decide what I wanted to do as a programmer. My first intuition was to look at the most well-paid jobs. From there I dove more into why they were well-paid. Was it because they used outdated technology so demand was high for these specialists? Or was it because the market using the technology was growing? I ended up picking iOS since it was a growing market, I liked the visual aspect and the pay was, on average, pretty good.

我现在需要确定自己想成为一名程序员的工作。 我的第一个直觉是看薪水最高的工作。 从那里,我深入探讨了为什么他们的薪水很高。 是否因为他们使用了过时的技术,所以对这些专家的需求很高? 还是因为使用该技术的市场正在增长? 我最终选择了iOS,因为它是一个成长中的市场,我喜欢视觉方面,并且平均而言,薪水相当不错。

I started fishing. And this may be a recurring theme, but the results weren’t what I was hoping for. I got a lot of rejections due to my degree being online. Outright rejection. One was even through an online career fair held by my school. That was pretty ironic.

我开始钓鱼。 这可能是一个反复出现的主题,但结果并非我所希望的。 由于获得在线学位,我遭到了很多拒绝。 彻底拒绝。 一个甚至是通过我学校举办的在线职业博览会。 真是讽刺。

I also came across a lot of scammers. People looking to get someone else to do free work for them without any guidance. They would do things like forcing the use of outdated and bygone technology stacks. Or misrepresented unpaid positions to seem more interesting than they actually were. I even had someone ask me to do a bunch of free work before deciding whether I would be a “fit” for the internship or not. Avoid this crap. Go with legit companies that will pay you for your time or have a track record teaching people from scratch.

我也遇到了很多骗子。 希望让别人在没有任何指导的情况下为他们做免费工作的人。 他们会做一些事情,例如强迫使用过时的和过时的技术堆栈。 或误报无薪职位似乎比实际有趣。 在决定我是否适合实习之前,我什至有人要求我做大量的免费工作。 避免这种胡扯。 与合法的公司合作,这些公司会为您节省时间或拥有从头开始教人的往绩记录。

I was hoping to work in California, my home state. But facing so much rejection while combing through a bunch of sketchy internships made me decide to broaden my search. I came across a company offering iOS apprenticeships in Boston. The program sounded too good to be true. They would train you up, pay you a stipend. If they liked you enough at the end of 3 months, they would hire you full time and you’d get a nice bump in salary. I interviewed and somehow got the job.

我希望在自己的家乡加利福尼亚工作。 但是在梳理一堆粗略的实习生时面临如此多的拒绝,使我决定扩大搜索范围。 我在波士顿遇到一家提供iOS学徒的公司。 该程序听起来太好了,难以置信。 他们会训练你,给你一笔津贴。 如果他们在3个月末足够喜欢您,他们会雇用您全职,您的薪水会很可观。 我面试了,找到工作了。

I did not prepare well for interviewing because I had no idea how to prepare. Don’t be like me and read my article on how to succeed during your first interview. But I somehow managed to persuade this company to give me a shot. I was on cloud nine. I had managed to get a job in two years and I was ecstatic for my first opportunity to prove myself as a programmer.

我没有为面试做好充分的准备,因为我不知道如何做准备。 别像我, 在第一次面试期间阅读我的有关如何成功的文章 。 但是我设法说服了这家公司给我机会。 我当时在云九上。 我已经设法在两年内找到工作,而我为自己证明自己是一名程序员的第一个机会而欣喜若狂。

第一份工作 (The First Job)

As with anything new, learning iOS was a real challenge. I was much more familiar with web frameworks like Angular, and getting used to the new concepts of iOS proved to be difficult. The resources available to iOS devs were pretty limited back then. But I leaned a lot on an early edition of the Big Nerd Ranch book on iOS.

与任何新事物一样,学习iOS是一个真正的挑战。 我对Angular之类的Web框架非常熟悉,并且习惯于适应iOS的新概念非常困难。 当时,iOS开发人员可用的资源非常有限。 但是我在iOS上的“大书呆子牧场”(Big Nerd Ranch)的早期版本中大量借鉴

I spent every weekend studying iOS and doing extra work to learn more and prove that I would be a good full time hire. Everyone I was working with was better than I was at iOS and I had to put in a ton of effort to stay up to par with my co-workers.

我每个周末都在学习iOS,并做了很多工作来了解更多信息,并证明我将是一个不错的全职员工。 与我一起工作的每个人都比在iOS上更好,并且我不得不付出大量努力才能与同事保持一致。

The first task we had was finishing an online Stanford program that taught the concepts of iOS. This was fine for me since it was exactly what I was doing when working on the online degree.

我们要做的第一项任务是完成一个在线斯坦福计划,讲授iOS的概念。 这对我来说很好,因为这正是我从事在线学位课程的工作。

The next part was harder. We were going to build an app. And we are going to use Agile methodologies to organize our work. Those methodologies would guide us in executing from start to finish.

下一部分比较难。 我们将要构建一个应用程序。 我们将使用敏捷方法来组织我们的工作。 这些方法将指导我们从头到尾执行。

I was now accountable for the tasks I was given and I had to take responsibility for the work I put out. If I wasn’t on track to finish a task in time, I had to learn to explain why. I had to list possible solutions to unblock myself and deliver something usable in the timeline given. I had to learn Git. I had to learn to organize my work in such a way that I could accommodate and plan around my team’s schedule and goals. But most of all, I had to learn to contribute to a team and be someone that people would want to work with.

现在,我要对我承担的任务负责,并且我必须对我所做的工作负责。 如果我不能按时完成任务,我必须学会解释原因。 我必须列出可能的解决方案以解除封锁并在给定的时间表内提供有用的东西。 我必须学习Git。 我必须学习如何安排我的工作,以便可以根据团队的日程安排和目标进行安排。 但最重要的是,我必须学会为团队做出贡献并成为人们想要与之共事的人。

My team and I delivered our final product, an internal onboarding app for the company, on time. I also got to give a presentation in front of the whole company about the app. I explained the work around the app and showed off the shiny new functionality. Soon after, I started working on projects that clients were paying for. This led to getting the full-time offer. Things were looking up and I had finally gotten a foothold in this new world. It felt great.

我和我的团队按时交付了最终产品,这是该公司的内部入门应用程序。 我还必须在整个公司面前对应用程序进行介绍。 我解释了围绕该应用程序的工作,并展示了闪亮的新功能。 不久之后,我开始从事客户付费的项目。 这导致获得全职工作。 事情在不断发展,我终于在这个新世界中立足了。 感觉很棒。

But the shine faded much sooner than I thought it would. The free drinks and snacks became the norm. The arcade machine became an annoyance. The free dinners on Friday started to feel forced rather than something to look forward to. It seemed like the extras provided were acting as diversions. This kept a lot of people from seeing what was actually happening around the company.

但是光芒比我想的要早得多。 免费的饮料和零食成为常态。 街机变得很烦人。 周五的免费晚餐开始让人感到被迫而不是期待。 似乎所提供的额外费用起到了转移作用。 这使很多人看不到公司周围的实际情况。

Typing this out makes me feel like I was ungrateful. But if the base components for a healthy and productive working environment aren’t there, the extras won’t make up for it.

键入此内容会让我感到自己很不感恩。 但是,如果没有一个健康高效的工作环境的基本组成部分,那么这些额外的内容将无法弥补。

The company was growing at a rapid pace. I was employee number 40, and when I left a year later, 140 people worked at that company. The practices that used to make you feel wanted and special now only praised the same few employees. It became clear that there were a select group of people that were much more valued than everyone else. It was also clear that if you weren’t in that group, one major mistake could get you axed.

公司发展Swift。 我当时有40名员工,一年后离开时,有140名员工在该公司工作。 过去让您感到被通缉和特殊的做法现在只赞扬了几名员工。 显然,有一部分人比其他人更有价值。 同样很明显,如果您不属于该组,那么一个重大错误可能会使您感到焦虑。

On top of this, the good work I was doing wasn’t getting recognized. An app I worked on got the award for best architected app that we released that year. Only the lead for the project got credit for that (he and I were the only ones on the project).

最重要的是,我所做的出色工作没有得到认可。 我开发的一款应用获得了当年发布的最佳架构应用奖。 只有项目负责人对此表示赞赏(他和我是项目中唯一的人)。

I had also been working on the most boring but most lucrative project for months. We had to show up to the client’s office everyday wearing suits and missed out on a lot of news and fun stuff going on in the home office. It was isolating, and left little room for me to take on pieces that would help me grow as a programmer. This didn’t seem to be appreciated by anyone but my direct manager.

几个月来,我一直在从事最无聊但最有利可图的项目。 我们不得不每天穿着西装出现在客户办公室,却错过了家庭办公室中发生的许多新闻和有趣的事情。 那是孤立的,几乎没有余地让我从事可以帮助我成长为程序员的工作。 除了我的直接经理,这似乎没有其他人欣赏。

I had also recently started going to local iOS meet-ups (DO THIS!!) and found out that I was actually drastically underpaid for the field I was working in and the city I was living in. It was clear I needed to make a change.

我最近还开始参加本地的iOS聚会(做这个!!),发现我实际上在自己所从事的领域和所居住的城市中报酬低得很。显然,我需要做一个更改。

I had two options. Work my ass off to make it into the group of employees that were untouchable, or start looking elsewhere. I went with the latter option. And in hindsight, it was BY FAR the right decision. I interviewed with 4 companies and got two offers. I ended up going with the company Fitbit. The pay was good and the product was great. The team in Boston also managed to be friendly and welcoming during the interview which is a difficult thing to do. I had leveled up, and it felt great.

我有两个选择。 努力工作,使其成为无法动摇的员工,或者开始寻找其他地方。 我选择了后者。 事后看来,FAR是正确的决定。 我采访了4家公司,并得到了两个报价。 我最终选择了Fitbit公司。 报酬很好,产品很棒。 波士顿的团队在面试中也做到了友好和热情,这是一件很难的事情。 我已经升级了,感觉很棒。

中型独角兽 (The Mid Size Unicorn)

Doing well at my last job and securing my new job at a tech unicorn definitely did a number on my ego. I had a lot of confidence and was sure that I would excel at my new company.

在我的上一份工作中做得很好,并在一家科技独角兽公司获得新工作肯定对我的自我起到了重要作用。 我充满信心,并确信我会在新公司中脱颖而出。

Little did I know, I had entered a completely new world. This world was full of product managers, unit tests and millions of users. This was a completely new game and I would have to start from the bottom again. Luckily, I had a great mentor from the start this time around and he helped guide me in my new role.

我几乎不知道,我进入了一个全新的世界。 这个世界充满了产品经理,单元测试和数百万的用户。 这是一个全新的游戏,我将不得不从头开始。 幸运的是,这次我从一开始就有一位很棒的导师,他帮助指导了我的新角色。

The first biggest difference I noticed was the organization of teams and their focus. I was on a product team that solely focused on food, water and weight related functionality in the app. I was hyper focused on a single part of a large app. I was also collaborating with my product manager, engineering manager, team lead, the Android team and design on a regular basis. This style of work was completely unfamiliar to me.

我注意到的第一个最大区别是团队的组织及其关注的重点。 我曾在一个产品团队中专注于应用程序中与食物,水和体重相关的功能。 我非常专注于大型应用程序的单个部分。 我还定期与产品经理,工程经理,团队负责人,Android团队和设计部门进行合作。 这种工作方式让我完全不熟悉。

Everyone had a stake in what you were building and you better be sure that they all signed off on what you built before you shipped to millions of users. The pace felt a bit slower but much more meaningful. Everything that we built was much more polished and had a lot more thought and effort put into it than what I was used to. My first bug fix improved the experience of millions of people and I loved that feeling.

每个人都对您所构建的内容感兴趣,您最好确保在交付给数百万用户之前,他们都对您所构建的内容进行了签名。 脚步感觉有些慢,但更有意义。 我们构建的所有内容都比以前习惯的更加精致,投入了更多的思想和精力。 我的第一个错误修复改善了数百万人的体验,我喜欢这种感觉。

Building a small piece of something much larger than I was also new to me. There are a few different levels to what I mean here also. I was one of around 15–25 iOS engineers. We reported to a larger software engineering org. Which coordinated with hardware production and firmware engineering. Which was all guided by the leaders of the company. The scale and contributing to something so big and so important to millions of people was awe-inspiring. I had to sit down and think about it to let it soak in sometimes.

对我来说,构建一小块比我大得多的东西对我来说还是新的。 我的意思也有几个不同的层次。 我是大约15-25位iOS工程师之一。 我们向一个更大的软件工程组织报告。 与硬件生产和固件工程协调。 这些都是在公司领导的指导下进行的。 巨大的规模和对数百万人如此重要的事情做出的贡献令人敬畏。 我不得不坐下来考虑一下,让它有时浸入水中。

The success stories of people living healthier lives with Fitbit was great motivation. I discovered then that the product you work on can make a big difference in how you feel about the company you work at. This may seem obvious, but it can be overlooked a lot when searching for jobs.

Fitbit使人们生活得更健康的成功故事是巨大的动力。 后来我发现,您从事的产品可以极大地改变您对所从事的公司的看法。 这看起来似乎很明显,但是在寻找工作时却可以忽略很多。

Through the guidance of my mentor, I was able to take on bigger and more complex tasks as time went on. I started setting up meetings to coordinate with other product teams. I even guided some of these meetings. I was always getting feedback from my mentor about what went well and what didn’t. This helped me focus on areas of growth and solidify my strengths.

在导师的指导下,随着时间的流逝,我得以承担更大,更复杂的任务。 我开始设置会议以与其他产品团队进行协调。 我什至指导了其中一些会议。 我总是从导师那里得到关于什么顺利和不成功的反馈。 这帮助我专注于增长领域并巩固了自己的优势。

I also was working on one of the most important and new areas of the app. The company had made some big bets by working on this feature. We were put under a lot of pressure to deliver a ton in a pretty tight timeline. Our team was rock solid though and managed to make the higher ups realize that something had to give, either feature-set or time. We ended up delivering the feature ahead of time for the new release date. And it was at this point that I realized I needed to push myself again.

我还致力于该应用程序的最重要和新领域之一。 该公司通过使用此功能赢得了很大的赌注。 我们承受着巨大的压力,要在非常紧迫的时间范围内交付大量货物。 不过,我们的团队坚如磐石,并设法使高层人士意识到必须付出某些事情,无论是功能设定还是时间。 我们最终在新发布日期之前提前提供了该功能。 正是在这一点上,我意识到我需要再次推动自己。

I saw that I was getting complacent. I also saw that there weren’t many places within the company to lead larger projects. This was due to the fact we had a lot of senior engineers already. On top of that, Boston was starting to feel small and the influence of my previous nomadic lifestyle got me feeling claustrophobic.

我看到我变得自满了。 我还看到公司内部没有太多地方可以领导更大的项目。 这是由于我们已经有很多高级工程师。 最重要的是,波士顿开始变得渺小,而我以前的Nomad生活方式的影响使我感到幽闭恐惧症。

My wife and I decided that we wanted to be in NYC. I had broached the topic of working remotely before but it didn’t seem like it would be workable. So I needed to figure out my next step. I decided to shoot for the top and go for a FANG (Facebook, Amazon, Netflix, Google) company.

我和妻子决定我们要去纽约。 我之前曾提出过远程工作的话题,但似乎并不可行。 所以我需要弄清楚下一步。 我决定拍摄顶级影片,然后去一家FANG(Facebook,Amazon,Netflix,Google)公司。

I had been denied from Google and Twitter before so I knew I needed to know more than pure iOS knowledge. I needed to make sure my algorithm and data structure knowledge was rock solid. I needed to devote time and effort to this. So I started applying to see who would be interested. I got a lot more interest than I thought I would, which was a pleasant surprise, so I knew this was actually happening. I had to put my head down and focus on the next step.

之前,我从未被Google和Twitter拒绝过,所以我知道我需要了解的不仅仅是纯粹的iOS知识。 我需要确保我的算法和数据结构知识扎实。 我需要为此花费时间和精力。 所以我开始申请看谁会感兴趣。 我的兴趣超出了我的预期,这是一个惊喜,所以我知道这实际上正在发生。 我不得不低下头,专注于下一步。

面试准备 (The Interview Prep)

I immediately blew 2 interviews at top tech companies. I got lazy and impatient. I was hoping that I would get in without studying. I was immediately brought back to reality by failing these phone screens.

我立即在顶级高科技公司进行了2次面试。 我懒惰和不耐烦。 我希望我可以不学习而进入。 这些电话屏幕故障使我立即回到现实。

I freaked out a bit because I had wasted two chances with overconfidence and laziness. I only had one more shot at a top company. This drilled it in my head that I couldn’t ride solely on the knowledge that I already had. I would need to spend some time and effort in practicing for interviewing. I ordered a whiteboard soon after.

我有点害怕,因为我因过分自信和懒惰而浪费了两次机会。 我只在一家顶级公司再打了一针。 这让我深深地感到,我不能仅仅依靠已经拥有的知识就骑车。 我需要花一些时间和精力来练习面试。 我不久后订购了白板。

I started with brushing up on data structures and algorithms. I went through LeetCode questions and CareerCup questions. I aggregated questions I thought I would see in the interview by adding them all to a project in my IDE (Xcode in my case). Then I turned off autocomplete and started drilling these questions every night for 2 hours a night. Longer on weekends.

我从梳理数据结构和算法开始。 我经历了LeetCode问题和CareerCup问题。 我汇总了我认为会在面试中看到的问题,方法是将所有问题都添加到IDE中的项目中(本例中为Xcode)。 然后,我关闭了自动完成功能,并每晚每晚2小时开始研究这些问题。 周末更长。

After a while, I had around 75 questions memorized. But it wasn’t only about memorizing problems. Once you internalize how certain kinds of problems are solved, you can apply these patterns to new problems you have never seen. This was the ultimate goal.

一段时间后,我记住了大约75个问题。 但这不仅仅在于记忆问题。 一旦确定了解决特定类型问题的方式,就可以将这些模式应用于从未见过的新问题。 这是最终目标。

I then had my wife learn some of these questions and do mock interviews with me. I started drilling these questions on the whiteboard to get used to whiteboarding. A big part of whiteboarding is space management on the board. I practiced starting at the very top left of the board, using smaller writing in order to use less space, and using these thin tipped markers in order to allow for easier to read handwriting.

然后,我让我的妻子学习了其中的一些问题,并对我进行了模拟采访。 我开始在白板上钻研这些问题,以习惯于白板。 白板的很大一部分是板上的空间管理。 我练习从板子的最左上角开始,使用较小的笔迹以占用较少的空间,并使用这些细的笔尖标记以使笔迹更易于阅读

I made sure that all the syntax I used would compile after I finished writing questions. I also limited myself time-wise to get used to the time-sensitive aspect of interviewing.This got me ready for the tense interviewing environment and helped me excel later on.

我确保在写完问题后可以使用所有语法。 我也将自己的时间限制在习惯于时间敏感的面试方面,这使我为紧张的面试环境做好了准备,并帮助我以后脱颖而出。

I took on a few smaller start up interviews to prep before the big interviews. I didn’t want to make the same mistake again of not being prepared. It was a good idea, too. I started getting incredibly comfortable doing interview questions in any environment.

我进行了一些小型的初创公司面试,然后才准备进行大型面试。 我不想因为没有做好准备而再次犯同样的错误。 这也是一个好主意。 在任何环境下,我都开始变得难以置信地接受采访问题。

I started seeing a few patterns in questions show up over and over again. This allowed me to break down problems I had never seen into smaller pieces. After they were in smaller pieces, they were much easier to solve. It became clear to me after a while that I was ready for the algorithm questions I would face at a Google interview.

我开始一遍又一遍地看到一些问题模式。 这使我可以将从未见过的问题分解为更小的部分。 将它们分成小块后,更容易解决。 一段时间后,对我很清楚,我已经准备好应对Google面试中遇到的算法问题。

I now needed to start prepping for any architecture questions that may come my way. I started packet sniffing apps running on my own phone like WhatsApp, Instagram, Twitter, Allo, and Messenger. This gave me a sense for what their network traffic looked like. I started reading about different ways to cache and persist to disk and different ways to do networking.

现在,我需要开始准备应对可能遇到的任何体系结构问题。 我开始在自己的手机上运行诸如WhatsApp,Instagram,Twitter,Allo和Messenger的数据包嗅探应用程序。 这让我对他们的网络流量看起来有所了解。 我开始阅读有关缓存和持久保存到磁盘的不同方法以及进行网络连接的不同方法。

I played with a bunch of different apps in airplane mode to see how they handled offline cases. I did my best to try and break apps to see how errors were handled. I also looked at a bunch of open source frameworks like SDWebImage and AlamoFire to see how they do things. This helped me understand how the best of the best architected and built apps.

我在飞行模式下玩过许多不同的应用程序,以了解它们如何处理离线案例。 我尽力尝试破坏应用程序,以查看如何处理错误。 我还查看了许多开源框架,例如SDWebImage和AlamoFire,以了解它们是如何工作的。 这帮助我了解了最好的架构和构建应用程序中最好的。

After two months of studying algorithms and app architecture, I felt ready. But there were still doubts in the back of my mind. Should I study more? Am I ready? There is an art to determining when you’re ready. You can’t be impatient and rush into things unprepared like I did at first. But you also can’t hesitate for too long.

在学习了两个月的算法和应用程序架构之后,我感到很准备。 但是我的脑海里仍然有疑问。 我应该学习更多吗? 我准备好了吗 确定何时准备好是一门艺术。 您不能像我刚开始那样急躁而急于准备。 但是,您也不能犹豫太久。

When you’re at the top of your game and you have aced a few interviews at smaller companies, then it is time to go. So that is what I did. I reached out to the recruiter and scheduled a phone screen with that last top company I had a chance with.

当您处于游戏的顶端,并且在小型公司中进行了几次采访时,就该走了。 这就是我所做的。 我与招聘人员联系,并安排了与我有机会接触的最后一家顶级公司的电话屏幕。

屏幕 (The Screen)

The day of the interview, I was nervous. And that was bad. I had been doing a ton of interviews and hadn’t been nervous in a long time. But of course, when it mattered, the nerves came back. The interviewer ended up being 5 minutes late for the screen. Those 5 minutes felt like 5 hours. I remember I was sweating so much that I had to change my shirt before starting the interview. I was a mess. And then the call came.

面试的那天,我很紧张。 那太糟糕了。 我已经进行了大量的采访,而且很长时间没有紧张。 但是,当然,当它变得重要时,神经又回来了。 面试官最后迟到了5分钟才到屏幕。 那5分钟感觉就像5个小时。 我记得我流汗很多,以至于在开始面试之前我不得不换衬衫。 我一团糟。 然后电话来了。

The person on the other end seemed friendly. He asked if I was still free, introduced himself and then jumped right into explaining the format of the interview. This interview would be all algorithm questions. I felt comfortable with this since I had been drilling so much. The first question, I did very well on. The second question, I had a ton of hiccups and needed a lot of guidance from the interviewer. I knew it wasn’t good and had a sinking feeling in my heart that I had failed.

另一端的人似乎很友善。 他问我是否仍然有空,自我介绍,然后直接解释采访的形式。 这次面试将全部涉及算法问题。 自从我进行了这么多的钻探之后,我对此感到满意。 第一个问题,我做得很好。 第二个问题,我遇到了很多麻烦,需要面试官的大量指导。 我知道那是不好的,心中有种我失败的感觉。

We ended the call and I did my best to show my enthusiasm about the company. I had researched a lot about the company beforehand and had a huge list of questions that I wanted to ask. Unique questions that showed I had done some research. I asked about a recent acquisition and the interviewer actually hadn’t heard of it since it was recent news. I explained what the company that was acquired specialized in and asked how the interviewer could see it fitting in at the FANG company. He humored me, which I appreciated. The call ended and I was left alone with my fears and doubts.

我们结束了通话,我竭尽所能表达对公司的热情。 我之前已经对公司做了很多研究,并且想问很多问题。 独特的问题表明我已经做了一些研究。 我询问了最近的一次收购,由于这是最近的新闻,面试官实际上没有听说过。 我解释了被收购的公司专门从事什么工作,并询问面试官如何看待它适合FANG公司。 他使我幽默,对此我表示赞赏。 通话结束,我的恐惧和疑虑让他一个人呆着。

The interviewer contacted me. My heart was pounding. It felt like it had been months since my screen when in reality it was only 3 days before. They hadn’t gotten the signal they were looking for. I wouldn’t be able to go onsite with the performance from my previous screen. I was down but not out. They wanted to do another screen. I jumped at the opportunity and immediately scheduled another date for the second screen.

面试官联系了我。 我的心在跳动。 感觉距我的屏幕已经有几个月了,而实际上距离我只有3天。 他们没有得到他们想要的信号。 我将无法使用以前的屏幕上的演出去现场。 我很沮丧,但没有出去。 他们想做另一个屏幕。 我抓住这个机会,立即为第二个屏幕安排了另一个日期。

The next interviewer was not so friendly. In fact, he came off as down right cold. I started to panic in my head. There is no way this guy will let me through. Just my luck. He laid out the first question. I did pretty well and we got to the next question in about 15 minutes. I once again did pretty well and finished the second one after another 20 minutes. I asked some questions about the company with 5 minutes left and then we ended it. I felt good about my performance but I wasn’t able to read the interviewer’s voice. I had no idea if it was good enough. And so the waiting game began.

下一位面试官不是那么友好。 实际上,他因感冒而脱身。 我开始惊慌失措。 这个家伙不可能让我通过。 只是我的运气。 他提出了第一个问题。 我做得很好,我们在大约15分钟内解决了下一个问题。 我再次表现不错,又过了20分钟就完成了第二个。 我还剩5分钟的时间问了有关公司的一些问题,然后我们结束了。 我对自己的表现感到很好,但是我听不见面试官的声音。 我不知道它是否足够好。 因此,等待的游戏开始了。

This time it took a week to get back to me. Which felt like it was a bad sign. I was both anticipating and dreading the call from the recruiter. Luckily, the recruiter took mercy on me. I could immediately tell from their tone that it was good news. I passed. I had made it to an onsite with a FANG company, for the first time ever. I was overjoyed. But I didn’t let this news make me complacent. I scheduled the interview two weeks from the call with the recruiter. And I drilled like a mad man.

这次花了一周的时间才回到我身边。 感觉好像是一个坏兆头。 我既期待又害怕招聘人员的电话。 幸运的是,招募人员对我宽恕。 我可以从他们的语气中立即看出这是个好消息。 我通过了。 我有史以来第一次来到FANG公司。 我很高兴。 但是我没有让这个消息让我沾沾自喜。 我计划从招聘开始的两个星期开始面试。 我像个疯子一样操练。

I upped the drilling time to 3 hours a day and read everything I could about code in the mean time. I also started being a bit more introspective on my experience as a programmer. I was sure that they would ask me about my work at previous jobs. What were the challenges that I faced? How did I handle failure? Did I take charge and responsibility for tasks that were assigned to me?

我将钻探时间增加到每天3个小时,并在此期间阅读了有关代码的所有内容。 我也开始更加反省自己作为程序员的经验。 我确定他们会问我以前工作的情况。 我面临的挑战是什么? 我如何处理失败? 我是否负责分配给我的任务?

I made a bunch of questions like these and filled out my answers. It was actually kind of a nice experience. I learned a lot about myself and recognized areas that I could improve and areas I excelled. By prepping for this interview, I became a better programmer. I could go into the interview with confidence with this knowledge of myself.

我提出了很多这样的问题,并填写了答案。 实际上,这是一种不错的体验。 我学到了很多关于自己的知识,并认识到了我可以改进和擅长的领域。 通过准备这次面试,我成为了一个更好的程序员。 凭着对自己的了解,我可以充满信心地接受采访。

现场 (The Onsite)

At this point, I had done a huge number of onsite interviews. But seeing how things worked at a FANG company was eye-opening. Flights and meals were paid for, fancy hotels were booked and recruiters were attentive and always checking in on you. Some of these were applicable for other places that I had interviewed, but there was something different about the process at a top tech company. Everything was streamlined and planned for at each step and sub step of the process.

在这一点上,我进行了大量的现场采访。 但是,看到FANG公司的运作方式令人大开眼界。 支付了机票和餐费,预定了高档酒店,招募人员专心致志,并始终在为您办理入住手续。 其中一些适用于我采访过的其他地方,但是顶级高科技公司的流程有所不同。 在流程的每个步骤和子步骤中,所有工作都得到了简化和计划。

My flight to New York City was on time and arrived quickly. The taxi to the hotel was also quick. The hotel itself was gorgeous. It was a boutique hotel in the East Village. I had the urge to go out and enjoy the night and have a drink to calm my nerves but I managed to suppress it. I ordered a meal in and did some final review of some architecture and career questions. Nothing heavy and mostly light reading. I wanted my mind to be fresh for the next day.

我飞往纽约的航班准时到达。 到酒店的出租车也很快。 酒店本身是华丽的。 这是东村的一家精品酒店。 我有外出去享受夜晚的冲动,喝一杯以安抚我的神经,但是我设法抑制了它。 我点了餐,并对一些建筑和职业问题做了最后的回顾。 没什么大不了的,而且大多是轻度的阅读。 我希望第二天新鲜。

The hotel ended up being a bit noisy due to the street activity but I still slept for a good 6 hours. I woke up early and looked for a nearby coffee shop. I drank some delicious pour over coffee and ate a waffle while waiting for the interview to start. I used this time to relax and browse random stuff on the internet. Getting in a calm state of mind helped keep my nerves in control and did wonders for getting in the right mindset before the interview.

由于街头活动,酒店最终有点吵,但我仍然睡了6个小时。 我很早醒来,在附近的一家咖啡店里找。 在等待面试开始的时候,我喝了一些可口的咖啡,然后吃了华夫饼。 我这段时间用来放松和浏览互联网上的随机内容。 保持镇定的心态有助于控制我的神经,并在面试之前做出了使自己保持正确心态的奇迹。

I showed up 15 minutes early and the recruiter showed me around the office. It was a nice office with tons of free food. And free drinks. And coffee. And toothbrushes? That is useful too I guess. She sat me down in a huge room and said that I had gotten lucky. There were other rooms that were much smaller and had much less whiteboard space. I was off to a good start.

我提前15分钟出现了,招聘人员向我展示了整个办公室。 这是一个不错的办公室,里面有大量的免费食物。 和免费饮料。 还有咖啡 还有牙刷吗 我猜那也很有用。 她在一个宽敞的房间里让我坐下,说我很幸运。 还有其他房间要小得多,白板空间要少得多。 我开了一个好头。

I don’t want to go into too much detail about the onsite, but I’ll say this. I did well on most of my questions. I felt good about all the answers I gave. Except for one session. I flopped on one problem out of around 9 or 10. I hoped that this would be enough. I hoped that my enthusiasm and performances in other questions would be enough to shore up my one weak performance.

我不想在现场介绍太多细节,但是我会这样说。 我在大多数问题上都做得很好。 我对自己给出的所有答案都感到满意。 除了一个会话。 我在9个或10个问题中提出了一个问题。我希望这足够了。 我希望我的热情和在其他问题上的表现足以弥补我表现不佳的一面。

I immediately went from the hotel to the airport and flew home. The waiting game began and it took quite a while. And this time, for some reason, I didn’t care. I had pushed myself for so long and focused so much on one thing, that I was sick of it. I was done. If I didn’t get this job, that would be fine.

我立即从酒店出发去机场,然后飞回家。 等待比赛开始了,花了相当长的时间。 这次由于某种原因,我不在乎。 我把自己推了这么久,专注于一件事,以至于我厌倦了。 我做完了 如果我没有这份工作,那很好。

I had done my best and I could give it another shot in a year from now. I also wanted to move to New York and already had one opportunity waiting at a start up that I had liked the vibe of. So getting a job before my lease was up in Boston was the most stressful thing and it was already dealt with. I forgot about my onsite and assumed the worst. Then the call came.

我已经尽力了,并且可以在一年后再给它一个机会。 我还想搬到纽约,已经有一个机会等待自己喜欢的氛围的创业公司。 因此,在我在波士顿租借之前找到工作是最紧张的事情,并且已经得到解决。 我忘记了自己的现场,并认为情况最糟。 然后电话来了。

I passed. I had actually passed. I couldn’t even process what this meant for me. I didn’t even react. I accepted the information and moved on with my day. I had just got back from a long day at work and my brain was in shutdown mode. So I told my wife. She was incredibly happy for me. And I did nothing for the rest of the day.

我通过了。 我实际上已经过去了。 我什至无法处理这对我来说意味着什么。 我什至没有React。 我接受了这些信息并继续前进。 我刚从一天的工作中恢复过来,我的大脑处于关机模式。 所以我告诉了我妻子。 她为我感到非常高兴。 在一天的余下时间里,我什么也没做。

I accepted the offer the next day.

第二天我接受了报价。

And that is my story. Not so glamorous. Full of road bumps, failures and doubts. But I made it. And you can too.

这就是我的故事。 没那么迷人。 充满坎bump,失败和怀疑。 但是我做到了。 您也可以。

This isn’t something that you stumble upon though. You need to be thoughtful in the path you take. And you need to be determined. You also need to have the burning desire to constantly push yourself to be better. Then you can make it. Conquer each one of those challenges one at a time until you arrive where you want to be. Thanks for reading.

这不是您偶然发现的东西。 您在走的道路上需要周到。 您需要确定。 您还需要有强烈的愿望,不断推动自己变得更好。 然后就可以做到。 一次征服这些挑战中的每一个,直到您到达想要的位置。 谢谢阅读。

Like what you saw?

就像你看到的一样?

Here is another article I wrote on how to succeed in your first tech interview. Give a read and a clap if you like it.

这是我写的另一篇文章 ,介绍如何在您的第一次技术面试中取得成功。 如果愿意,请阅读并鼓掌。

Required Disclaimer: This article contains Amazon affiliate links. Any click may result in me receiving a commission.

必需的免责声明:本文包含Amazon会员链接。 任何点击都可能导致我获得佣金。

翻译自: https://www.freecodecamp.org/news/how-i-went-from-stuck-and-hopeless-to-making-my-tech-career-dreams-come-true-d1fcf52c0650/

数字天堂陷入困境

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值