本文主要针对零基础想了解或者转行从事开发岗的同学。
我们收集了往届毕业同学和一些正在咨询的同学,发现大家在学习初期,对转行互联网做开发,最多的疑问或者顾虑大体分为几类:
现在哪门语言比较火?
学什么语言好找到工作?
XX语言是不是饱和了?
...
其实语言没有好坏之分,只有合不合适。今天,我们就为大家介绍一下不同语言的开发岗,希望能对你的转行和学习有所帮助。
01 开发岗主要分为两大类
关于怎么选择编程语言,以及各个语言的特点,网上有很多的科普。这里我简单的介绍下,编程主要分为前端开发和后端开发两大类别。
前端开发(前端”是与用户直接交互的部分):
如果做web前端开发就是Javascript加上HTML和CSS,如果做APP有ios和android之分,IOS开发的话就是object-c和swift语言,安卓的就是JAVA和新晋的kotlin。
还有现在的小程序,web app,Hybrid app也挺火,这里就不多做介绍了。
后端开发:
Java:应用开发领域的王者,JavaEE和Android的如日中天让Java稳居排行榜第一。JAVA岗位需求量很大,相对好找工作。
C:在操作系统内核、嵌入式开发等方面具有无可比拟的优势,最近C语言份额暴涨可能与物联网的复苏有关。
C++:适合服务器端开发、游戏开发等对性能效率要求高的领域。不怎么好学的语言。
C#:.net开发,桌面应用开发,还有就是Unity3D的游戏开发。
PHP:就业岗位也挺多,适合建中小型网站的后台。
Python:当下最热门的语言,可以做网站后端,还可以帮助数据分析,很多其他岗位的从业者也会选择这个语言进行技能提升,帮助提高工作效率。
02 程序员的岗位薪资
众所周知,程序员的工资待遇都比较高,这也是许多同学想转行做开发的原因之一。
以深圳为例,我们了解一下不同开发岗的大概薪资:
Web前端
创建Web或App界面呈现给用户,通过HTML、JavaScript、CSS(兼容性考量)等技术框架及解决方案,实现产品交互;
随着小程序、H5、APP的爆发,曾催生大量的人才需求,前端入门有一定门槛,且目前市面上供大于求,因而就业/择业内卷严重。
Java开发
可以简单理解为专职于编写各类代码的后端工程师,对应用程序要有清晰的逻辑判断、熟练掌握数据库等技术,语言包括Java、Python、C++、PHP等。
后端的发展前景很大,无论是B/S还是C/S,无论是Web还是原生或是智能硬件,一律通吃;开发的入行门槛较高,但也是薪资最高的一批人。
UI设计
某种程度上来说,UI最好的发展方向是UE(交互),或者往用户体验优化师方向走;切忌沦为机械式的乙方工具人,因为我身边的同事没有一个能待多久,频繁跳槽也真是一种不幸。
数据分析
大数据时代,企业对数据分析的重视程度不言而喻,且偏技术向的数据分析更是被追捧。数据分析师要求掌握SQL、Python或者R,有些企业还会要求有最基本的编程能力,有一定的商业敏感度,对业务有一定的构想和建议;
因此我这一维度来看,数据分析更适合有一定技术基础的职场人,0基础小白最好绕道,免得徒劳无功。
测试工程师
主要负责项目产品的测试工作,保证被测程序应用的质量,工作内容包括编写测试计划、测试用例、测试报告、用户说明书等;作为互联网产品的质检师,软件测试工程师就是要发现Bug,提交给软件工程师去及时解决。
相较以上几类工种而言,测试工程师上手门槛较低,因而近来受到很多小白的关注,但同样地,供大于求的情况下,就业择业内卷逐渐加剧,切记提升自己的差异化竞争力,用实力说话拿高薪。
运维工程师
需要同时兼顾软硬件系统,如熟悉计算机市场行情,制定计算机组装计划、选购组装需要的硬件设备、合理配置和安装计算机以及外围设备、安装和配置计算机软件系统等,旨在维护并确保整个软件系统服务的高可用性,同时不断优化架构、提升部署效率、优化资源利用率、最终提高整体ROI。
软件工程师
这是个比较宽泛的概念,它包括了软件设计员、软件架构员、工程管理员等一系列岗位,工作内容紧紧围绕软件开发展开,是IT业中较为基础的职业。(企业往往不单独作为一个工种)
云计算
云计算是分布式的一种,通过网络“云”将大数据计算处理程序分解成无数个小程序,然后通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
03 程序员的职业发展路径
在IT行业,大多数技术人员的成长大致可以分为:
第一阶段: 小白入行,熟悉理论知识,深入研究技术,掌握至少一种工具,让理论在实际工作中得到运用,熟悉工作的环境和工作方法,人与人合作的方式 。
第二阶段: 参加项目开发,并成为项目小组技术带头人或者是系统分析人员,学会从系统角度理解软件和技术,并学会与用户交流沟通,丰富其他非IT方面的行业知识,如运输行业、金融行业等行业的工作方式。
第三阶段: 这个阶段一般也就是高阶程序员了,通常职业发展会有很大变化,一般有以下几种路径:
成为高级工程师,做公司的总工程师职位;成为售前支持工程师,成为与用户谈判,答辩,书写项目方案书的高手;
成为项目经理,逐步学会管理队伍;也可能成为技术型销售人员;或者成为公司的CTO,走向职业经理生涯。
当然,上述这些只是大致的情况,并不是完全适用于每个技术人员的事业发展道路。
你只要知道,所谓职业规划,就是在每个阶段开始前,都为自己定下一个目标,并朝着这个目标不断前行和努力。
04 为什么大多数都觉着编程很难
为什么很多不是计算机专业的人能够通过IT培训机构学会编程技术?没有觉得编程很难。
培训机构里学习的课程内容是根据市场上企业需求开发的,学习就是工作,通过工作实现学习。
并且教学大纲都是循序渐进,由浅入深,首先做的就是培养学生对于编程的兴趣,从中获取成就感,以兴趣为导向,步步为营,在每个阶段课程穿插实战项目。
教师会去引发学生的兴趣,鼓励他们去探索未知的领域,主动地学习和吸收知识,培养技能,积累经验。
解决他们在学习过程中遇到的困难,及时指点,帮助学生建立学习的“正向”兴趣循环。
所以,很多人即使不是计算机专业的,也能够在很短的时间内学会编程。
编程一点都不难,用电脑听得懂的语言,告诉它帮你做你想要做的事情,只要认真学,谁都可以。
难就难在,"学以致考"和"学以致用"是不一样的;记忆和创造是不一样的;学好学科和理解世界是不一样的。
当然,并非要彻底否定应试教育。在中国教育资源极其不平均、经济文化撕裂的大生态下,以考试为目的的教育,提供了一套非常清晰的评判标准,通过分数这个显性的指标来筛选和划分学生群体,选拔出社会精英,可能是当下最公平的取舍了。
只是时代在不断的发展,无论是学校,家长还是孩子,都应该反思一下现在的所接受的教育形式,如何发挥出每一个自己的个性,让他们成长为更好的人——学编程的过程会给你提供答案。