本部分内容对应视频链接。

熟悉我的朋友应该知道,我本科及硕士期间所学的专业都是机械相关,毕业两年之后才从零开始自学转行成为一名程序员。当时我写了一篇文章,介绍我的转行经历,很多小伙伴因为我的这篇文章,备受鼓舞,给自己增加了很多信心,也靠这篇文章给自己加油打气最终转行成功。

我的文章能够帮到那么多人,说实话我还是非常开心的。但因为存在一些信息差,不少小伙伴没看到我的那篇文章,一直来问我转行经验,所以我决定再做一个版本的经验分享,并再添加一些文章里没讲到的内容,希望能够再次帮助到大家。

本文我主要分成三个部分来给大家分享我的转行经验:

  1. 转行前的经历

  2. 我是如何转行的

  3. 转行的几个忠告

1. 转行前的经历

我是在07年上的大学,凭着自己的兴趣读了机械专业,并且在毕业后又再次读了机械专业的研究生。在学校里面只学了两门与计算机相关的课程:C语言、微机原理。

这两门课,对于当时的我来讲如同天书一般,直接消灭了我对计算机的激情,甚至我还在想,这世界为啥还有程序员这种职业?!但是万万没想到啊,到后来,我居然成了一名程序员!

如果当年我没有转行,那么我现在大概率是做这样的工作:

2014年硕士毕业之后,我的第一份工作做的居然也不是机械相关,而是阴差阳错成了一名电子工程师!在做电子工程师的这两年里,因为工作的需要我接触到了FPGA、STM32这两种芯片,于是对嵌入式产生了很浓厚的兴趣。经过一番深思熟虑之后,我做了一个至今都觉得无比正确的决定:转行成为一名真正的程序员

于是,我就开始走上了转行之路,终于从事了我当时所认为的不可思议的那种职业……

2. 我是如何转行的

2015年11月底,我开始摸索如何转行。对于转行,有两种方式:参加培训班、自学。我觉得我的自学能力还是不错的,所以我选择自学转行。

但是,我在学校学的那两门天书一般的课程现在早忘了,对IT领域也一无所知,要怎么开始学习呢?要从何开始入手呢?

这里我给大家介绍一个非常实用的方法,我当时就是靠那个方法找到了学习路线。那时候,我线下跑到了一个培训班,假装想要参加培训。他们看我转行的意愿这么强,热情度一下子增加了100倍,又是端茶又是倒水,然后让一个讲师出来详细跟我介绍了我要学的这个专业需要掌握一些什么技术与技能。然后还给了我一张课程表,上面列出了所有的课程计划。

所以,靠他们的讲解,以及那张课表,我从完全零基础,一下子清晰了自己要学习的方向。所以,如果大家想要进入一个全新的自己完全陌生的领域,你可以去线下找一个培训班,直接跟老师交流,他们会告诉你学习方向。请注意,一定要线下交流,这样效率是最高的。至于报不报班,看你个人了,我后面也会出个视频来讲这个话题。

明确了学习方向之后,我就按那张课表,一个个地学习过去。但是,我毕竟还是一名电子工程师,白天还有本职工作要做,而且经常加班到晚上八九点,所以自学的事情只能到晚上八九点下班后再进行。那时候,真的是非常苦逼,一下班之后,立马就投入到自学当中,而且一学就到凌晨一两点。早上的时候又6点起床,学习一个小时后再去上班。

这张照片就是当年我自学到凌晨的时候所拍下的,那时候室友早已进入梦乡了。

那时候,一天差不多只睡四五个小时,但是好在我的睡眠质量非常好,即使只睡四五个小时,第二天还是一条好汉。我觉得我老板的鸡血也起到了一定的作用。

自学差不多两个月之后,我学会了51单片机,并入门了STM32。那时候我在想,实战才是提高技术最好的方式,能不能进到一个公司里边工作边学习?刚好那会儿,一个朋友的公司正在招嵌入式工程师,于是他就推荐给我了。面试的时候,我很坦诚跟面试官说我正在自学转行,没有经验。面试官看我很坦诚,自学能力也比较强,再加上我在上家公司有一些不错的成绩,于是决定给我一个机会。

所以,2016年3月,我正式成为了一名程序员!

我算是运气比较好,有朋友推荐,但如果你经验不足或技术很菜,如何才能够成功通过面试?这里也有不少方法与技巧的,到时我也会再做个视频来介绍这块。

成为一名真正的程序员之后,我仿佛进入到了另一个全新的世界,但同时,我也面临了一些更大的挑战。当时自学的时候,还可以自己掌握节奏,但成为真正的程序员后,我完全是被赶鸭子上架了。虽然我学了一点了,但真正面对项目时,我还是一脸蒙逼。

每天不停在我耳边萦绕,都是什么 Git,FreeRTOS,内存管理,需求分析,软件设计,设计模式……这些东西大家肯定不陌生,但当时的我全部都是第一次听说,而且工作中每时每刻都在用,所以每天我几乎都是在蒙逼中度过的。每天我听他们在讨论,就像学渣啥也听不懂,但学霸已经跟老师讨论出了三种解法……

俗话说,高手总是被虐出来的。虽然我现在也不是高手,你们也可以通过我的头发看出来,但那时候,为了能听懂他们说话,我开启了更疯狂的自学计划。为了节省通勤时间,我直接搬到了公司附近,步行5分钟到公司。每天依旧6点起床,学习两个小时再去上班。下班之后,依旧疯狂学习,依旧学到一两点。

在这样的高压学习之下,他们嘴巴里吐出来的那些专有名词,我终于可以大部分听懂了。然后,我就慢慢进入到了状态,慢慢开始可以独立完成领导布置的任务了,慢慢学会了跟产品经理撕逼。

在第二家公司我呆了一年出头,在这一年里,我几乎都是在学习中度过的。那时候的状态,跟我现在做自媒体差不多,没有周末,没有晚上,没有节假日,更没有花前月下。我每天的状态就是,除了上班,就在自学,放弃了一切社交,放弃了一切娱乐,把所有能省的时间都省出来,全部用于学习。

从第二家公司出来的时候,虽然还是比较菜,但我已经算得上是一名合格的程序员了。2017年7月,我来到了广州,并顺利通过面试,进入到了一家世界500强公司就职。关于世界500强的面试,可以参考我之前录的一个视频

3. 转行的几个忠告

忠告一:确认自己是否真正需要转行

转行就意味着你要放弃掉你之前所学的所有东西,而这个过程很可能是不可逆的。不要说你转行成功了,结果过个三五年,发现自己原来的方向现在已经风声水起进入红利期,而这个时候你再回头就可以来不及了。或者说你经历千辛万苦转行成功,结果发现,原配才是真爱,这时候后悔也可能来不及了。

不要觉得不可能,这两种情况都有读者朋友都跟我哭诉过。

忠告二:选对转行方向

既然选择了转行,那一定要转到自己真正有兴趣,或者比较有前景的方向。不要说你费了很大的周折去转行,结果发现这个方向已经是夕阳行业。就比如现在VB、MFC之类的,早就已经被他们亲爹抛弃了,你如果转到这个方向来,那还不如不转行。

那要怎么确定转行方向呢?很简单,打开招聘网站,看看哪个方向招的岗位多,什么岗位工资高,你就转那个方向。或者,你可以私信我,我手里有很多群,群友各个方向的大神都有,可以向我或他们打听情况。

忠告三:转行要趁早

转行需要花费大量的时间精力,像我那样边工作边自学,肯定是比在学校里有大量时间要困难得多。所以如果你还没毕业,又如果明确好方向,建议你马上转行。如果你已经工作了,那更要快速下定决心转行,因为程序员的生命周期很有限,到了35岁就很难再找到合适的工作。而且,到后面成家立业,生儿育女,肯定更没时间去学习。

所以,转行要趁早,越到后面越不容易。

我是硕士毕业两年,大概26岁转行,已经算是很晚的了。

忠告四:自律自律再自律

如果你确定转行,而且是自学转行,那么这将注定是一种苦行僧式的生活。就比如我,除了上班就是在学习,连周末都在公司。我们只要在公司就算加班工时,我最高记录是一个月加班150小时。我把社交、娱乐都放弃了,如果你转行的话,大概率也会是这样的情况,你要先问问自己能不能做到?

我能够转行成功,很大一部分原因归功于我的高度自律。先不说其它的,单单坚持6点起床这件事,就已经打败一大批人了。如果你想转行成功,就要付出比常人更多的时间精力,比常人要更加自律。稍微一松懈,就有可能让自己一直松懈下去,那就不用谈什么转行了。

好了,以上就是我结合自己的亲身经历给大家分享我的转行经验并给出了自己的一些建议,如果你觉得有帮助的话,记得一键三连哦~


公众号:良许Linux

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

我是如何从零开始自学转行IT并进入世界500强实现薪资翻倍?的更多相关文章

  1. 【Web前端开发】---自学转行roadmap

    [Web前端开发] 自学转行roadmap: ● html/css ● 京东项目实操 ● javascript 基础 ● webapi ● javascrip高级 ● jquery基础 ● Ajax ...

  2. 自学转行JAVA,没有项目经历怎么找工作?

    应届生或者是刚参加工作的转行人员都有这样一个疑惑,刚学出来没有工作经验,但是企业又要求你必须要有工作经验,但是刚毕业找不到工作就不可能有工作经验,感觉陷入一个死循环.其实这种情况那些企业是不可能不知道 ...

  3. 我是如何将一个老系统的kafka消费者服务的性能提升近百倍的

    ☞☞☞ 我是如何将一个老系统的kafka消费者服务的性能提升近百倍的 ☜☜☜ ○○○○○○○○○○○○○○○ 大家好,又见面了~ kafka作为一种高吞吐量的分布式发布订阅消息系统,在业务系统中被广泛 ...

  4. C++自学教程第一课——你好世界,我是柠檬鲸。

    C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...

  5. 【原创】我是怎么从零开始教女同学进行php开发的(4)

    周末给自己放了一个小假,周五晚上跟同学出去吃饭,周六又休息了一天,直到周日才坐到电脑前面码字. 本来说好周末这两天把之前三篇的代码根据评论中的建议好好修改一下的,顺便认真系统地学习一遍HTML基础.结 ...

  6. 从零开始自学 Java Web

    目录: 1.Java JDK下载安装及配置 2.eclipse下载与安装并测试 3.eclipse快捷键 4.Tomcat 下载与安装 5.Tomcat部署Web应用 6.Eclipse中配置Tomc ...

  7. 自学Java编程,如何混到一个7k薪资实习生的岗位

    现在Java软件开发的专业一直都是热门,有很多专业的学生,比如电子.机械.会计.土木等等专业由于专业本身没有更高的提升空间,所以现在的年轻人更加喜欢做一些科技前沿的工作,毕竟现在接触的都是电子产品.而 ...

  8. 自学前端开发,现在手握大厂offer,我的故事还在继续

    简要背景 我是一个非科班出身的程序员,而且是连续跨专业者,用一句话总结就是:16 届本科学完物流,保送研究生转交通,自学前端开发的休学创业者. 17 年休学创业,正式开始学习前端,离开创业公司后,我又 ...

  9. Linux应用开发自学之路

    前言 在 「关于我 」那篇博文里,朋友们应该知道了我不是科班出身,是由机械强行转行到Linux应用开发方向.下面我就详细向大家介绍自己这一路上的转行历程,希望对大家有所启发. 我是学机械专业的,对于机 ...

随机推荐

  1. API(List、Map)

    day 07 API List接口 特点: 有序,带索引,内容可以重复 Arraylist: 创建对象一般使用多态的格式: List<E> li = new ArrayList<E& ...

  2. python数据结构-最全的六种排序

    1.冒泡排序: 比较相邻的元素,如果第一个比第二个大,那就交换位置 让大的元素跟下一个相邻的元素作比较,如果大于交换位置 对所有元素重复以上步骤(除了最后一个),直到没有任何一个需要作对比 2.选择排 ...

  3. Java 添加、下载、读取PDF附件信息(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了PdfAttachmentsApi接口添加附件addAttachment().下载附件downloadAttachment().获取附件信息get ...

  4. antd图标库按需加载的插件实现

    前景概要 antd是阿里出品的一款基于antd的UI组件库,使用简单,功能丰富,被广泛应用在中台项目开发中,虽然也出现了彩蛋事故,但不能否认antd本身的优秀,而我们公司在实际工作中也大量使用antd ...

  5. P2882 Face The Right Way G 题解

    题目 Farmer John has arranged his N \((1 ≤ N ≤ 5,000)\) cows in a row and many of them are facing forw ...

  6. cf1216E2 Numerical Sequence (hard version) 二分查找、思维题

    题目描述 The only difference between the easy and the hard versions is the maximum value of k. You are g ...

  7. 使用@AutoConfigureBefore、After、Order调整Spring Boot自动配置顺序

    前言 Spring Boot是Spring家族具有划时代意义的一款产品,它发展自Spring Framework却又高于它,这种高于主要表现在其最重要的三大特性,而相较于这三大特性中更为重要的便是Sp ...

  8. 万变不离其宗之UART要点总结

    [导读] 单片机开发串口是应用最为广泛的通信接口,也是最为简单的通信接口之一,但是其中的一些要点你是否明了呢?来看看本人对串口的一些总结,当然这个总结并不能面面俱到,只是将个人认为具有共性以及相对比较 ...

  9. SQL注入原理及代码分析(二)

    前言 上一篇文章中,对union注入.报错注入.布尔盲注等进行了分析,接下来这篇文章,会对堆叠注入.宽字节注入.cookie注入等进行分析.第一篇文章地址:SQL注入原理及代码分析(一) 如果想要了解 ...

  10. JVM 专题十九:垃圾回收(三)垃圾回收相关概念

    1. System.gc()的理解 在默认情況下,通过System.gc()或者Runtime. getRuntime().gc()的调用,会显式触发Full GC,同时对老年代和新生代进行回收,尝试 ...