实习一年算工作一年吗?_经过一年的努力,我如何找到软件工程工作

实习一年算工作一年吗?

by Andrew Ngo

通过安德鲁·恩戈

经过一年的努力,我如何找到软件工程工作 (How I landed a software engineering job after a year of hard work)

Many of us think the path to becoming a software engineer requires years of education and an extremely high IQ. While software engineering is one of the brightest professions, don’t let that discourage you from learning to code and becoming a software engineer.

我们中的许多人认为,成为软件工程师的道路需要多年的教育和极高的智商。 尽管软件工程是最杰出的职业之一,但不要因此而灰心,因为这会阻碍您从学习代码到成为一名软件工程师。

I thought it was too late for me to transition into computer science, but no matter where you are in life, it’s never too late to learn and pursue your passion.

我以为进入计算机科学领域为时已晚,但是无论您身在何处,学习和追求自己的热情永远不会太晚。

我的非传统背景 (My non-traditional background)

I did not attend a top ranked university nor do I have a technical background. I didn’t have a passion for solving puzzles as a kid nor compete in math competitions. I actually strayed away from troubleshooting computers as a kid after the many failed attempts of getting the wifi to work.

我没有上过一流大学,也没有技术背景。 我小时候没有解决难题的热情,也没有参加数学竞赛的热情。 在使wifi无法正常工作的许多尝试失败之后,我实际上还是从小就放弃了对计算机进行故障排除的工作。

I graduated with a Business Administration degree and worked two finance jobs that didn’t challenge me. They were easy, simple jobs, but it got mundane and boring really fast. I didn’t feel like the work I was doing was fulfilling and was turned down every time I asked for more analytical tasks. I then decided to better my skill set and create my own opportunities.

我获得了工商管理学位,并且从事过两项财务工作,这些工作对我没有挑战。 他们是简单,简单的工作,但很快就变得平凡而无聊。 我觉得自己所做的工作没有完成,每次要求进行更多分析任务时都被拒绝了。 然后,我决定提高自己的技能,创造自己的机会。

A little over a year ago, I picked up SQL since it’s a popular skill in financial analytics. After learning the syntax, coding didn’t seem as intimidating anymore. It was kind of like learning a new language. Once you are able to read and write, you can understand things that once looked completely foreign. I really enjoyed learning a new language and being technical in my work, so I knew that this was something I had to pursue.

一年多以前,我选择了SQL,因为它是财务分析中的一种流行技能。 在学习了语法之后,编码似乎不再令人生畏。 这有点像学习一种新语言。 一旦能够读写,就可以了解曾经看起来完全陌生的事物。 我真的很喜欢学习一种新语言,并且在工作中精通技术,所以我知道这是我必须追求的。

选择正确的道路 (Choosing the right path)

I considered the different routes to pursue a career in development. I did not want to spend another two years in undergrad, and I didn’t want to learn everything on my own. I’d heard success stories of people who attended coding bootcamps and were able to transition into a software engineering role. After doing a lot of research, I decided this was the best option for me and applied for the next Hack Reactor cohort.

我考虑了追求职业发展的不同途径。 我不想再花两年的时间去读本科,也不想自己学习任何东西。 我听到过一些成功的故事,这些人参加了编码训练营,并且能够转变为软件工程师。 经过大量研究,我认为这对我来说是最佳选择,并申请了下一个Hack Reactor群组。

I needed to pass a technical interview in order to be admitted into the program, so I spent all my time either after work or on the weekends learning as much as I could. It was difficult making time to learning something completely new after being drained from a full-time job, but my motivation to reach my goal kept me going.

我需要通过技术面试才能被录取,所以我下班后或周末都花了很多时间学习。 在全职工作耗尽之后,很难抽出时间去学习全新的东西,但是我追求目标的动力使我继续前进。

I completely bombed my first interview, but I learned from my mistakes and I booked another interview on the day of the deadline. I made sure this time I was prepared and communicative with my entire thought process. The next day I received my letter of acceptance and my journey to becoming a software engineer had officially begun.

我完全炸毁了我的第一次采访,但我从错误中吸取了教训,并在截止日期当天又进行了一次采访。 我确定这次我已经准备好并且可以与我的整个思考过程进行交流。 第二天,我收到了录取通知书,成为软件工程师的旅程正式开始了。

磨练你的手艺 (Hone your craft)

The campus I decided to attend was in San Francisco, one of the biggest tech hubs in the world. Being in SoCal all my life, it was definitely a major change and it wasn’t easy saying goodbye. I packed up all my things and moved into a shared apartment in SF.

我决定参加的校园位于旧金山,这是世界上最大的技术中心之一。 一生都在SoCal中,这绝对是一个重大的变化,说再见并不容易。 我收拾好所有东西,搬进了旧金山的一间共用公寓。

During the first few days into my program, I got to know my classmates. A majority of them came from highly respected universities and had STEM degrees. Many of them had prior knowledge of other scripting languages and experience with Object Orientated Programming. I knew I had a lot to catch up on if I didn’t want to fall behind.

在计划的前几天,我认识了我的同学。 他们中的大多数来自备受推崇的大学并拥有STEM学位。 他们中的许多人具有其他脚本语言的先验知识,并且具有面向对象编程的经验。 我知道如果我不想落后的话,我还有很多要追赶的机会。

They call it a coding bootcamp for a reason. Classes were scheduled from 9am — 8pm, six days a week, but I would usually stay till 10pm or midnight. I pretty much lived, breathed, and slept code.

他们称其为编码训练营是有原因的。 上课时间为每周六天,从上午9点至晚上8点,但我通常会呆到晚上10点或午夜。 我几乎过着呼吸,睡觉和睡觉的代码。

The first few weeks I really struggled. I would cram as much information as I could while making sure I still retained the previous days’ information, and repeated this process again the next day. There were moments where I doubted myself and didn’t think I had what it takes to be a programmer. I sacrificed so much to be there and my friends and family were all counting on me to finish strong. I knew this was my only shot, so I persisted and weathered the storm.

前几周我真的很挣扎。 在确保仍然保留前几天的信息的同时,我会尽可能多地填充信息,并在第二天再次重复此过程。 有时候我会怀疑自己,不认为自己有成为程序员的能力。 我为在那里而牺牲了很多,我的朋友和家人都指望我能保持坚强。 我知道这是我唯一的机会,所以我坚持并度过了难关。

Days and weeks began to fly by and I slowly started to get into the flow. I began to learn “how to learn” and be reliant on my own skills to figure out the problems I faced. Google is any developer’s best friend and it’s very likely that someone else has come across the same error you’ve run into.

几天又几周开始飞逝,我慢慢开始进入潮流。 我开始学习“如何学习”,并依靠自己的技能来解决自己面临的问题。 Google是任何开发人员的最好朋友,很可能其他人遇到了您遇到的相同错误。

I worked on sprints every two days which covered JavaScript fundamentals, frontend frameworks, servers, databases, deployment and much more. I was just going with the motions for the first few weeks, but when I finally created an entire full stack application, that’s where it all clicked. I finally understood the purpose of specific technologies I was using and everything made sense.

我每两天进行一次sprint工作,其中涉及JavaScript基础知识,前端框架,服务器,数据库,部署等。 前几周我只是在进行动议,但是当我最终创建了一个完整的全栈应用程序时,一切都在这里。 我终于了解了我正在使用的特定技术的目的,并且所有事情都说得通。

让我们来构建一些东西 (Let’s build something)

Once the foundation was set, my program’s curriculum shifted toward building projects. I would work on capstone projects with teams that would emphasize either frontend or backend. They say you get out what you put in, so I made sure to show my absolute best work into these projects. Not only did it have to work, but the code had to be clean and readable in case potential employers reviewed my git repositories.

一旦确定了基础,我的计划课程就会转向建设项目。 我将与强调前端或后端的团队一起进行顶点项目。 他们说您会付出很多,所以我确保在这些项目中展示我绝对的最佳作品。 它不仅必须工作,而且代码必须清晰易读,以防潜在的雇主审查我的git存储库。

The last capstone project was called MVP, also known as Minimal Viable Product. We basically had 72 hours to create anything we wanted as long as it was a full stack application. The limited time was a challenge and I had to make sure I was able to manage my time efficiently. I couldn’t be over ambitious with my project, but I also wanted it to be something I would be proud of.

最后一个顶点项目称为MVP,也称为最小可行产品。 只要是全栈应用程序,我们基本上有72个小时来创建所需的任何东西。 有限的时间是一个挑战,我必须确保自己能够有效地管理自己的时间。 我不能对我的项目过分雄心勃勃,但是我也希望它成为我引以为傲的东西。

My first idea was to build a decentralized app that would utilize the Ethereum blockchain. It sounded impressive for employers, but I wasn’t familiar with the Solidity language and wasn’t sure if I would be able to complete the entire dapp in time. Another idea I would joke about was a boba rating app for all the nearby boba shops my classmates and I would visit.

我的第一个想法是构建一个利用以太坊区块链的去中心化应用程序。 对于雇主来说,这听起来令人印象深刻,但是我对Solidity语言并不熟悉,也不确定我是否能够及时完成整个dapp。 我会开玩笑的另一个想法是为我的同学和我附近的所有附近的boba商店提供boba评级应用程序。

When it came time to decide, I remembered I picked up coding because it was fun for me. I felt like I would put in 110% into something that I would enjoy, rather than something I would constantly stress about. I ended up choosing the boba rating app and loved every second of it.

是时候决定了,我记得我选择了编码,因为这对我来说很有趣。 我觉得我会投入110%投入到自己喜欢的事情中,而不是不断强调的事情。 我最终选择了boba评分应用程序,并爱上了它的每一秒钟。

Once I got the basic functionality down, I would keep implementing additional features to it. It eventually became a passion project and will always be a memorable project that I’m proud of. Don’t do something because it may look impressive to others, do it because you truly enjoy it.

一旦掌握了基本功能,我将继续为其实施其他功能。 它最终成为一个激情项目,并将永远是我引以为傲的令人难忘的项目。 不要做某件事,因为它可能会让他人印象深刻,请这样做,因为您真正喜欢它。

By the end of the 13th week, my entire mindset changed from when I started my program. I felt more confident as a developer and proud of everything I accomplished. I learned so many new technologies that would have taken me years to learn on my own. I’ve become more autonomous and rely on my own skills to solve problems. I was finally prepared to jump into my job search and couldn’t wait to start.

到第13周结束时,我的整体思维方式从我启动程序时开始改变。 作为开发人员,我感到更加自信,并对我所取得的一切感到自豪。 我学到了许多新技术,这些技术需要我数年才能自行学习。 我变得更加自主,依靠我自己的技能来解决问题。 我终于准备好进入工作搜索了,迫不及待地想开始。

(The Grind)

Before my program ended, I knew I had to hit the ground running. I had prepared for months and now it was my chance to show employers what I had. I knew the entire MVC and how to build the full stack, but when I had mock interviews, I would get so nervous and completely blank out. At that point, it would be a downward spiral and my entire thought process would derail. How was I going to pass an actual technical interview when I couldn’t even handle mock ones?

在我的程序结束之前,我知道我必须坚持到底。 我已经准备了几个月,现在是我向雇主展示我所拥有的机会。 我知道整个MVC以及如何构建完整堆栈,但是当我进行模拟面试时,我会变得如此紧张,完全空白。 到那时,这将是一个螺旋式下降,而我的整个思维过程将脱轨。 当我什至无法处理模拟样例时,我该如何通过实际的技术面试?

I doubled down on studying data structures and algorithms while grinding Leetcode questions. I had to make sure that I wasn’t memorizing specific problems, but understanding the problem solving process to tackle any question. Once I was able to come up with a basic solution to a problem (also known as brute force), I knew interviewers would be looking for an optimal solution. They want to know if you can be efficient with your algorithms with respect to both time and space.

我在研究Leetcode问题的同时加倍研究数据结构和算法。 我必须确保我没有记住特定的问题,而是了解解决问题的过程以解决任何问题。 一旦我能够提出问题的基本解决方案(也称为蛮力),我就知道面试官会寻找最佳解决方案。 他们想知道您是否可以在时间和空间上提高算法的效率。

Once I built a better problem solving foundation, it was time for me to face my fear of interviewing. I heard of the concept of shock therapy, basically facing your fears head-on. Similar to how Batman overcame his fear of bats by surrounding himself in a cave full of them, I had to practice interviewing more.

一旦我建立了一个更好的解决问题的基础,就该让我面对面试的恐惧了。 我听说过电击疗法的概念,基本上是直面面对您的恐惧。 与蝙蝠侠如何将自己包围在充满蝙蝠的洞穴中来克服对蝙蝠的恐惧一样,我不得不练习更多的采访。

I used a site called Pramp that would pair you with another person and you would take turns interviewing each other. I mustered up the courage and scheduled my first interview. I would talk out my thought process and the solution naturally came to me. I could slowly feel my nervousness fade away and I started to enjoy interviewing.

我使用了一个名为Pramp的网站,该网站可以将您与另一个人配对,并且您会轮流互相采访。 我鼓起勇气,安排了我的第一次面试。 我会说出自己的思考过程,然后自然就找到了解决方案。 我逐渐感到自己的紧张情绪消失了,我开始喜欢采访。

By the end of the mock interview, I asked for feedback and learned what I could improve on. After it was all over, I felt great! Interviewing wasn’t all that scary and you can really benefit from the process. I then practiced every day so I would be prepared for an actual interview.

在模拟面试结束时,我征求了反馈,并了解了可以改进的地方。 一切都结束之后,我感觉很棒! 面试并没有那么可怕,您可以从该过程中真正受益。 然后,我每天都要练习,以便为实际的面试做好准备。

“Success is not final, failure is not fatal: it is the courage to continue that counts.” — Winston Churchill
“成功不是最终的,失败不是致命的:重要的是继续前进的勇气。” - 温斯顿·丘吉尔

所有数字游戏 (All a numbers game)

While I was preparing for interviews, I started applying to jobs as well since the application process would take some time, especially for larger companies which could take weeks or months.

在准备面试时,我也开始申请工作,因为申请过程会花费一些时间,尤其是对于大型公司而言,可能要花几周或几个月的时间。

I noticed it was a common trend for new developers to solely focus on preparation prior to applying, but that could be a costly mistake. There is always something to study when it comes to software engineering so you can’t prepare for everything. I’ve been asked about all sorts of topics such as data structures and algorithms, system design, frontend design, testing, and domain knowledge. By the time you’ve studied “everything”, it may take months to get your first interview.

我注意到,对于新开发人员而言,在申请之前仅专注于准备工作是一种普遍趋势,但这可能是代价高昂的错误。 在软件工程方面总要学习一些东西,因此您不能为所有事情做准备。 我被问到各种各样的话题,例如数据结构和算法,系统设计,前端设计,测试和领域知识。 到您学习“一切”时,可能要花费数月才能进行第一次面试。

One strategy is to interview with companies that you know aren’t your first choice. This way you will be more prepared and know what to do correctly when you do get a chance to interview for your dream companies.

一种策略是采访您知道不是您首选的公司。 这样,当您有机会为梦想中的公司进行面试时,您将更加准备就绪,并且知道正确的做法。

I knew attending a Bootcamp was not going to guarantee me a job. I was competing with those with Computer Science degrees and previous industry experience. Being an applicant without a technical degree or relevant work experience, I was going into the job search with a disadvantage.

我知道参加Bootcamp并不能保证我得到一份工作。 我正在与拥有计算机科学学位和先前行业经验的人竞争。 作为没有技术学位或相关工作经验的申请人,我在找工作时处于不利地位。

I applied to any engineer or developer role I came across and reached out to any connections at potential companies I would want to work at. I sent out over 300 cold applications and received an incredibly low response rate. I was being filtered out and received countless automatic rejection emails.

我申请了我遇到的任何工程师或开发人员角色,并与我想工作的潜在公司的任何人接触。 我发出了300多个冷申请,收到的响应率非常低。 我被过滤掉并收到无数自动拒绝电子邮件。

What I found to be the most effective method of getting in touch with a recruiter was through referrals. Referrals make complete sense from the employer’s standpoint. Why trust a complete stranger that you haven’t met when you have a candidate vouched for by a current employee that you can trust? One thing anyone can do is expand their network by going to meetups and events. LinkedIn is a great tool for finding mutual connections at companies; utilize it to the fullest.

我发现与招聘人员联系最有效的方法是通过推荐。 从雇主的角度来看,转介是完全合理的。 当您有一个可以信任的现任员工担保候选人时,为什么要信任一个您还没有认识的陌生人呢? 任何人都可以做的一件事就是通过参加聚会和活动来扩大他们的网络。 LinkedIn是查找公司相互联系的好工具。 充分利用它。

There will be many obstacles in your first job search. I’ve killed it multiple times in technical screens and received great feedback from the interviewer, only to get a rejection email from the recruiter later on. You just need to be persistent, learn from past interviews, and keep going. If you keep doing everything right, you are bound to eventually find the right opportunity and land an offer.

首次求职中会有很多障碍。 我已经在技术屏幕上将其杀死了多次,并得到了面试官的好评,后来才收到招聘人员的拒绝电子邮件。 您只需要持之以恒,从过去的访谈中学习,然后继续前进。 如果您继续做正确的事情,那么您一定会找到合适的机会并提出要约。

诚实的勤奋回报 (Honest hard work pays off)

By the end of my three-month job search, I was invited to five on-site interviews and received three offers. After much thought, I am happy to announce that I will be joining Zume Inc. in the San Francisco Bay Area. I love the mission and everyone I have met. All my hard work and long nights finally paid off and I couldn’t be any happier with where I am in my life right now. I am so thankful for everyone that has supported me on this journey. I know I will be challenged every day and make more of an impact with my work.

在为期三个月的求职结束后,我被邀请参加了五次现场采访,并收到了三份工作邀请。 经过深思熟虑,我很高兴地宣布我将加入旧金山湾区的Zume Inc.。 我热爱这项使命,也喜欢我遇到的每个人。 我所有的辛勤工作和漫长的夜晚终于得到了回报,现在我对自己的生活再满意不过了。 我非常感谢在此旅程中支持我的每个人。 我知道我每天都会受到挑战,并会对我的工作产生更大的影响。

What I love about software engineering is that it doesn’t matter what background you have. Anyone can learn how to code and hone their skills. If you are coming from a non-traditional path like me, it may take a bit more work than the rest, but it will all pay off. Life is too short to settle for less, so do something you love.

我对软件工程的热爱是,无论您拥有什么背景都没有关系。 任何人都可以学习如何编码和磨练自己的技能。 如果您来自像我这样的非传统道路,则可能需要比其他工作多一些的工作,但一切都会有所收获。 生命太短暂了,无法减少生活,所以做点自己喜欢的事情。

Wishing you the best of luck on your endeavors — Andrew

祝你一切顺利—安德鲁

Feel free to connect and follow me on LinkedIn as I help inspire those wanting to break into the tech industry: www.linkedin.com/in/andrew-ngo/

请随时与我联系,并在LinkedIn上关注我,以帮助激发想进入科技行业的人们: www.linkedin.com/in/andrew-ngo/

翻译自: https://www.freecodecamp.org/news/how-i-landed-a-software-engineering-job-in-a-year-f7475fce471d/

实习一年算工作一年吗?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值