假如你没有计算机学位,怎样成为一名软件工程师?

当然不是只有一条路可以成为工程师,你可以参加编程训练营、自学、获取学位亦或得到一份实习慢慢去成为一名软件工程师。我参加了一个编程训练营,但在那段时间里我仍要额外的去学习,只为了真正能理解搞懂。

我被第一个公司雇佣,在试用期做学徒。在我证明自己后,我被雇佣成为一名全职工程师。我现在在世界上最大的工程出版公司里做一名出版作者。

与此同时,妹妹到了一家公司里,在刚开始的几周免费地为他们工作,仅仅只是为了证明她能做好这份工作。这就表明了,许多道路的大门都会为那些愿意努力工作和学习的人敞开。

如果你没有获得一个计算机学位,没问题!有许多其他的道路也可以成为一名软件工程师。让我们瞧瞧它们其中的几个。

训练营

参加一个公认合法的训练营将是你职业生涯中的一笔巨大投资。我大学毕业时,对于接下来想要做什么感到挺迷茫的。

我一向热爱编程但却从未真正追逐过它。当我阿姨知道,我正在尝试弄清楚我应该为我真正的职业生涯的第一步做什么时,不是在大学里面的实习和兼职的那种。她给我发了一份关于编程训练营的邮件,这真的拯救了我。

我之前甚至从来没有听过编程训练营。我立刻就开始做了一大堆调查,编程训练营讲得似乎太好了,以至于我感觉不现实。从那些在网上能找到的、去过训练营的学生上,我阅读他们每一个人发的博客帖子,阅读一些评价,开始发邮件给那些参加过训练营的学生,问他们一些问题。

做完调查后,我决定申请参加一个训练营。进去的时候,我非常紧张,那时我并没有钱,所以我得去父母那儿贷点儿。我甚至没办法在旧金山找到一个价格合理的公寓,在一个拥挤的房子里和室友睡在双层床里,这房子有点像罗恩·韦斯莱(哈利波特里面的主角),但没有魔法。

这是我做过最棒的事了。

五年后,我成为了一名高级软件工程师。我经常待在会议室里讲话,在 Eventbrite 和 Pandra 这样的巨头上市公司里工作过,被报纸和电视上采访过几次,被顶尖公司聘请去做顾问,在世界上最大的工程出版社做出版作者。一个编程训练营完全改变了我的命运!

但是,不是所有和我参加了训练营的人都会这样。刚开始进去的时候我们这帮人有 50-60 个学生,等到毕业的时候就只有 10 个了。有些人要留级去学习更多,有些早早辍学了,不过他们仍然得到了一大笔退学费;当财务损失太高时,有些人在中途认为工程师不适合他们;其他人因为跟不上而被劝退。

一个编程训练营是你人生中最大的花销之一了。你需要自己做调查。网上有许多吓人的故事:有人支付了 6、7 万,却发现训练营是诈骗或老师不合格。

一个好的训练营会在线上开始第一阶段,你会在家学习,他们会教你基本的编程概念。所以当你到编程现场的时候,你能够专注于更难的工程概念,旁边的老师会回答你的问题。

确保选择一个包含求职准备的培训计划,一些职业发展顾问会给你指导。这是我在训练营最受益的部分。我能得到第一份工程师工作是因为训练营帮我写好了 LinkedIn 并且优化我的个人介绍。我的第一个公司实际上在LinkedIn上找到了我,我甚至都没有申请过这公司。

如果你决定要做个编程训练营的调查,我建议你从这几个开始:HackReactor,App Academy 和 Hackbright。

自学

如果你有时间并且能够很好地管理你的时间,这部分也许会非常适合你。这绝对是最难的选择,因为你要坚持一个计划并且保持动力。

为了让你坚持下去,设定目标非常重要。我建议你在学习一个更加昂贵的线上课程之前西先用一些免费资源作为学习的开始。试试 freeCodeCamp 的响应式 Web 设计课程来开始你的编程吧。

当你完成了这几项线上课程,开始挑战自己。不要总是跟着教程走,尝试建立一些你自己的项目。

选一个让你感到兴奋的想法。如果你真的对你所建造的东西充满激情,你就会有动力坚持下去。有什么你能尝试的、有趣的网站、想法或命令行项目吗?千里之行,始于足下,每天做一点点但是保持增加项目的复杂度。不久之后,你就能在你的简历上用上这些项目。

确保你每一天都划分有一个专门的时间来学习编程,即使每天只有半个小时——这总比一周几个小时一次效果好得多。

如果你选择了自学,你可以找一个搭档!试着去找一个和你在同一条道路上的人。在继续学习你今天的内容之前,向他们伸出援手并分享你今天所做的。

培训制/实习

从训练营毕业后,我作为工程师的第一份工作就是接受培训,搭建一个购票系统。这个工程有着资源,要选两名初级工程师,我就是被选中的工程师之一。

这个培训所教的比我一个月前想到的还要多。我常常和一名工程师结对编程,公司也不压迫我立刻去写大量的代码。

我非常高兴自己决定参加了这种让人专注于学习的培训,而不是一份既不会教我东西也不会帮我在个人职业生涯中成长的工作。

公司提前一个月结束了我的培训,并雇佣我成为一名全职工程师。一年半后,我被提升为一名高级软件工程师,他们优先培训了我,并且特别关注我。

一个更大的公司也会有更加规范的程序,也就是说你可能有专门的导师,熟悉岗位的时间和更多的资源。我能获得学徒机会,是因为几个高级工程师真的想要帮一个初级工程师成长,也愿意花时间培训我。

然而,通常来说那些培训或者实习的候选者,他们要么就早早的拿到了计算机学位,要么就参加了一次训练营,能够快马加鞭地上手工作。

我妹妹自学编程,然后跟一个公司说她乐意免费地工作几周去证明自己。他们欣赏她的决心,愿意让她一试,最后,即使后面还有一大堆人在申请这份实习,也先雇用她为全职工程师。

因为刚起步的竞争极其激烈,所以当你申请工作的时候能拿出你的闪光点就非常重要。如果你没有参加训练营或者没有一个计算机学位,你就需要做一份很棒的作品集和简历

Ali Spittel 在 freeCodeCamp 上发布了一个关于创建优秀作品集的博客

在你当前的公司转到工程岗位

在我之前工作的一个大公司里面,许多人都是从不同的团队转到工程团队的,有些人以前是做客服的或质量管理的。

这并不容易,他们也要去学很多东西,但他们现在都成为一名全职工程师。他们只要证明自己能够胜任这份工作并且能够立马上手就行。

这需要你在能够完成当前工作的同时,还有时间去做额外的事。你需要向公司证明你能够快速学习并创造利润。这也意味着你要在周末要加班加点,但最后这都是值得的。

这在其他程度上让你的公司受益了,因为他们不仅得到了一位工程师,还是一位早就知道公司如何运作的工程师。如果你在质量管理岗位或客户岗位工作过,那你早早就了解了产品,也知道客户的痛点。这对一个公司来说是一笔巨大的资产。

还有一件事要注意的是,如果你的公司没有工程团队,那你就没办法这样了。确实,如果有一个比较大的工程团队,当你遇到问题的时候,你就有潜在的导师,可以和工程师一起处理程序。

哪些人可以学会编程并且得到一份工作

我在大学没有选择工程类专业,因为我认为自己不够聪明,认为工程师是男性的领域,我会遭到排挤。

现在,我是一名高级区块链工程师、iOS 工程师、高级前端工程师、高级全栈工程师。我也是一名专栏作者,并且在技术大会上演讲。时常有谷歌、Facebook、LinkedIn 和 Apple 的招聘人员联系我。

如果你能下定决心,你就能得到一份工程师工作。

如果你喜欢我的文章,可以给我发 Email,免费获得我关于成为一名软件工程师的指南。

原文:How to Become a Software Engineer if You Don't Have a Computer Science Degree,作者:Randall Kanna