很多人想转行做高薪的程序员,我有一些朴素的看法和建议

工作几年里,每年都有朋友,或是朋友的朋友,问我想转行做程序员,咨询怎么入手,难不难。

其中,也不乏有转行成功的案例。

而从现实角度讲,通过一年多的时间,就有可能进入到一个高薪的行业,转行开发确实是一个具备可行性的方案。作为普通人,努力奋斗固然重要,但正如明公所讲:『个人的奋斗,也要看历史的进程』,在社会阶层越来越难跨越的现在,普通人很难说理解并抓住历史的进程坐电梯,但是找个自行车,虽有难度,但有勇气,其实是可行的。

所以,今天就分享一下对这个事的看法和建议。

在这之前,有必要先简单说一下我学习的经历和我的一位朋友转行成功经历,然后再就经历,来讲一些具体的建议,会更有参照意义。

我的经历

我因为从很小就开始在电脑上玩单机游戏,初中高中时对科学也很感兴趣(记得初中订阅过一本杂志,叫《我们爱科学》),而且初中的时候看过一部讲黑客的小说,觉得特别牛逼,所以很早就对电脑编程产生了兴趣,在高一的时候,开始在学校的图书馆借了 C 语言的教程来看,然后到网吧去做试验,但是那时候没学到什么东西。

到高二后边,家里给买了电脑,自己根据当时在一些技术 QQ 群耳濡目染了解到的,买了《C++ Primer》和《算法导论》两本书,开始利用周末和假期的时间进行一些自学。

不过高三的学习也很紧张,所以直到高中毕业的暑假,才算真的正式开始不间断地学习。大一的时候,我自己已经自学了 C++ 和算法一两年,但是因为它们相对于用来开发网站的编程语言来说,是很偏底层的语言,主要用来做像需要安装的那种软件,比如 QQ/360/各种浏览器 等等,在学校里没有什么练手的机会。刚好学校每年组织网页设计大赛,从那时候开始我大学期间主要都是在做网站开发了,虽然到后来找工作的时候,简历上把 C++ 的项目放前边,也主要是朝着 C++ 的方向找,最后的职业还是做了 Web网站开发(也就是后边会讲到的 PHP)。

当时,流行的用来开发网站的技术有三种,ASP、JSP、PHP,大家俗称 3P,ASP 和 JSP 学校有开设课程,PHP 虽然没有,但是实际在学校外的环境也广受欢迎,当时所有的网站里,用 PHP 做的比例我记得是百分之六七十以上,加上师兄的推荐,当时就选择了 PHP。

比赛截止交作品的前一周,师兄问我你搞完了吗?我:

原来,我没有注意到马上就要到 Deadline 了,结果是,我就是在那个周末真正学会了怎么用 PHP 做一个网站(所以,比实战更有效的学习手段,是实战的 Dealline),作品是软件三班的班级主页,有新闻、注册、留言这些功能。

进入大二,除了参加学校的比赛。开始和社团的同学接很多学校各个院系的网站和校外的一些项目开发需求来做,挣到一些外快来改善生活。

在大三暑假开始找工作的时候,我因为不是那种非常深专研技术的同学,算法不精,被腾讯、百度这些大厂算法面的时候都刷掉了,不过很幸运的是遇到了灵析团队,开始了之后几年在北京的基本是创业心态的工作经历。

我的经历总结起来,是整个学习编程的时间比较长,工作前经历的生产项目也挺多了。从这个角度看,对于转行来说的参考意义不是很大。但是这些经历里的关键时刻,是有参考意义的,这些经历也是写这篇文章的基础,下面会详说。

我朋友转行成功的经历

这个朋友就是迅哥,从高中开始是多年的老哥们儿。我们出来工作后,迅哥当时工作的行业是建筑行业,在我们毕业时刚好国家那几年路桥大基建结束了,所以建筑行业变得不再景气,再加上他也不喜欢其中的工作内容、文化和氛围,产生了转行的念头。

因为迅哥在艺术上颇有天赋(记得高中的黑板报,就是他画的),加上到迅哥这时候,网站开发不像我当时一个人开发全部,随着这几年技术的更新迭代,已经变成了前端和后端配合开发的模式。所以我建议他学习前端开发,相对是热门、且比较容易入手的,且可以发挥他的设计和审美天赋。

迅哥之后就辞职开始自己买书、跟着网上的教程在家自学。自学大概持续了一年多,因为周围的不理解和长期没有太大学习进展的苦闷,这时候和他沟通,能了解到从开始的憧憬和坚定,已经进入到了一个比较痛苦的状态,这时候我再次劝说他来北京找一个培训机构,在一个有氛围的环境下继续系统地学习。应该每个人都能够理解,要长期坚持任何好的事情都是非常难的事,一个人自学不仅效率差,而且也容易失去信心。

于是到北京,经过了半年多的培训后,迅哥成功地进入了行业,去年回到了成都工作 (单身气质佳,对程序员感兴趣的可以联系我

) ,收入也不错,稳定上涨,可以说是转行成功了。

接下来,是看法和建议

没想到你还在看

这里,会分为「动机、条件、方向、方式、其它重要和进阶建议」五部分来讲。

一、动机

一个事情能否坚持下来,达到期望的目标,做事情的出发点是首要关键的因素。

想要转行做程序员的出发点,我归纳主要有下面三种因素:

  1. 「金钱」:现有的工作收入低,发展空间也不大,听说开发收入很高,想要进入这个行业改变现状;

  2. 「环境」:对现处的圈子不满意,希望借助开发这个高新行业,可以进入北上广这种更大的城市圈子遇到更多优秀的人,有趣的事;也或者就是想离开成都这种慢节奏的温柔乡...

  3. 「理想」:对开发天生感兴趣,或者仍然有志向没有磨灭,但是可能因为以前学历或专业选择的因素,人生没有往这个方向发展,但是心里还是始终挂念这个事情。

每个人,三个因素的比重是不一样的。

我应该说三个因素都具备,家里是农村的,条件一般,好奇心和野心也有,且确实感兴趣和擅长。

迅哥据我了解,应该是第二个因素比重最大,希望出圈,第三个也有一定比例。

第一步,大家应该做自我评估,以上三个因素哪个自己占比比较大。

「直接来看,第一个因素金钱的诱惑应该是最大的」,但是,以金钱为目标,如果你不同时具备下边两种情况的话,建议你放弃这个念头:

一是你自己感到特别强的责任感,可能来自于对自己的长期投资,或者想给对象更好的未来、要养家等等;二是你回顾自己人生,有没有长期(超过一年)坚持一个事情并且取得了自己还比较满意的成果的经历。

这些因素直接决定你坚持的动机是否够,以及是否有能力坚持学会中途不轻易放弃。

「其次,第二个因素环境,你需要重点考虑你有没有相对比较懂行的朋友已经在圈子里,能够一直支持和陪伴你,帮你引路。遇到困难和压力的时候,有人可以倾诉。

有,你面临的难度就会小一些。

「第三个因素理想,我认为只要坚定下来,因为有兴趣的加成,成功的概率是非常大的。」 同样,如果你清楚自己有其他的兴趣和天赋,我也建议更优先考虑和他们相关的行业,成功的机率也会大一些(这里不要纠结实现理想,走向人生巅峰,仅考虑转行和入行的问题)。

二、条件

把动机放在第一位,即每个人需要首先对自己负责。

同样重要的是你的经济和家庭情况这些条件是否允许你做这件事情。

从我和迅哥的经历可以看出,要成长为一个还比较专业的程序员,还是需要多年的时间和经验积累的,即使是入门,至少也要预备一年到一年半的时间来投入学习。

「而这个学习的阶段,是没有收入的。」

你自己是否有孩子嗷嗷待哺现在的收入不能断?

是否能够接受投入精力、时间、金钱后也可能没有结果,一无所获?

你的家人是不是能够信任你,帮你承担这个阶段的经济压力,支持你去做这件事情。?

工作几年后,我越来越认同一点:"人生最好的规划,一是先照顾好自己爱的人。第一步做好了,接下来去实现自己的才华和梦想"。

是否具备去做这件事的客观条件,是一定要负责任地考虑的因素。

考虑了自身的条件,然后考虑行业的条件。

听说技术行业经过这几年大量的人通过培训机构进入行业,并且在行业整体也不比前两年景气的情况下,现在入行是不是已经错过风口机遇了?

答案是不会,原因是:

  1. 首先,信息化时代,对信息化人才的需求长期来看永远不会消失,且整体还会增长;

  2. 其次,技术仍然是富脑力的行业,不容易被社会的的发展所淘汰,需要担心的是那些劳动密集型或普通的服务型岗位,被计算机、机器人淘汰的趋势已经很明显。

因此,只是要踏踏实实学有所得,入行后认认真真工作,就不用愁找不到工作,在整体不景气的时候,只是可能薪资待遇、工作环境会相对差一些而已,但也比大部分行业要高很多了。总之,打铁还需自身硬。

三、方向

慎重地考虑了动机和条件,仍然想要转行做程序员,就应该做学习方向的选择了。

就像我始终认为高考后选专业非常重要一样,选对了入行的方向,能为今后的人生节约大量的隐形成本。

需要先表明:

  1. 开发是一个工种细分非常多的的行业,即使一个工种,通常也会有多种流行的编程语言或流行框架,在从这往后的下文里,因为我的经验所限,就只能就我了解的技术和行业现状做分析。

  2. 下文对于技术和岗位的论断,主要基于入门来讲,对于每个领域的专家和深造,都不保障是准确的。

在上文讲我的经历里,我提到了这些技术:

  1. C++ 和算法

  2. 网站后端开发(后端为主,也包含前端)

  3. 网站前端开发

从入门难易度来讲,算法是最难的,前端应该是入门最容易。

原因是,直观地讲,前端是一个偏向于所见即所得的东西,在开发过程中你能实时看见你做的东西和设计稿、产品需求是不是一致,因此是最容易为普通人理解并掌握的。

后端开始则需要你对真实世界的各种需求,比如电商、直播、博客,进行建模分析,并且要懂得数据库、基本的数据结构和算法,最后才能编码实现这些需求。

而到 C++ 和算法,甚至于更底层的操作系统和汇编,越往下,越偏向于和计算机和数学打交道,对于非具有天赋的人就越难,往往需要至少数年的专研。

「从计算机专业的角度来讲」,学习 C++、Java、算法等语言是最好的,我自己虽然工作中都是做网站开发(前后端都有),但是内心非常感激自己当年是从 C++ 和算法开始入门,上边三类技术代表了从计算机底层到用户界面的一层一层封装,非常有趣的事实是,PHP 其实就是用 C(和 C++ 语言很类似,层次会更低一些) 语言实现的,而到前端开发,网页所依赖的浏览器,也基本是用 C++ 或其他同层次的编程语言来实现的。

很好理解的是,学习的语言越偏底层,当然也就越靠近计算机「专业」。

这意味着,越是掌握底层的东西,对编程这个事情你理解得也就越通透,就像是理解一个工具背后的原理和只会使用工具的区别。

前端、后端、底层,他们就好比苹果皮、苹果的果肉、苹果核,所有基因的密码,都藏在果核里。

所以 C++ 和算法的经验使我明显感觉要比周围只了解上层语言的同事、面试者,能更容易地、更快速地分析和解决问题。

「从行业现状来讲」:自我开始工作,15年左右开始,因为视觉交互需求越来越复杂,前端开发也越来越复杂,网站开发就从以前的一个人即写前端也写后端,开始出现了前后端分离,一个前端一个后端搭配做项目的模式。

前端近两三年的火热也因此而来,整体来讲,前端现在仍然很火热,对人才的需求还在增加。

同期后端也因为这几年业务复杂度的提升、流量和数据量的剧增变得需要更专精,也就是说初始入门难度也在逐渐增大。

至于 C++ 和算法这一层,其本身作为底层来讲很多年都不会有太大的变化,行业的需求也是比较稳定和持续的。

「那么,综合来讲,我的建议是什么呢?」

在以上三个里边选择,最推荐的是后端网站开发或者安卓及 iOS APP 开发,原因是:

  1. C++ 等底层开发首先排除,因为太短的时间学成的概率很低,疗程长见效慢;

  2. 后端开发虽然比前端开发入门周期要长一些,但还在一年左右这个可以接受的时间长短内。即使你像迅哥一样有审美或设计之类的长处,后端开发也用得上,程序开发是一个包含大量设计和创造性质的工作;

  3. 现代前端开发出现不到几年时间,自身现在还处于一个探索阶段,更新迭代非常的快,不断地出新东西,大家最经常的吐槽就是求不要再更新,学不动了[手动狗头]。在这样的背景下,没有经验的人进入其中很难真的理解什么样的编程模式是好的、是对的。世界上最好的前端技术,都在以半年、一年的周期不断推翻自己,更新迭代...

  4. 小型网站系统,小型软件的开发其实并不复杂,从后端入门并且掌握基本的前端开发技术是比较容易的事情,在前几年这都是基本素养,不同层次的技术,内在有非常多的相通之处,特别是从底层次看高层次这种感觉特别明显,这意味着习惯了后端思维后学习前端,比习惯了前端思维后学习后端,要容易一些;从后端入手,更利于一个普通程序员的长期职业发展,后端会更多需要去理解产品和业务,对个人能力在团队的综合发挥和成长或者今后再转型产品经理等岗位,都要容易得多。

四、方式

选择好了学习的方向,接下来就是如何学习了。

我的建议是分三步走:

  1. 自学试水

  2. 选择一个靠谱的培训机构系统地学习半年以上

  3. 从培训机构出来后,不要急于找到待遇满意的工作,而是先进入一家公司,预留半年可能收入很低的时间,在真实的工作场景里一边做一边把学到的知识夯实下来

之后,你就算正式入行了。

在选择培训机构以前,应该先自学试水,也就是先以最低的试验成本看看感觉,看是不是一时冲动或者仅仅是被高薪的传说诱惑头脑一时发热。同时,开发毕竟是工科的工作,自己是否适合,也需要通过试水来判断一下,毕竟,强扭的瓜不填。

那么,怎么自学呢?无非两种方式,跟着书学习和跟着网上的教程学习。我的建议这两者可以结合起来,现在网上的几块钱的什么入门课程很多,这种往往是不靠谱,以我的学习经验,最适合新手入门的永远会推荐这个网站:https://www.w3school.com.cn/,相比其他的来说,把新手需要了解的点覆盖很全面,并且浅显易懂。

在过了一遍这个网站的教程之后,应该做一个普通的练习项目,比如『待办列表』、『我的博客』。学习技术,最重要的就是要拿项目来练手,看再多的书、视频教程,自己不独立地完整做项目,不可能真正在脑子里把技术点串起来。

自学的阶段不宜过长,正常普通人的耐心不会太长,并且有个大概的了解和感觉是比较快的,但到下一个你能感觉到有进步的时刻,需要更系统和更大量的深入学习,过程会比较长和比较难,因此这个阶段就需要借助环境和同学老师的力量来学习,也就是找一家培训机构系统地学习。

培训机构,在我大学的时候最出名的是兄弟连,迅哥也是在兄弟连培训,但是今年兄弟连已经干倒闭了

。现在规模最大的开发培训,应该是传智播客,这些培训机构在全国各地都有分校,建议是选择离家远的地方而不是最近的,以及前边说过的,考虑有在行业内地熟人的城市,这样过程里受到的打扰、分心就更少,能得到及时的帮助,更容易坚持下来和更专注地学习。

到从培训机构出来,大量投简历(虽然招聘的时候很讨厌这些...),然后就是进入工作里学习了~

五、其它重要和进阶建议

恭喜,这时候你已经成功转行了,坚持努力就有回报。关于进阶的建议,也有很多,我打算今后再专门写一篇来细讲,这里只重复着重说几个经验:

学习任何东西,都会有一个漫长的一知半解其和临界的融会贯通突破点。

例如,我在大一第一次用 PHP 做网站参加比赛时,前面一个多月我都只做了一些前端页面,对后端 PHP 很多点没法理解,进展缓慢,但经过了这一个多月的进展缓慢,在最后几天突然知道下周要交作品时就迎来了爆发,写完后端的功能后,一下子感觉学会了,噢,原来开发网站就是这么回事啊。

有 Deadline 的因素,但里面漫长的一知半解其和临界的融会贯通突破点规律因素更为重要。

同样印象很深刻的是迅哥在培训学校的时候,有一次课上有个问题想不通,那天晚上,他一个人在无人的教学楼里死磕到后半夜,之后就豁然开朗了。

「这个过程每个人都会经历,所以在学习的过程中,遇到这种时刻,不要慌张不要气馁,坚持坚持再坚持就会柳暗花明。」

尽管不推荐从 C++ 和算法入门,但是算法的基本素养是对任何开发岗位非常有用的东西。

所以在入行后,也需要重视和学习。

而学习算法,最流行的方式就是刷算法题,这种方式并不推荐,我大学时候还参加过一年多的 ACM(国际大学生程序设计竞赛),专门是比算法的,但是现在回忆起来,当时刷的题,我感受不到对我的成长有太多的帮助。

相反,是通过阅读《算法导论》和对 C++ 标准库的学习(大概慢慢读了两年时间才学习完),构成了我专业能力的底层,因此就我的经验来讲,最好的学习方式就是读《算法导论》这种再版了几十年的经典著作,比起散乱没有目的地刷题,跟随最专业的教材系统学习要高效百倍。

多动手做,多动手做,多动手做,重要的事情重复无数遍!

开发是一门非常重实践的技能,我有很多大学同学,大学时考试也都能过,但是到毕业工作后的编程水平,大部分应该还比不上迅哥。

初期可以做什么?可以想想自己能不能做些有创意的小东西小东西,我在高中的时候给暗恋的女生洗过看笑话的程序,虽然没有交到女朋友,但是技术我牢牢地掌握了啊。

实践是检验真理的唯一标准和掌握真理的最有效手段!

开发的过程里,多对产品、设计进行思考

开发程序开发是一个包含大量设计和创造性质的工作,工匠精神在任何创造性的行业都是最为加分的项目,把代码写出来只是整个工作里最无聊的部分,而设计、沟通、创造,享受过程和成果,才是其中最美妙的部分。

六、结束为了新的开始

这篇文章,没有鼓励任何人下水的意思。

只是希望能尽量总结自己的经历和经验,如果刚好能帮助真正有想法有条件有毅力的朋友,那当然更好,欢迎转给有想法的朋友给,有疑问也欢迎留言问我。

关于开发,还有很多很多的故事可以讲,这是个挑战和乐趣并存的工作,今后也会有更多关于这方面的分享。

辣么,这次就到这里啦。

最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 在这里插入图片描述在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 在这里插入图片描述

五、Python练习题

检查学习结果。 在这里插入图片描述

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 在这里插入图片描述在这里插入图片描述

因篇幅有限,仅展示部分资料,需要的同学用vx扫描上方二维码即可获取‘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值