作者:Windson Yang
更新时间:January 1, 1
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明 www.enginego.org。

如何转行为程序员

我大学的专业并非计算机相关,从转行到得到第一份程序员的工作花了很多时间,经过了多年之后回过头看,走了不少弯路。如果你是非计算机专业却想转行为程序员的话,这是我个人的几点建议。

理解热爱

转行之前你先问自己,为什么想要转行为程序员。你真的喜欢编程吗?转行为程序员的人非常多,你有足够的意志力打败他们吗?大多数程序员的工资并没有想象中那么高,而且工作时长也很长。需要经常熬夜加班。你能接受吗?我听过医学生和我说他想转行,因为觉得我们看起来很酷。我觉得这不是一个好原因。可能被电影渲染得多,大家只看到酷的程序员或者他们酷的一面,而没有看到这个行业辛苦的一面。搜索下程序员加班以及程序员中年危机会给你更好的认知。程序员我偶尔会看到这样的转行原因:“因为我编程实现了xxx,给我带来了成就感,所以我喜欢编程”。这本身并没有问题,但是错把学会一件新鲜事物,完成一件事带来的成就感理解为热爱编程那就大错特错了。其实无论什么行业,第一次设计出海报,,还是用毛笔写了几个自我感觉不错的字,或者仅仅是人生中第一次投中三分球都能带给你成就感。这与相应的行业并没有直接的关系。而且容易给你一种错觉,编程就是这样,按照教程一步步写项目,上线。然后下一个项目。那是因为新手项目故意忽略了那些枯燥的,带给你挫折感,但是又必须的东西,例如撰写文档,API 调试,版本控制,测试用例,代码重构等。编程并不需要超乎常人的智商,但是需要极其的耐心和锲而不舍的精神。我忘了多少次在电脑前因为不知道代码哪里出了问题而崩溃。不过,这也是磨练个人逻辑思维的方法,在这一次次的崩溃中我学会如何编程,如何调试。而我不知道有没有更好的方法。把热爱当成职业却不一样,例如你热爱篮球,你打球很快乐是因为你能够选择怎样去打球以及什么时候打。如果要求你每天7点起来,先做两小时“与篮球无关”的准备运动,例如力量训练,柔韧度训练,身体对抗。然后每天都要训练4个小时战术。那么你可能发现自己并没有那么热爱篮球。把他当成职业的话你需要忍受背后的辛苦。

良师益友

不管是什么行业,这都是最重要的一点。我初学编程的时候只认识几个计算机专业的朋友,很可惜,后来他们去了实习之后太忙,也没有时间向他们学习。找到合适的老师是非常难的,因为新手的问题不单单是编程本身的问题,更多的是一些工具使用,环境配置的一些“无聊问题”,例如“如何运行 Java”,“如何安装 Python”,“Syntax error 这个报错什么意思?”,这些问题无论是多么有经验的工程师也无法全部解决,都需要依赖搜索引擎自己找答案。所以益友这时候就重要了,因为大家基础都差不多,遇到的问题也差不多。这么能找到这些朋友呢?最简单的方法,找对应的 QQ 群。搜索 Python Java 这些关键字进入里面的 QQ 群。这是我当初没有做的,虽然 QQ 群里面的成员参差不齐,但是起码帮助你缩小了搜索的范围。加十个群,每个群能认识一两个朋友那就够了。当然,他们的想法也不一定成熟,他们喜欢的教材和课程不一定适用你自己,你可以用作参考但需要判断的能力。不仅能互相学习交流,他们还能分享面试经验,简历经验,互联网企业永远都在招聘,有一些工程师会在群里招人,内推远比海投成功率更高。

选对方向

请不要根据热点而选择方向,例如人工智能,区块链。99.9% 它不会让你找到一份工作,因为他的准入门槛极高,大多的在线课程只会教你如何使用一些开源库来实现功能,这固然重要,不过企业更多是需要能理解原理,推导以及理解公式的。那么应该做什么方向,前端还是后端,应该选择什么语言?我给不了一个很好的答案给你,通常来说,前端入门门槛较低,但是门槛较低代表竞争者越多,不一定是好处。我建议根据你想要工作城市的招聘网站的岗位数量来做选择,关键字就是 前端,后端,java,python,c++,php,.net 看看哪些岗位数量比较多。而且当你看了十个岗位描述之后,其实你就知道自己要学习什么了,例如 Java 基本都会要求会语言的基础,Spring。python要求的是django,php的是larvel。网络框架相对好学,主要靠经验积累和看文档的能力。

学会学习

选对教材,市面上的教材,我在这篇文章列举了一些。至于要不要参加培训班,培训班水平层次不齐,大多数都只是照本宣科让你有学习的错觉,大部分还是得靠自己,好处是能找到线下的交流编程的人一起学习。

学会问问题和找答案

互联网的问题在于资源太多而不是太少。新手在编程之前需要先学会如何使用工具找答案以及提问题。就像有一本我力荐的书“如何阅读一本书”一样,你需要在阅读其他书之前先阅读一本书。你需要做的事情其实很简单,第一,把搜索引擎改为谷歌,相信我,用谷歌搜索问题和答案能帮你节省非常多的时间。第二,学习英语,一开始英语不好的时候你可以选择把报错信息,“SyntaxError: invalid syntax 问题” 加上几个中文字来看到中文相关的搜索结果,当你愿意静下心看的时候,直接用英文搜索结果,你会开始熟悉并且爱上一个叫 Stackoverflow 的网站,他解答了基本所有程序员会遇到的问题。如果你的问题找不到答案,只有两个原因。这个问题太简单或者太难了。大多数情况都是第一种,你需要想清楚问题发生的原因,这也是锻炼逻辑思维的方法。

求职准备

写好简历,做几个有技术含量的项目,即使是跟着教程做也要理解里面的内容。

勇于尝试

去投简历吧。