Hits: 10

互联网公司工程师图鉴

在互联网公司的技术部门工位区域,总是荡漾着一种独特的气氛,在那里坐着的,就是互联网公司的工程师们。

他们俗称码农、攻城狮、或者程序猿,而工程师是一个正式的称呼,常用于正式场合,比如技术峰会现场、公司对外会议上,以及相亲现场的自我介绍里。

这种正式的称呼,就像是你用英语介绍博士得带着Dr. 开头一样,不过区别在于,你介绍博士不带Dr. 开头可能没事,但是在正式场合里把工程师介绍成码农大概会被打。

而工程师们还根据职能分为很多不同的种类,今天我们就给大家科普一下,互联网公司里的工程师的常见分类——

开发工程师

软件开发工程师,是互联网公司里最常见的一种工程师,跟产品打架的主要是他们。

开发工程师里,还分为前端开发、后端开发、IOS开发、安卓开发等等职位,负责的一般是一个产品从无到有的过程。

开发的头发随着需求的数量日渐稀疏,等到全秃的时候,就是升成构架师的时候。

测试工程师

测试工程师,不是在写测试用例,就是在写测试报告的路上。

有的工作则是每天点点点点手机,出门身上不带着三个手机以上没有安全感。

作为既和产品经理又和开发双向battle的人,他们的日常用语是:

1、又发版?不是刚发过了么?

2、开发快醒醒,你的代码出bug了!

运维工程师

俗话说,产品生娃,运营养娃,在技术部门则是,开发生娃,运维当保姆。

运维每天的工作主要是看监控、收警报、部署和上线,简单来说就是“看看这个,看看那个”。

不过大部分人对运维工程师的认识还是——

“那个修电脑的,你来看看这是怎么回事!”

大数据工程师

数据工程师以为自己进公司是做平台的,后来发现原来是写SQL的。

日常主要工作是给产品和算法工程师打杂,今天埋个点,明天取个日志,后天跑个数。

另外还有做数据监控的——

当alert发多了,运维:能不能少发点,明明没有问题!

当alert发少了,运维:这都监控不到?出了问题你负责!

网络工程师

网络工程师具体也分为很多类,普通的比如架设机房内网络连接的,高端的比如做网络防攻、渗透测试的。

但是再牛的网络工程师也敌不过公司同事的一句话——

“网管,我上不了网了!”

全栈工程师

全栈工程师,也叫全端工程师,英文Full Stack Developer,大概指的是一个工程师能够完成从前端到后端再到数据库实现的所有开发工作。

全栈工程师这个概念这几年很火,不过也有人说所谓全栈,就是什么都略懂一点,但是什么都不精,什么都会最后就成了什么都不会。

很多创业公司现在喜欢招全栈工程师,结果到了公司发现自己是全占工程师,最后慢慢变成了全干工程师。

AI工程师

算法(AI)工程师永远站在歧视链的顶端,甚至工程师几个字都侮辱了算法,算法希望别人管自己叫科学家。

的确,在互联网公司里,AI工程师是最接近科研的岗位,读论文,实现论文,写专利,出一下demo,当然有时候还得上手写代码。

AI工程师之所以能够站在工程师歧视链的顶端,一个重要原因是薪水高,这几年的大厂校招算法工程师都几乎到了40W的水平,很多ssp offer都是被算法工程师收割走了。

另一个原因是工作相对轻松很多,当其他工程师还在熬夜加班的时候,拿着最高薪水的AI工程师已经收拾电脑回家休息了。

但是在AI工程师中,不同水准的工程师的生存现状差距还是很大的。

底层AI工程师在小公司里做算法还是很难的,进公司的时候面试的是各种牛叉的算法,结果后来每天的工作就是跑数据、洗数据… 工资和其他人拿的差不多,做的却是好几个人的活。

而高端AI工程师则备受追捧,比如前段时间阿里AI labs曾经年薪百万美元引进两位科学家,华为也为多位AI应届博士开出了200万的高价年薪。

 

 

程序员老鸟给新程序员的九句忠告,句句惊心

1. 年纪轻轻除非是迫不得已,千万不要进传统公司的伪互联网项目。

虽然事不多,待遇好,但是混日子的也多,你和老油条们摸鱼一两年,哪天项目突然被裁掉了,他们有行业积累可以跳槽,而你再出社会,完全没有竞争力。所以新手程序员入职,能去大厂就去大厂,不能去大厂也一定要找一家纯互联网公司入职,创业公司也好,中小型企业也好,反正要有现成的项目打磨你的技术。

2.能大规模商用的技术,都不需要智商,否则这种技术就不可能规模化。

所以刚入门的程序员,一定要时刻警醒自己,「会一两门编程语言只是职业的开始」,持续学习,深入学习才是你的出路。

3. 虽然技术是程序员的根本,因为没有技术你就没有钱。但是也一定要记住,技术并不是你的全部。

因为你的身体你的健康比钱更重要,也因为你很难搞一辈子技术。所以,早点开始健身、早点为你的职业发展做规划。

4. 做一个程序员,而不是做一个码农。

IT是工科,不是理科,和IT行业相似度最高的行业是盖楼房。真的,相似度相当惊人。而码农的工作和搬砖没什么区别,就是东搬轮子西拼凑,哪里漏水修哪里,会铺个地砖和个水泥,就能把房子搭起来。和工程师的区别在于,搬砖工人是拿不出建筑图纸的,但工程师可以。码农是搞不定项目方案的,但程序员可以。

5.对程序员来说,英语真的很重要。

能否使用英语查阅资料,是区分技术人员水平的重要指标之一。寄希望于“有人迟早会翻译成中文”的人是愚蠢的、是会被淘汰的。而且永远拿着二手资料,你如何把控风向,紧跟潮流?

6. 理论基础很重要,入职之后的差距就是这些看上去无用的基础知识拉开的。

数据结构,操作系统原理,PC原理,数据库原理等……这些基础知识决定你在技术上能走多快和走多远。

7. 公司不是学校,而是你创造财富,实现价值的地方。

你可以在工作中学习,但你不能放下工作然后去学习,除非你的工作已经做完了。除此之外,还有一点要强调的是,不要只在工作中学习。工作能带给你的是经验、是实操,而基础知识以及前沿理论知识只有靠你自己下班后来学,这也是你与其他人拉开距离的时候。

8.一个有水平的程序员,应该花80%的时间做代码设计、画UML图、画时序图,剩下20%的时间写code和debug;菜鸟程序员的这个比例恰好是反的。

用一句话来说,就是不论这个需求有多紧急,你都一定要“想好再动手”;而“想好”的标志就是设计文档写好了;文档一旦写好,写代码就是纯粹的无脑工作而且不容易出错。

9.通过技术兼职来接私活赚钱是可行的,但是一定要找靠谱的平台。

常见的方式有技术论坛、朋友推荐、外包平台。