最近经常碰到有人问这个问题:现在转行做编程能行吗?
学哥的回答是:有条件则值得努力转行做编程。
问题的实质
这个问题其实提的比较粗,比较笼统,其实质涵盖了如下几点:
1.做编程还有前途吗?
2.目前编程职业就业容易吗?
3.个人是否适合这个职业?
4.要如何做才能转行成功?
前2个问题,一个是看未来的发展趋势和潜力如何,一个是看目前的供需关系以及市场行情。
前2个问题都相对比较客观。
后2个问题,一个是看个人和职业的匹配程度,另一个是具体的行动路径和计划。
后2个问题相对而言更个性化一些。
做编程还有前途吗?
未来的世界是机器人和人工智能的世界。
越来越多科幻电影中的场景逐渐变成生活中的现实。
智能家居,无人驾驶汽车,虚拟现实,大数据,人工智能等等正在变得触手可及。
而作为实现这些技术的核心技能,编程将会变的更加普及,越来越多的人开始关注和重视这项技能。
学习编程,未必一定要以编程作为职业,就像很多家长送小孩去学钢琴未必就是一定要成为钢琴家。
但是编程学习的收益,最重要的是对思维的训练,对逻辑性思维习惯的训练。
无论是否将编程作为最终职业,这种思维方式上的改变将使人受益终身。
学哥说过这样的话:坚持固然重要,方向一定不能错,也许很多时候方向是否对错难以分辨,那么就赶紧去试试吧。
编程这个方向一定不会错,难就难在需要根据现实情况和个人条件进行判断是否匹配,以及如何制定计划和执行。
目前编程职业就业容易吗?
从行业发展形式来看,全球软件市场以每年13%的平均速度在增长,远远超过世界经济增长的平均速度。
从2016年最被看好的行业来看,信息技术互联网是排在第一位的。
从美国的市场需求来看,每年的人才缺口都在50万以上,并且还在逐年扩大。
从我国的市场需求来看,有统计数据说未来5年IT人才缺口是60到100万人。
从大数据来分析北京上海广州深圳和杭州的情况,最近几年java,php,web前端以及.net技术方向的趋势来看,虽然薪资有一些变化,但是所有的职业的薪资全部都是呈上升趋势的。
前不久,国家统计局公布了过去一年各个行业的工资薪酬数据。其中,IT行业的从业者,在平均年薪上达到11万左右。
个人是否适合这个职业?
前面说的都是客观的情况,整体的情况,那么具体到个人,情况就不一定适用了。
就好像每年大学毕业生600万,软件专业的大概在60万,每年毕业之际仍然有很多人找不到理想的工作。
具体到个人,判断自己是否适合这个职业的准则应该是:拥有强烈的学习动机,具有持续学习的习惯,能够享受独立思考的乐趣,具备良好乐观的心态。
如果没有以上的特征,那么是很难进入状态,也很难持续下去的,那么早点放弃也不丢人。
学习动机就是明白自己要的是什么,持续学习就是即使再累再苦也不给自己借口,独立思考就是要能享受寂寞的时光,爱总结爱思考,而良好的心态可以让自己不至于悲天悯人自己感动自己。
可以冷静的持续的热爱学习,不论学什么都能学有所成。
编程说到底,就像古时候的手工业一样,吃的是一碗技术饭,靠的是个人的学习能力和方法经验。
就像那篇有名的《卖油翁》一样:无它,唯手熟尔。
当然了,其它的一些个人客观条件不同,会导致学习路径的难度和长短不一样。
比如,一个工科本科毕业的大学生和一个只有小学毕业的同学,学习起来速度肯定不一样。
比如,一个可以不用上班就有饭吃的人可以全日制学习,比一个只能业余时间学习的人,更容易学成。
很多人,站在入口处,一直在犹豫,是否要走出第一步。
不知道前面的路有多长,不知道自己能不能坚持,不知道学了之后能不能找到工作。
内心在计算着投入和产出,在患得患失中裹足不前,在犹豫中浪费了太多时间。
知易行难,道理是相通的,但事情是不同的,如何把道理融会贯通应用到每件事情中,只有自己试过才知道。
这个世界上哪有万事俱备的事情,都是走一步看一步的居多,花上一段时间,全力以赴,更能搞清楚自己能不能行,少想一点,多做一点,比什么都强。
要如何做才能转行成功?
其实这个问题又可以分为2个问题:该选择什么方向,该制定什么样的行动计划?
该选择什么方向?
编程是个笼统的说法,其实具体的技术方向还是很多的,同样的应用到的具体行业不同,需要选择的技术路线也是不一样的。
这点需要个人根据自己的实际情况谨慎选择。
具体的准则就是:尽量选择一个方向,学精学深。
那么具体该如何选择呢,告诉大家一个方法:
找几个主流的招聘网站,按照不同的技术位置关键字去检索职位,统计职位总数。
例如,Java,Python,PHP,.Net等等,检索出来的职位数的多少可以作为方向是否热门的一个判断依据。
如果能力更强一些,写一个脚本,获取所有职位要求的年限分布和预期薪资范围,就更有参考价值了。
选择好了方向之后,才能更有针对性的制定具体的行动计划。
该制定什么样的行动计划?
按道理来说,不同的人应该根据自己的实际情况来制定不同的行动计划,这样才最有效率。
但是现在的人都太懒了,学哥还是直接给一个比较有代表性的行动计划吧。
以下述条件为例:
20-30岁之间,智商在110以上,每天能坚持学习2小时或以上,每周能保证20小时以上,有电脑和学习环境,目的是希望从事编程职业。
行动计划推荐如下:
1.花1周时间,了解软件编程行业的相关知识和技术点,可以去51cto.com,网易云课堂,w3school.com.cn等网站浏览。
2.花1周时间,了解主流培训班的相关课程大纲和知识点结构。这里学哥就不推荐了,大家自己去网上搜索。
3.花半年时间,开始自学,根据培训班的相关课程大纲和知识点,循序渐进,不追求完全掌握,但是要搞清楚知识点的依赖关系,大致了解这些知识点就够了,能够将教程中的例子自己全部写2遍跑通即可。碰到问题去各种兴趣qq群里面询问前辈。
3.1自学1门解释型编程语言,例如Python或者PHP。
3.2自学3门网页编程的语言,例如HTML和CSS和JavaScript。
3.3自学1门编译型编程语言,例如Java或者C#.Net。
如果对以上入门知识学习还是找不到路径和方向的,可以看看学哥前面发布的教程,学哥也在努力给零基础的同学写一些参考的教程。
4.花半年时间,找一个靠谱的培训班参加脱产培训,最好是培训内容中实战项目比较多。至于如何寻找靠谱的培训班,学哥只能说办法很多,网上可以搜评论,最笨的办法就是直接守在别人门口,碰到下课了就发根烟,和同学聊聊就知道了。
目前网上对培训班的评价并不高,但是学哥以为,一者确实有不靠谱的培训班,二者很多人其实完全没有学习能力坚持不下去就怪罪到培训班头上,三者培训班毕竟只能给予一些环境和辅导,把希望完全寄托在别人身上是愚蠢的行为。
当然,如果意志力非常坚强的,完全可以不参加培训班,同样可以学成。
5.花1年时间,去应聘一家公司并在工作中持续学习,只要能够将学习的东西应用到实践当中都可以,不要问太多待遇如何的问题,只在意自己的能力有没有提高,还有没有学习的余地。
6.时间过去2年了,这时候就可以制定新的计划了,此时的你,已经具备一定的经验了,选择的余地就大了很多了。
最后啰嗦几句
保持初心太难了,世异时移,趋势在变,环境在变,最易变的就是人心。所以坚持任何一件小事都是值得赞扬的。例如每天写一段代码。
任何事情都有代价,看得见的成功背后都是看不见的努力。
时刻提醒自己,要活在事实当中,而不要活在针对事实的情绪当中。
内心强大是建立在高度的认知能力之上的,知行合一是终极目标。
关于学哥
学哥专注于帮助零基础的同学学习编程,跨过进入编程世界的第一道门槛。
如果有兴趣于此可关注学哥的微信公众号:零基础学编程。
如果有什么问题,都可以在下面评论留言,学哥会尽量回答。