近几年来,传统行业多处于经济下行,加上互联网行业的赚钱效应,想要转行到这一行的人越来越多,其中程序员这个行业更是很多人梦寐以求的。
但另一方面,我们也发现,这些想要转行的同学们往往会遇到很多困扰。就在一周以前,我统计了一下身边一些想要转行做程序员的朋友他们的难题,结果大致如下:
比如达内,黑马程序员,北大青鸟等各种培训班层出不穷,到底哪家强?
学习语言怎么选:java?c++?python?Android?ios?
如果要学java,从哪里下手?
毫无工作经验,想找一个入行的公司实习,3000元人家都不收。
因为本人从事软件开发工作已经好几年了,各种转行做程序员的人成功或者失败的我见过不少,有的朋友转行成功现在已经在杭州阿里混的风生水起,也有的培训之后放弃了。所以对于转行做程序员的痛苦,我有着极深刻的切身体会。
所以,今天围绕着“转行做程序员”,我想整体聊一些我能想到的建议和看法,希望能够帮助想要转行的同学们。
我会建议每一个想要转行做程序员的同学逐次问自己这样几个问题:
问题1:你在转行中面临的最大障碍,到底是技能还是认知?
一般来说,一个此前不具备软件开发工作经验的人,在考虑转行做程序员的时候,会面临到两大最主要的障碍:一个是新技能的学习,另一个是新的思维方式,认知的转变。
对于新技能的学习。比方说你要开发一个网站的项目,数据表怎么设计,后端框架选择什么,前端框架选择什么,接口怎么定义,缓存,日志等你什么都不知道,leader告诉你这个模块你负责开发,due-date是几月几号,你该怎么办?
对于思维方式和认知的转变。比方说让你描述一个杯子,你可能会老老实实的说,这是个喝水杯,能够装什么什么东西,颜色是白色,材料是纸质等方面去说。但是对于一个程序员,他可能会将这个杯子的所有直观的属性一一描述,然后再来描述他的功能。就像程序里面描述对象一样,这个对象拥有什么属性,拥有什么方法。杯子这个问题也是很多公司的面试题,这就是考察你的思维方式和认知。
就这两点来讲,我的建议是:
假如你才刚刚转行不久或者正在转行中,自身缺乏一个程序员必要的各种技能(比如jsp,ajax,springmvc等框架的应用)当然首当其冲的是新技能的学习,而如果你已经有了一定的工作经验,基本的必要技能已经掌握得七七八八(这时候你已经是某项目里面的一些模块的开发负责人)了,这时候就要考虑思维方式和认知得问题了。
问题2:你想要转行的目标岗位是否清晰?
这可能是50%的转行的同学要面临的困惑了,他们对自己的目标岗位和职业规划都是非常模糊的,举个例子:
某A同学希望转行做java开发,各种自学看视频看算法,还是没什么效果,找工作也被别人拒之门外。这时候他就要考虑到底从事java哪一块的开发,想去什么行业,做什么业务,java开发的程序员需要哪些技能,面试的企业又需要什么样的技能。
所以,要转行的话,先考虑你想去什么公司,然后在各大招聘网站上面看看这个公司对java开发人员的要求是怎样的。他们公司需要开发人员会springmvc,那就去学,需要会mysql和oracle,那也要去看看。以下是我在网上选的一个应聘需求,可以参考一下:
这个是人人网的任职要求,三年工作经验可以先忽略。就看他需要你会哪些技能,然后针对性的每个技能怎么应用,有什么知识点,在网络上有无数的资源可以供你学习。可能你会说不知道怎么学习,那么以上要求里面你不认识的每个词语都可以作为搜索关键字,去问度娘,他能给你准确的答案。
问题3:围绕你的目标,你是否有明确合理的学习方式?
这个问题是承接上一个问题的,到底怎么学习才能找到工作。这里我先说几个原则性的东西
1.如果毫无工作经验,对编程还处于一知半解的程度,做一个功能还不知道怎么下手,或者说下手很模糊吃力,这种情况下去考虑思维认知转变,基本上没什么卵用。只有当我们在开发上面能够得心应手的时候,才方便考虑思维认知的问题。
2.如果要做到get技能,就必须花费一定的时间去动手写代码,实践和训练是非常有必要的,如果从来都没有写过代码,面试官一问就能难住你,那肯定是拿不到offer的,实习都不行。
3.如果要做到认知升级,就必须在有了一定的经验的基础上,再加入到一个逼格更高的圈子中,结合实际的案例,进行思考总结才能形成一个程序员的思维模式。
在以上几个原则下,再延伸说一下我的建议
1.自己尝试照着网上别人给出的demo从零开始编写代码将别人的案例变成自己的项目经验,哪怕只是一个hello world。就springmvc来说,我去百度看看。我随便搜索了一个“springmvc例子”,第一条搜索结果就是图文并茂的教程,咱们可以照着写一遍,如果觉得这个还难了,那就从更简单的开始入门,比如搜索hello world的实现。
2.尝试参与到一个能给你实践经验的team中去获得开发经验,义务为其劳动,争取获得能够写代码的机会,不懂得当然大胆去问。在网上找一些qq群,或者各种开源框架都可以,比如github。
3.通过一些大神分享得学习视频,对照着别人开发的例子,自己一行代码一行代码的写出来。每一步都照着操作,没有那么难。
一般来说,上面的1只适合那些极度自律和学习能力还不错或者说有一点经验的人。2也是需要有一定基础才能参与的,而第三点就几乎没什么门槛了,任何人都可以通过这种方式来学习,我是大学这个专业的,所以我从来没看过视频学习。
问题4:你对转行是否拥有合理的心理预期?
最后,我们花一点时间来说一下转行做程序员的心理预期,比如薪资的升降,未来能够达到的期待。
我们不妨也先给出几个原则性的判断
如果你已经是一个拥有非常过硬的专业技能的人,转行只是你的一个念头就能做到的事情。那么在转行的时候不妨考虑将自己原有的业务能力发挥到最大,这样可能会有显著的薪资增长空间。比如一些其他专业的人才,他们也拥有非常厉害的编程的技能,转行做程序员完全不是事儿。
如果你没有过硬的专业技能,那么转行过来可能必须要承受一段时间甚至更长时间的降薪了,这也是正常的,毕竟现在做个打杂的也有好几千的工资了,转行到初级程序员前期可能还不如一个文员拿的多。
在整个互联网行业,低端人才是非常多的。如果你只是个刚刚转行的菜鸟,那就要做好超越他们的准备。
因为低端人才的存在,转行要做好一段时间内承受低收入的准备。关键是看你着重的是长远收益,还是短期收益。
最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经打包好,需要的小伙伴可以戳下方链接免费领取