任何事情,身处在外面,都有很多困惑和疑问。身处在内,都有很多无奈和憋屈。换个角度看世界,或许我们所面对的每一段经历都是选择与博弈的纠结与快乐,人生本来是不容易的。只不过多数时,你是感受不到不容易的。学什么程序,比穿什么衣服的问题更难,因为职业的背后,更多是抉择而不是选择,选错一件衣服可以重来,而选错一个职业所面对的结果,是非常让人痛苦的。
对于任何一个人,你要清晰的认识到:任何人给你的建议或者方向,只是他站在自己体验的角度给你的经验性的建议,而最后你的选择,除了深思熟虑还有孤注一掷,这是我对你做程序员钱最真挚的建议。
1、IT职业培训到底有哪些产品?
既然是职业培训,那一定是跟公司的需求相关,我们按照公司的逻辑来看分为四个大类:
*想法层:产品经理、UI设计、策划
*实现层:Web前端、PHP、Java、C++、iOS、Android、Python
*维护层:Linux运维、Web安全、大数据开发、云计算
*推广层:网络营销
上文中我们说到,《中国统计年鉴2015》数据显示中国有200万程序员,占人口0.14%,结论是其实程序员并不多,相当少。另外,印度270万程序员(最多的),也只占人口0.2%的样子。在核心的实现层上,很多人说一个产品经理就可以折腾7个程序员,在产品经理没有非常深刻的基础底蕴的情况下,没有考虑后端结构与实现的情况下,发出的或许很小的需求,就是一次程序员的大奔命。
在2013年-2015年移动互联网发展的这段时间,一个移动互联网公司创业的标配是:iOS、Android、Web前端、UI,我们假设一个融资100万的公司,向这四大岗位开出平均月薪1万的薪水的时候,这家公司在不考虑任何运行成本的情况下,能撑起来20个月,但是关键是一个APP推广的市场费用之高,可谓是一段黑暗的回忆。
就目前来看,我们把想法层、实现层、维护层、推广层都定义为IT职业培训的话,实现层和维护层是最稳定,但是是最辛苦的,因为大家都为了一个目标尽快的上线。而对于想法层和推广层来讲,推广费用是有限的情况下,如何做到推广结果的最大化,这是一个非常难的问题。所以这也就是很多人为什么想做程序员的原因,虽然辛苦,但是高薪和暂时稳定。
2、程序员值得学的编程语言趋势
RedMonk发布2017年初编程语言排行榜:JavaScript/Java/Python进前三,PHP 滑到了第四名的位置,C# 和 C++ 并列第五,而 CSS 和 Ruby 又并列第七。在非功利的层面来看,编程语言是一通百通的,一种学精之后其他语言都不是问题了。
业内人士称,如果你将来想从事互联网,你最好看看Python、Ruby、PHP、Javascript。如果你想从事商业应用,你最好去看Java和C#。如果你想从事移动开发,你可能需要去看Object-C。如果你想进微软,就去看.Net。如果你想做嵌入式,可能需要学习C。
就看之前说的一样,看任何的选择,其实都有一个固定的决策路径。学什么程序决定了就业去什么公司,去什么公司也就意味着什么样的待遇,什么样的待遇也就意味着什么样可能的未来。趋势这个事情,有时候像穿衣打扮流行方向,更多的机会属于尝鲜者,但是要考虑快速立足和商业结果,成熟的或许更靠谱。
语言本身,不是一种方向。编程语言是程序员摆弄计算机的工具。任何一种语言,亦或是一门技术,只要是运行在冯诺依曼体系的计算机上,要想钻得深,逃不开的还是那些原理性的东西——数据结构、内存管理、多线程、操作系统、网络协议等等。这些原理知识与语言本身无关,却是用好每一门语言的基石。
有业内人士坦诚的说到:“大多数人学习这一行,貌似都是觉得技术工作有趣又不单调,钱不少而有发展。实际上,哪有这么简单的事情。若是你没有一颗写代码的心,就别学技术了,轻松又多金的工作其实挺多的..程序员这可是一条不归路啊……”
你发现没有,最终的答案是跟前文的判断是一致的,那就是当局者迷旁观者清。
最不靠谱但是又最真诚的建议是,如果你要为了就业而学习,那么从招聘网站上统计5000个招聘广告,得出需求最高的三种语言,选一门去学。
IT教育培训机构课程设置考虑的是学生就业、企业的需求和教学成本。虽然很多业内人,一些大牛对培训机构出来的同学不太认可,甚至不建议去培训。培训机构课程第一门编程语言从十多年前的C语言开始(跟大学是一脉相承),转而直接从所需要掌握的技术方向编程语言,如Java、PHP、Python等。
3.程序员月薪过万需要多久?
入行的程序员月薪是真实的,BAT和二线互联网公司的校园招聘的offer都是月薪过万的。中小微型公司、某些创业公司的福利不是很高,如果你在一二线城市从事IT,恭喜你,只需要你努力积累经验,1-2年就可以达到目标。如果你在三四线城市,只是在公司里干点死活,做个小兵,基本上不太可能月入过万了,可以考虑在网上接点外包什么的,月入过万也不是很难。一二线城市的待遇的确比三四线城市的待遇高很多。再者就是有些程序员只会简单初级的编码,干的活可能真的不值那么多钱。
这个问题有一个关键点。就是行业。程序员是职位,去不同的行业待遇有很大差别。举个例子,我弟在大连理工,他的同寝室同学,2014年本科毕业后去了去哪儿网,第一年月薪14K。我本科同学的研究生同学,北京交大,2013年毕业后去百度,月薪19K。以上数据确认准确。
你发现没有,在这个简单而复杂的世界里,其实选择也许并不多:
如果你想要得到一个有保证的,但普普通通的,收入还不错的,在一间小卧室的荧光灯下写一些金融应用的工作:Java
如果你想从事移动开发:Swift / Objective-C / Java / Kotlin
如果你想找一门表达力和功能都很强的语言:Python
如果你想更快速地开发WEB程序:PHP
如果你想学真正的编程:C
以上是我对你选择做程序员的一些建议,欢迎留言讨论。