股票软件销售不想做了(自学编程 16 个月后,我从销售员成功转型为程序员)



2015年8月18日,我在多伦多飞往哥本哈根的单程航班上,准备开始哥本哈根商学院为期两个学期的交流生活。

那天是我哥哥的生日,所以我记得很清楚。他在机场度过了这个生日,因为全家人都在机场为我送行。他们以为我只会去八个月。

过去我对哥本哈根的唯一了解来自付令超杂志上的CPH公开赛& # 39;S YouTube频道,这个频道。幸运的是,我完全爱上了这座城市,所以在第一学期结束后,我决定在哥本哈根呆更长时间。我没有选择在加拿大实习,而是尝试在哥本哈根找实习。

在哥本哈根工作

之前没好好规划过这个,就开始找销售开发代表实习。之前在一个班里听说了这个初级职位,因为之前的工作经验是和销售、客服相关的,觉得会很适合。

我把简历投给了一家初创公司,不到四个小时,他们的销售经理就给我打了电话。这是我第一次感受到创业公司的快节奏!一个月后,我参加了工作。这也是我第一次接触职业程序员。

虽然我只在高中Visual Basic课程中接触过软件开发,但我一直对技术有着浓厚的兴趣。

这份工作让我第一次有机会和程序员一起工作。他们的工作听起来很酷。他们谈论一些技术术语和技术——react、Ember、Scala、Python、TypeScript、样板代码、编译器、渲染...软件开发要知道这么多,听起来挺吓人的。

接下来的一年半,我在销售岗位上继续努力,最后我被提升为客户主管。在这份工作中,我觉得自己的沟通能力、时间管理能力、表现能力都得到了很大的提升。

发现 freeCodeCamp

虽然我是成功的客户经理,但我还是对自己以后是否愿意在销售行业发展心存疑虑。而且在母语不是英语的国家做英语销售,职业选择也很有限。

我开始扩大阅读面,寻找新的爱好或挑战。这时候我发现了freeCodeCamp的博客(当时是建立在Medium上的)。我花了几天时间才意识到freeCodeCamp不仅仅是一个博客,它是一个在线免费学习和编程的平台!其实从它的名字就能看出来。

做完几道HTML题,我就彻底入迷了。当时我决定在空空闲时间完成freeCodeCamp课程,以便在遥远的将来成为一名开发者,和同事们一起讨论React。我喜欢这个主意。

艰难地学习基础知识

我很快学会了HTML和CSS,在开始尝试完成一个项目之前,我还挺自信的。建一个作品集网站?小菜一碟!

离开freeCodeCamp的编辑,突然觉得很迷茫。从零开始写项目似乎是一个不可能完成的任务,我似乎完全忘记了我所学的东西。我突然觉得我做不了真正的程序员。

这个时候,求助是我做的最好的决定。我的一个同事很耐心的教我用VS代码构建HTML文档,链接相应的CSS文件。在糟糕地完成作品集网站后,我检查了这个任务为“已完成”,尽管我的成绩与其他人相比很差。

股票软件销售

学了一个半月的HTML和CSS课程,终于开始学一直在等的JavaScript课程了。

学习 JavaScript

刚开始很简单,但没过多久,我又感到迷茫和挫败。学完JavaScript的所有模块,我没有信心和韧劲去挑战更难的JavaScript项目。而是选择了简单的路线,开始学习Codecademy的JavaScript课程。

这当然有助于巩固基础知识,毕竟反复练习才是关键。然而,我在学习期间犯的最大的错误是,我没有回去尝试那些更难的项目。

学完Codecademy的所有模块后,我在Udemy上买了《JavaScript Bootcamp》继续学习JavaScript。由于这是我第三次梳理基础知识,所以课程结束后我对JavaScript感觉更有把握了。

进入 Pleo

这个时候我直接开始学Node,后面是React类。

在这两门课程之间的某个时候,我在Pleo找到了一份客户经理的工作。能成为这样一家快速发展的初创公司的一员,非常令人兴奋。更令人兴奋的是见到这么多年轻有才华的开发人员,并有机会向他们学习。

工作了三个月左右,我和主管讨论了我的职业规划。我很坦白的告诉她,我不想再在销售行业发展了。我想尽我所能自学编程,争取将来有一天成为一名程序员。

没有人愿意从自己组里的一个初级销售代表口中听到这些话。但出乎我意料的是,她非常支持我的决定,愿意尽力帮我实现目标。

尝试编程挑战

和公司的一位技术总监交流后得知,我需要完成招聘过程中要求的前端编程任务,才能继续从销售部门到产品部门的职业转换。

尝试的想法令人恐惧,也充满动力。也是从这个时候开始,我后来开始呆在办公室。我不想浪费时间骑自行车回家,所以每到下午五点,我就会赶紧找点晚饭,尽快赶回驻地,开始我假装程序员的一天。

终于在圣诞假期前上完了React课,开始做一些没完没了的个人项目。我知道我需要学以致用,但是我发现我很难完成一个没有终极目标的项目。

假期时间变得充裕,开始审视之前遇到的前端挑战。我仍然怀疑我提交有价值的成果的能力,但是因为我的目标,我认为我最终可能能够完成一些事情。

好在我们公司的前端挑战和React课程的期末项目很像,所以我可以重用很多以前的代码和组件。我感觉我在作弊。

我仍然提交了我的项目,并积极等待回应。我们公司的两个高级工程师审查我的代码,我非常害怕,所以我准备好接受一些严厉的反馈。

几个星期后,我得到了结果,我提交的作品还不算太差!我收到了一些非常可行的批评和建议。我的一个同事甚至在下班后留下来一行一行地向我解释反馈。代码审查会议进行得非常顺利,所以我们决定每周预约一次,直到我能够成为一名真正的开发人员。

我的第一次 Pull Request

接下来的几个月,销售总监和技术总监时不时来监督我的进度。四月份,我有机会在内部工具组工作。物流系统存在一些不紧急但仍需处理的问题。

我很兴奋——这是我获得与产品部门合作经验的绝佳途径,而且已经明确表示这个任务不会妨碍销售工作。一想到能接触到生产环境的代码就觉得很疯狂!

简单介绍了一下小组,得到公司GitHub page的许可后,开始处理第一个问题。

我需要向合规组添加一个可编辑的输入字段。我不知道。我以前确实知道如何添加输入框,也对表单在React中的工作方式有一个大致的了解,但是我似乎从来没有在任何教程中看到过类似的代码。

突然感觉自己陷入了问题的深渊:怎么写打字稿?什么是分支?我如何提交拉取请求?这些图书馆是干什么用的?我究竟如何编写代码并发送给其他用户?如果我破坏了重要的功能怎么办?

我花了好几天才弄明白,但多亏了工程师主管的耐心和帮助,我终于成功提交了两段可以发布的代码。这是我编程旅程中的一个巨大里程碑。

职业转变

接下来的五个月,我继续在办公室呆到很晚,9点到17点做销售工作,17点以后开始做开发,直到对自己写的代码满意为止。

可想而知,我对销售工作的热情一天比一天降低,开始想正式转行。

当然,这种转变并不是很顺利。没人知道把一个销售转到产品部门意味着什么。首先,我必须完成销售目标。我认为这对于大多数销售部门来说是正常的——他们无论如何都要完成自己的工作定额。

几经周折,终于在8月1日获准正式转让,只要能完成销售额度。就像隧道尽头的光。马上要签约做软件工程师了,这是我很难想象的。接下来的几周过得飞快。7月31日17: 00后,我不再是客户经理。

适应新角色需要一个过渡期,就像在交易所工作的股票经纪人突然变成图书管理员一样。

抛开一切不谈,我没有一天不想来上班。我继续在内部工具组工作,成立合规组和用户支持的后台系统。

我学到的东西

我以前的销售经验对我现在的工作很有帮助。强大的沟通技巧、时间管理技巧和表达技巧对一个开发者来说也是无价的。但是我发现很多开发者普遍缺乏这些素质。

我意识到我真的很幸运,这么快就有机会写生产代码了。毫无疑问,这是学习编程过程中的一大飞跃,也拓展了我对现实中开发工作的理解,这是网络课程无法获得的。

有一个导师极大的帮助我加快学习速度,帮助我坚持写项目,让我一直处于学习状态。如果我身边没有那么多支持,我想我可能还是会把整个晚上和周末的时间花在看教程或者搭建“随机生成皮卡丘”之类的项目上。

我决心把我所有的空业余时间都花在个人发展上。我觉得人们很容易低估这个过程的时间成本。有一个导师是很大的帮助。即使有人能偶尔回答你的问题,也能让你避免在抑郁中度过几个小时。不要害怕寻求帮助。

回过头来看,希望能多花点时间做一些小项目,学以致用。我开始频繁地做项目但是中途放弃了,因为我一直认为我不能以正确的方式完成代码。

花时间努力学习一些东西对我更有帮助。学一些互动的在线编程课程确实比较放心,但是对于你把编程知识运用到现实世界中有一定的局限性。我确实踩了坑。

我花了一些时间才意识到,没有人知道什么是正确的方式,但那些都是人为的捏造。作为一个程序员新手,能够从新的角度看待问题也是有价值的。

如果说过去我希望能得到一条忠告,那就是“更加努力地学习,学以致用”。尤其是在你学习的过程中,没有真正的代码,没有正确的做事方法。在这个过程中,任何能够应用你所学的机会都是有价值的。

不要等到有人付钱给你,你才觉得自己是个开发者。只要你开始写代码,你就已经是了。

希望看完能交到朋友!如果你有任何问题或推荐书籍,请发邮件给我,在LinkedIn上找到我,或关注我的Twitter!

原文:我是如何在一个应用程序都没写的情况下找到我的第一份开发工作的,作者Jean-Marc mckel。

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友