我成为 web 开发者已经有 8 年了,前端和后端都有做过。

但是最令人惊讶的是我从来没有就读过计算机专业学位,也没有上过任何的课程或编程训练营!而且我是在我快 30 岁的时候才踏入这个领域的。

那你觉得我是怎么办到的?我是怎么学会编程的呢?

编程曾经只是一个兴趣而已......

应该可以从高中说起,我在那时候发现网络世界,自学了基础的 HTML 和 CSS。当时的我只是觉得好玩。

当时我主要是做一些关于我的爱好(单板滑雪)的网页。我也挺喜欢用 CSS 定制我的 Xanga 部落格,设计一个我想要的风格(还记得 Xanga 吗?😂 )

回想起来, 令人难以置信的一点是我从来没有考虑过到学校读计算机专业学位或网络开发。但是坦白说,在我脑海了,那真的只是一门兴趣而已。我是打算成为一名医生的,那也是我父母对我的期望。

可是没有进展得很顺利, 我在接下来的几年对自己未来的路感觉挺挣扎的。究竟发生了什么事呢?

摄影的工作

在大学的时候,放弃医学院预科之后,我决定欣然接受自己创作的那一面,主修艺术。我拿到摄影文凭,还在一间商业摄影实验室找到一份工作。我在暗室里洗底片,还帮客户拍艺术照。

虽然在实验室挺好玩的,可是每小时薪水只有 $8。还有,我当时完全不晓得整个摄影行业快要倒闭了,像一艘快沉到大海的船一样。已经很少人用底片了,大部分人都会用数码相机和 Photoshop。

几年后,公司倒闭了。我的情况变得更糟糕了。

临时办公室的工作

我最终在临时办公室找到一份工作。我的工作内容是扫描、影印、装订、填充信封,大致上就是在一个大企业里当一个小人物。 虽然没有很风光,但是喂!可以养活自己就好了!

从一个岗位飘到另一个岗位,做了几年还是没办法存到钱,名副其实的月光族啊!可是之后有一个临时工作改变了一切。

在 Craigslist 找到的工作

有一天,我在 Craigslist 网站徘徊了一下,想要找工作, 然后找到了一份数据输入员的职位。我对于电脑的工作挺有把握的,所以我应聘了,也立刻得到回复。我被雇用了!

那是一间小型的 web 开发公司,专门帮客户建立和维护网站的。一开始,我是做一些简单的数据输入的工作。稍后,老板开始教我一些 back-end 的编程和 SQL 数据库。

薪水还可以,大概每小时 $10-12,但那只是兼职。我留在这里主要是因为我学到了一些宝贵的新技能。

学编程挺难的,但是有益处。还有,我发觉自己越学越精。譬如说,我学会自己在 Google 搜索找答案了。

你知道,如果我反复问同一个问题的话,我老板会生气的。我是吃了一点苦头才学会的,得来不易。所以,我会花时间尽全力尝试寻找答案,然后才找别人帮忙。

我也会写笔记,记下新的东西,特别是如果我费了很多时间才弄明白的东西。这样一来,我下次就可以回看自己的笔记本,而不用重新 Google 搜索,或更糟糕的是——问我那个脾气暴躁的老板。

在那个 web 开发公司打了 2 年工之后,我获得很多编程的经验。可是我还是没办法负担生活上的开支。我当时知道我要做一个改变,也真的如愿。

找一份真正 web 开发者的工作

在 Craigslist 工作 2 年之后,我觉得自己已经会足够的编程知识了,可以应聘一份真正的 web 开发者的工作。

虽然因为经验不够被拒绝了很多次,但我最终在一个广告公司得到一个面试的机会。

面试当天,我运用我的各种倾听能力、肯于学习的态度和记笔记的技巧打动老板。一切都进行得很顺利,他们雇用我了。这是一份真正的工作! 有年薪和福利,全部都有!

我肯定我告诉父母我被雇用的时候,我妈应该有做了个侧手翻吧。他们很激动。可是找到工作只是开始。在一个新的领域工作确实不容易,毕竟我只懂一些皮毛。

一个自学的人怎么可以在一个这么快节奏的领域里面发光发热呢?

冒牌者症候群真的很糟糕

说实话,我上班的第一年压力超级大,常常挣扎在冒牌者症候群当中。我的老板和同事都有计算机专业学位,有些还有硕士学位。

我每天都会极度恐惧自己会被“发现”缺乏能力而被开除。我的工作是需要新的技能的,恐惧心理对我没有帮助。

我有时候会花费几个小时在做某个任务,同样的任务我相信我老板会用不到 30 分钟就完成。 我讨厌自己不善于做事,所以每天有一种不知所措的感觉挺糟糕的。

可是我坚持下去,还有我总是做一件事:我会常常 Google 搜索。我总是在问别人之前尝试自己找答案。在我真正遇到瓶颈的时候,幸好我的老板都会很乐意指导我。

我在那家公司总共待了 6 年之久。随着时间的推移,我也变得更能干更有自信。我还在第 4 年升职成为一名资深的 web 开发者。

我的最大收获

我在这一份工作里面学习了非常多,不仅是编程, 还有学习新的技能,特别是自学而来的。如果你是在学习编程的话, 以下是我最大的收获:

首先,我学到我其实可以从 Google 找到任何的资料。当然如果你还在学基础的 HTML, 可能还不够建设一个复杂的程序,但是知识终究可以慢慢累积起来。

我也学会怎么逆向编程——简单来说就是研究公司里现有的方案,弄明白代码是如何运行的,然后转过来用在同样的新方案里面。

你可以自己研究已经存在的网站里的代码,还有在 GitHub 里找一些方案来学习。我可不是建议你抄袭任何人的代码,而是建议你学习背后主要的逻辑。

我最大的教训之一是明白冒牌者症候群真的很糟糕,但时间会冲淡一切,会真的慢慢好起来。

我有一段时间是每一天都会学到新的技能的。如果把那年的日子加起来,真的累积到很多。所以到第 5 年,我已经不会害怕面对自己不会的东西,因为我相信自己的能力可以驾驭得了。

结语

我最终也离职了,但我今天还是做 web 开发者,也有六位数的年薪。路很漫长,但我感到非常的满足。 如果你正想要学编程的话,希望我的故事可以启发到你!

想要看我的完整 8-bit 动画版的故事吗?请访问我的 YouTube 频道

我也在我的博客写一些编程的教学,Coder-Coder.com。以下文章你应该会喜欢:

原文:How I Learned to Code (Without a CS Degree or Bootcamp),作者:Jessica Chan