美文网首页大学生世界大学生活我的大学
大学生求职:互联网技术类职位的介绍与选择

大学生求职:互联网技术类职位的介绍与选择

作者: 旻炎谈职业 | 来源:发表于2018-02-23 21:44 被阅读47次

一、非计算机专业为什么要学编程

二、没有技术背景的人能学会编程吗

三、技术职位的类别和工作内容

四、学习开发技术的入门路径

【正文】

作为互联网企业三大核心职位——技术,是互联网企业的生命,因为互联网公司往往是以技术驱动的。如果一个公司的技术力量比较薄弱,那么它的发展是会受到严重制约的。

作为大部分人来说,可能并不是学习计算机这个专业的,包括学长本人也不是,但是,我为什么还要给大家介绍技术方面的职位?下面告诉大家几个原因。

一、 为什么建议没有技术背景的你学习编程

计算机语言对于大部分人来说似乎是望而生畏的事情。但是,做这样一个假设,如果你高考选择专业的时候调剂到了计算机专业,而四年你不得不学习这个专业,那么四年之后你会编程吗?答案应该是肯定的。

很多事情,我们觉得比较难,只是我们没有去做,不了解它,最终造成的错误的认知。所以,我一直建议,作为大学的学弟学妹们,在大学四年中,抽出一点时间学习一门编程语言,这对于你的思维、职业、人生是有利的。

我为什么如此强烈的建议大家学习编程,是因为在未来,编程将成为人人必备的技能!你没有听错!编程将可能成为和英语、驾照、电脑一样,人人必备的技能。

学弟学妹们,你们要知道,现在的小孩子都在学习编程了。学长同事的孩子,进入小学后就已经开始进行课外的编程培训了。

美国前任总统奥巴马就是鼓励儿童学习编程的推崇者,他在一次接受采访时说,“目前的事实是,如果我们不做一些更好的选择,那么我们的领先优势将逐渐缩小。我们需要让孩子们参与数学和科学,而这不仅仅是一小部分孩子,而应该是所有人。所有人都应更早地学习如何编程。”【1】

麻省理工大学在多年前,就推出了针对少儿的编程软件scratch,帮助儿童学习编程,掌握编程思维。

早在2014年,英国就已经把图形化编程纳入了5岁以上小朋友的必修课;在法国,编程被纳入了初等义务教育的选修课程;在北欧国家如芬兰也把编程作为了一门非常重要的义务教育学科。

在国内,国家也开始提倡中小学生学习编程技术。2017年7月份,国务院印发的《新一代人工智能发展规划》提到,“实施全民智能教育项目,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。”【2】

2017年,山东省在其最新出版的小学信息技术六年级教材中,加入了Python的内容。【3】

可以预见在大家不远的人生中,当你们成家立业有孩子的时候,编程培训必定会成为孩子幼年就开始的必修课。

教育部考试中心于2017年10月11日发布了“关于全国计算机等级考试(NCRE)体系调整”的通知,决定自2018年3月起,在计算机二级考试加入了“Python语言程序设计”科目。希望大家有机会都尽量去学习一下这门语言,参加这个这个考试。

学会编程,非常有助于逻辑思维的训练。在《爆裂》这本书中,关于学习编程的好处,作者引用了雷尼克斯的话,“学习写作是因为它可以帮助你学习。和通过写作表达想法一样,我们也用编程表达想法,编程能教会你如何思考。”

我建议大家学习编程的还有几个现实性的原因:

1. 从市场需求:目前市场上对于开发技术人员的需求还是比较旺盛的,好的开发人员还是比较缺乏,这个趋势会持续比较长的时间;

2. 从薪资水平方面来说。由于市场供需不平衡,技术人员的薪资水平都是比较高,而且薪资的增幅也比较大。

3. 如果一个公司发展不利,发生裁员的时候,技术人员往往是最后被裁掉的部分。

4. 从职业发展的角度,懂得技术开发对于产品的实现更加了解,从技术转换产品或运营,会有更大的优势。

二、 没有技术背景的人能学会编程吗

上面说了学习编程的重要性,很多人可能接下来就要问,我只是一个普通学习**专业的人,我英文不好,我数学不好,怎么学习编程语言呢?

在此,学长就不讲什么大道理了,给大家讲学长身边两个非常普通的真实的案例,看完这两个故事,我想大家的疑惑就可能会打消。

第一个故事,是一个学习经济管理专业的同事,毕业后学会了PS,进入了一个小型的公司,一开始做的设计工作,与专业也没有什么关系。后来由于前端人员紧缺,就转行做前端技术,通过自己的学习加实践,成功转型为一名前端开发人员。目前就职于一个大型互联网公司O2O业务的前端部门。

第二个案例,主人公的专业是哲学系,他自学了编程技术,后来进入一个早期的门户网站互联网公司做了云计算开发人员,并后来成为这个部门的中层管理人员。

通过上面两个案例,大家就可以看到,是否能够编程,与有没有计算机专业基础其实并不是必然相关的,只要你去学习,就可以入门,进而进一步的精进成为一个不错的开发人员。

最后再说说学长自己,学长以前也觉得学习计算机于我而言是极其困难的事情,但是,后来通过一件事情尝试去学习了解编程,发现也没有自己以前想象的那么难,于是,我简单的学习了前端语言html/css/js,虽然没有动手操作,但是,我发现自己还是可以学会的,而且后来的工作中,我也能够看懂前端的代码。后来,我又学习了Sql语言,能够进行数据库的查询。如今,我对Python也产生了兴趣,开始看Python语言。

所以,学习编程并不会有大家想象的那么困难。只要有此意愿,开始行动起来就行了。

三、 技术职位的类别和工作内容

技术类的职位,主要包括前端开发、后端开发、客户端开发、测试、运维、数据、算法这样几个种类。其中,市场需求广泛的还是前端、后端、测试、运维、客户端。这是移动互联网公司必须具备的几个职位。不过,以后随着大数据的发展和应用,企业对于数据、算法类的岗位需求也会有较大的增长。

这里主要给大家介绍一下前面的5种主要岗位的工作内容。

首先,需要给大家声明一点的是,学长是一个非技术的人员,我没有从事过技术,我的角度更多是一个非技术人员从日常工作中跟技术人员沟通中,领悟到的经验给大家来讲解。所以,如果是打算从事技术的同学,把这里的介绍作为一个入门的引子即可,更加深入的内容,还需要自己去网上搜集各种资料,买专业是书籍去看,请教相应职位更有经验的人。

如果是计算机技术的同学,看到我的表述不专业的地方,不要苛求精确,我仅仅是为非计算机专业的同学做一些通俗化的介绍。

下面我就以【得到】app(一个学习类的产品)为例来说明上述各个岗位所担负的岗位职责,所做的具体工作内容。

在一个app产品的开发中,产品功能实现是由前端和后端开发完成的,而客户端、测试和运维这三个岗位,主要负责开发后,产品上线时及上线后运行中的一些工作。所以,这里面的工作分工大家要了解。

1. 前端开发人员的职责:

前端开发的主要工作职责就是开发前端页面,也就是我们普通用户可见的页面部分,这其中包括页面元素的实现、页面的结构布局、页面的动态效果、数据的传输等等。当然,更深入的还有框架的优化,页面性能的优化等。这里我们仅仅从一个简单的视角切入,做以基本的了解。

(1)页面的结构和元素的实现:

页面元素的实现就是类似于页面上按钮、导航、输入框的实现,比如,在得到app页面,顶部的滚动banner图下面,有5个圆形的导航按钮,这5个导航按钮的大小是多少像素?形状是什么?颜色是什么?都需要用开发人员通过代码写出来。

这里面的5个按钮放在页面哪个位置,距离屏幕两边的距离是多少?两个按钮之间的距离是多少,这就是页面结构布局。

(2)页面的动态效果:

在得到app首页,我们可以看到顶部的banner广告是滚动展示的,那么,广告图的大小是多少,广告图滚动的方向(从左往右还是从右往左),每个广告图滚动的时间是多少等。这些动态效果的具体实现,也是前端开发人员通过代码实现的。

(3)数据的通信和传输:

上面说的广告图和5个导航按钮,我们随便选择一个点击之后,都会进入一个新的页面,进入的页面有图片、文字、甚至是视频,开发人员把他们统称为数据,当我们点击进入的时候,会看到这些数据不是马上显示出来的,而是有一个缓慢出现的过程,这叫做“加载”,这个加载的过程,就是前端页面通过代码向后端数据库在调取数据。

如果调取成功,才能显示出来。有的时候,我们打开一个网页的时候,半天没有出来,是一片空白或者显示的“404”,这都是数据没有调取成功。这就是数据的通信。当然,这个过程是由前端和后端代码来共同完成的。

以上就是对于前端工作的简单介绍,当然这只是很少的一部分,也是比较基础的部分。仅供大家管中窥豹。

对于前端人员来说,为了能够胜任上述的工作,就需要学会相应的开发语言。比如,HTML、CSS、JavaScript、Node.js等,当然,作为前端人员,还需要了解并熟悉HTTP,浏览器原理,Web容器等,熟悉常见安全问题和对策等。

(2)后端开发:

后端开发人员的主要工作,就学长所了解到的,至少包括产品框架的搭建、数据接口的开发,产品的封装、数据库的创建与管理等。这里面也挑几个比较容易理解的方面来说。

(1)接口的开发:

首先来说一个概念,就是什么是接口,百度百科的定义是:

接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。

这个概念比较抽象,学长做个比较形象化的比喻,在谍战电视剧中,总是会出现类似的镜头,两个地下党员接头的时候,总是要以某个信号或者两句诗作为接头的暗号。大家就可以把这两个接头的人理解为两个接口,他们接头的方式,就是接口输入输出数据的方式,他们的暗号就是数据。

回到产品开发中,就是后端的同学把数据以什么样的形式给到前端同学。这时候就涉及到接口的开发,包括数据以什么形式组织,以什么形式输出效果最好。如果接口开发的不好,那么前端同学取数据不顺畅,当我们打开那个页面的时候,加载就非常缓慢,那我们可能就不会用这个app了。

(2)数据库的创建与管理

后端同学的工作中,有一项比较重要的工作就是数据库的创建与管理。当我们首次使用得到app的时候,我们需要注册一个账户,并登录上去。当我们在前端页面通过输入框填写信息注册了一个账号后,前端页面就会把我们的注册信息传给后端的数据库,数据库就需要把我们的信息保存起来,以便以后每次我们登陆的时候对应是谁登陆的,从而保证我们在上面的购买记录、浏览信息、阅读的记录都是对应起来的。

后端同学需要掌握的开发语言有C/C++,Java,PHP、Python,JavaScrpit,Perl,Ruby,Shell等。当然不是所有的都需要掌握,掌握几种主流的语言即可。关于这方面,学长的了解也比较少,大家可以自行搜索学习。

(3)测试职位

测试人员的工作职责包括评审需求、参与系统方案设计、制定测试解决方案,测试用例的设计、编写及执行等。

当前、后端的开发工作都结束之后,产品的主体功能就实现了,这时候,就需要测试人员对整个产品的所有功能进行测试,以确保用户的每一个操作都不会出错。测试有前端测试和后端测试的区别,测试的具体内容有功能方面的测试,有性能方面的测试。

功能测试就是产品上的功能是否能够正常使用,就拿得到app来说,测试人员要从一个用户注册开始到用户完成app里面的动作为止的所有的功能都测试多遍,看看在网络环境、各种手机型号上,是否都能注册成功,是否都能打开页面阅读专栏,听语音。功能测试是为了保证产品的“可用性”。

性能测试,是针对某个功能是否好用的测试,比如语音打开是不是顺利,听的过程是不是流畅,如果用户在得到app里面购买一本书,购买的流程是不是流畅等等。性能测试,主要是产品的“易用性”测试。

关于测试人员的技能要求和需要学习的工具,限于学长了解有限,避免对大家的误导,在此略过。

(4)运维职位

运维的职责除了负责公司服务器日常运行、管理,包括设备检修与变更,以及机房网络布线与维护。在产品上线的时候,还要帮助研发人员搭建网络环境和软件运行环境。

(5)客户端职位

客户端是移动互联网兴起之后才有的职位,客户端一般指的是手机客户端,主要包括安卓和IOS(苹果操作系统)。客户端工程师的工作,主要是产品的上线与发布相关的工作,当一个app产品开发完成、测试结束之后,需要上架到应用商店,这就需要专门的客户端开发人员来做相应的工作。

以上是对于技术开发各岗位职责的介绍,关于薪资部分,开发人员的工资在互联网公司,同等年龄阶段和工作经验的情况下,相对来说,比产品和运营薪资水平要高。这一部分本文就不再讲解,大家可以在招聘网站上自行了解。

四、技术开发的入门路径

互联网本来就是由技术驱动的,而且互联网提倡平等、自由、分享的精神,作为技术人员尤其喜欢分享,网络世界有各种各样的技术学习资料。

如果是一个非计算机专业的同学,想入行做技术开发,可以有两种途径作为入门的路径。

一种是通过自学的方式,大家首先对上述各个职位做深入的了解,确定自己喜欢的一个方向,然后选择一种开发语言作为入门的语言,通过网络或者专业的书籍,然后去深入的学习和了解。在这个过程中,多请教别人,可以是周边懂技术的同学朋友,也可以是学校的计算机系的老师,甚至是技术社区、论坛里面的人。

如果自我驱动能力不强,也可以找一些靠谱的付费机构去参加培训。有很多人就是通过培训进入这个领域的。当然,培训机构有很多鱼龙混杂,在选择的时候还需要进行仔细的分辨。

另外,从长期的维度来说,如果一个人打算以技术开发作为职业的话,学习就是一个长期的课题,所以,短期的培训能解决的也仅仅是快速入门,长远的发展还是要靠自己的工作实践和学习。

对于开始入行的人来说,学长建议可以从一些基础的知识入门,在此介绍两个网站:

一个是菜鸟教程:http://www.runoob.com/;

一个是W3School:http://www.w3school.com.cn/;

这两个网站对于所有的技术语言都有涉及,作为初步的入门是足够的,另外,还可以上CSDN(https://www.csdn.net/)去看看,这是创立于1999年的一个技术论坛,也是目前中国最大的IT社区和服务平台。

总之,对于任何人来说,都有必要了解、学习编程技术,懂编程技术,这对于长远的职业发展有很大帮助的。

【参考文献】:

1. 腾讯科技.奥巴马:所有美国人都应学习编程.

http://tech.qq.com/a/20150215/041805.htm

2. 国务院关于印发新一代人工智能发展规划的通知

http://www.gov.cn/zhengce/content/2017-07/20/content_5211996.htm

3.艾瑞网.小学生已经开始学编程了!

http://news.iresearch.cn/content/2017/12/272139.shtml

相关文章

网友评论

    本文标题:大学生求职:互联网技术类职位的介绍与选择

    本文链接:https://www.haomeiwen.com/subject/tgkfxftx.html