第四章:初级工程师的挣扎

和很多工作一样,当你被雇佣的那一刻是你工作的开始,不过作为一个初级开发者,并且只自学了三个月,开始工作后我感觉我当时有点跌入低谷的感觉。

自学好的时候你可以用自己合适的方式提升技术,来建立自己的技术栈。但是当你工作后,你需要和别人一起维护一些已有代码或者库,这些你可能完全不熟悉。

工程师文化

在我开始新工作一周后,我在我的个人日志中写到:

和我一起工作的都是优秀的开发者。他们已经做了很长时间开发,他们已经形成了一种文化。他们几乎是标准的电脑极客,但是我不是。对于我来说编码只是一项技能。我逐渐开始接受当前的环境,即使我并不能和这些开发者一样喜欢这个事。不过我当前,是他们中的一员。—— 2015.05.06

我只在新工作中工作了5天,就有一点不知所措了。

我当前有一堆问题,所有的东西对我来说都是新的。我原以为我懂一点知识了,现在才知道原来我还是一个菜鸟。

我还注意到了另一个事情,就是我的同事们对于代码真的十分投入。感觉他们的生活中都是代码。我每天需要休息8小时,才能开始第二天继续工作,但是他们回到家后,并不休息,而是继续做别的项目或者学习新的知识。

尽管他们都十分忙,但是当他们来帮我解决问题时,会用十足的热情来向我详细解释某个概念。我十分崇拜他们,同时也感觉自己越来越不适合这个地方了,因为我永远不能像他们一样保持这样的热情。

我工作的前几周一直很艰难。我在想我是否做出了正确的选择?我现在意识到我只有在无聊或者解决困难问题时会感到生气。当我能力变强时,我感觉好多了,我现在的目标是让自己变得更好。——2015.06.17

老实说,我真的很挣扎。这份工作是我的第一份全职我工作,我不知道我该怎么看待它合适不合适。

就在我全职工作几周后,我感觉我需要改变我的职业。我和其他人的工作方式基本都不同。我不能像他们一样对于代码这么兴奋。在这种情况下,我认为我不能成为一个真正的程序员。——2015.06.28

随着时间的流逝,我继续在我的日记中记录我的心路历程,希望这种感觉会过去。我真的不想放弃,特别是这份工作是在我如此努力下获得的。

在 2015.07.08 的时候,我开始认真的考虑离职的事情。我甚至还和我的老板 Sean 聊过这个事情,但是他保证他会对我保持耐心。

随着时间流逝,压力又开始上升了。Nigel 对于我理解事情慢感到沮丧,我自己也变得很焦虑。我不想再做这个了。如果他们对于我的期待持续上升,我感觉坚持不下去了。即使 Sean 说没问题,但是在实际工作中氛围是很不同的。我决定明天和 Sean 谈一下离职的事情。——2015.07.09

我辞职的那天,是一个尴尬和悲伤的告别。即使我应该提前两周说这个事,但是 Sean 感觉让我持续留下来没有什么意义同时我已经完成了我的小项目,于是我在吃完午饭之后,就走了。

在你把这本书关上,扔到一遍之前,请继续读下去,这个故事还有一线希望。我们将会在下一个章节了解到,离开这份工作是一个正确的决定,也会提到后续几个月发生的事情,并且我最终梦想成真的过程。请继续读下去吧!

对初学者的建议

尽管我喜欢在这里告诉你,成为一名开发者十分好,但是有可能这件事并不一定适合你。或者说存在某些编程方式和语言不适合你

编程的类型有很多种

在我和 Dylan Wolff 的那一期视频中(可在YouTube中搜索,标题为:How to Become a Developer and Go Remote), Dylan 提到了一个我以前没有想太深入的点:

我认为你需要去找到一些能激发你兴趣的事情,我开始学习 JavaScript 的时候,语法问题很困扰我,感觉这不是我喜欢写的代码类型。我后来发现了 Ruby,感觉这个是我喜欢的。所以我认为你可以学会任何你想学的语言,前提是你对这个感兴趣,并且喜欢。——Dylan Wolff 2016.07.23

在我前面的描述中,我一直是一个思路狭隘的人。我想成为一名开发者,而选择成为哪样的开发者,我是根据市场需求来选择,并没有考虑自己的兴趣。

如果你的第一次编程体验也不太好,选择换一个语言试试。与其认为编程这条路不适合你,不如选择换一个角度再试试。

虽然 Dylan 和 我都是开发者,不过我们喜欢的方向并不一样。Dylan 喜欢后端开发,我喜欢前端开发。这两种没有好与不好之分,还是需要自己去尝试,看看哪种更适合自己。

你将会在下一个章节看到,我最终找到了一个不同与 Ruby on Rails 的语言/框架,我十分喜欢它。对你来说,你可能在编程的过程中也会有过放弃的想法。我明白,并且我也有有过,我觉得你可以尝试像我一样,换一种语言试试。

老实说,我编程的动力来自于我想远程,工作成为一名数字游民。虽然不编程,也有很多成为数字游民方法。在决定做什么的时候,一定要明确自己的动力是什么。虽然成为一名开发者本身就有很多好处,但是我认为还是需要找到自己的源动力,才能更好的去执行。

了解你自己

从我第一份工作中,我了解到的另一个关键事情是,我不适合那份工作。

Sean & Nigel 的公司文化对于 Ruby 已经到了痴迷的程度。我的兴趣有所不同,我希望去创造一些app,同时希望看到我的劳动能够漂亮的展现在浏览器中,而不是看到我写内容通过了 3000 个单元测试。这家公司主要关注点在于后端,并且我的工作伙伴会待到特别晚,去解决一些编程上的问题。

我记得 Nigel 和我说过,他会坐在他的床上,专注的解决一个编程问题,不解决完他是不会去睡觉的。我不喜欢这种痴迷,这也是我感觉我越来越不适合的原因。

大多数人一生都在让他们自己去适应一些已有的群体,而不是去寻找更加适合自己的生活方式。在我的第一份工作中,我尝试把一个方形的楔子放入圆形的孔中,这太难实现了。想明白这件事十分重要,在第一份工作中不成功并不一定以为着你不能成为一名开发者了,有可能是尝试错了方向呢?

在下一个章节中,我将会告诉你我是如何继续我的编程之旅,并且开始了自由职业。而且在几个月后我还找到了我理想的开发工作。

Last updated