这篇文章,送给想成为互联网工程师的你

 

校招季要来了,准备就业的应届生同学们,即将迎来第N次人生重要选择——选什么行业?什么职业方向?什么具体岗位?

 

难度指数不亚于填报大学志愿。

 

为了给应届生同学们提供更多参考信息,最近我们先从技术岗位的角度,联系到了三位传说中的百度高T,请他们聊了聊互联网工程师这条路。

 

如果你有意在互联网行业从事技术类相关工作,欢迎你来看看这份来自百度同学的不完全参考信息。

 

今天的文章很长长长长长长,提前列个目录:

 

  • 百度的那些技术岗位

  • 判断适合自己的技术方向

  • 成为一名互联网工程师之前

  • 技术人的可能成长路径

  • “好”的职业选择

 

希望能给同学们一点帮助~

 

===1===

百度的那些「技术岗位」

 

 

在百度,技术岗位主要分为算法类职位工程类职位。在实际工作中,不同的技术方向之间是没有什么明确界限的,没有非此即彼的关系,本身都是有交集的。

 

不管从事哪个技术方向,都是工程师,只是侧重点不同,算法侧重策略上的效果,工程侧重于工程实现、稳定性和运行效率等。

 

「算法」与「工程」

 

「算法」和「工程」是紧密联系的过程,从算法的改进,到线上产生实际的收益、给用户从感知上带来明确的变化,整个过程需要两个工种密切配合。

 

如果比喻成盖房子的话,工程就是打地基、做框架,算法来填水泥、加窗户等等,一起把房子盖起来。盖起来以后,还会要求房子要抗得住地震、禁得住火灾等等,这都是工程要解决的问题。

 

算法定义的是具体问题,更多是从理论的角度,从算法本身出发去快速改进、迭代,同时根据实践把理论的东西进行创新,在实验数据的基础上,再去跟工程实践结合。

 

工程也可以再细分为不同的领域,在这些领域工程都不可或缺,但是发挥不同的角色。

 

一类是解决偏功能型的问题。比如日常使用的各种APP,首先要保证通信、拍照、框、界面流转等等功能的实现,这对APP的体验是很重要的,有了这些东西用户才能真的使用对应的服务。

 

相应的挑战也很多,比如功能越来越多,怎么把服务更好地迭代上线?再比如如何保障功能的弹性能力,平时能很好地承接需求,特定时间能很快地扩上去支持运营活动?

 

一类是配合算法去解决具体的问题。算法需要用各种模型解决具体的问题,但怎么把算法在大规模的数据、资源上跑起来,这就需要工程的支持。

 

还有一类是工程独立解决的问题。业务规模一旦上去后,对稳定性、时效性、弹性的要求都会提高,很多相应的项目都是要大规模处理的。比如「云」完全是工程驱动,解决的问题是如何让算力和平台服务化、高效化。

 

「工程类职位」的现状和发展

 

所有的技术问题,最后都可能会变成工程问题,实际上工程类职位的需求量也远大于算法类职位。那么,工程类职位的现状和发展是怎样的?从前端、后端、移动端研发的不同角度,三位受访高T也分别给出了自己的判断:

 

前端:越往上发展越需要横跨

 

工程类职位一般主要是两种发展方向:一种是在某个技术点上做得特别深,这点对前端来说会比较难;另一种是要横跨,去横向关注更多,这种发展方向更加适合前端同学。

 

实际上越往上发展,越不会明确区分前端后端,而是需要从整体去关注如何把事情做好。即使不做后端,也要和后端配合好,比如说稳定性、线上问题怎么处理、如何及时止损等等,都需要体系化的梳理。

 

后端:未来十年是做系统的黄金时期

 

对做工程结构的后端来说,现在是比较黄金的时期。原因主要有几点:

 

一是整个业界正在发生巨大的变化。业界很多人都在提“未来十年是做系统的黄金时期”。从硬件角度来说,存储变革、网速升级等等,都让底层环境发生了很大的变化,好比以前是铜器时代,现在是铁器时代。

 

二是需求和场景也在发生巨变。几乎所有的企业都在做数字化转型,特别是「云」起来以后,所有人都在朝着新的服务架构去重构自己的系统。百度也开始提倡从业务流程、规则驱动转向数据驱动、AI驱动。现在使用数据跑模型,对业务上层的工程架构已经不一样了。

 

三是5G时代到来,也会带来一些新的机会。5G时代的到来,也要求我们要开始考虑边缘计算的场景,万物互联世界的搭建,需要有新的工程框架和范式出来。

 

移动端:移动端开发范畴将更加宽广

 

移动端开发主要是手机上的开发,比如安卓、iOS系统开发。从PC互联网时代到移动互联网时代,移动端软件研发已经过了野蛮生长的时代,进入了相对的成熟期。

 

5G起来之后,随着物联网的推出,基于物联网的移动开发必然是跨所有端的开发,发展面会很宽广。移动开发势必也会朝着物联网开发的方向发展,不再局限于手机,车载设备、智能家居等等都会变成移动端开发的范畴。

 

===2===

判断适合自己的技术方向

 

 

对于很多刚刚走出校园的同学们来说,虽然理想目标是「找到一份自己适合的工作」,但现实往往更多的只是「找到了一份工作」。

 

除了一些客观因素之外,造成这种结果的原因,也很可能是主观上并没有想清楚自己适合做什么。

 

具体到技术方向的选择,三位高T也从过来人的视角,提供了一些思路和办法。

 

兴趣是最大的内在驱动力

 

每个工作都能解决吃饭问题,但要想干得好、走得远,还是要有兴趣。感兴趣的领域,你才更有可能飞得更好。

 

想清楚你擅长什么

 

算法需要理论深耕,你必须在理论上有很深的研究,才能有算法上的创新。对数学能力的要求也比较高,数学不太好的人做算法,后续的向上发展可能会相对困难。

 

工程是直接面向用户的,需要去解决实际问题,难点在于在复杂系统各个影响因素下,怎样用工程的方法去解决问题。这就需要业务理解能力、抽象能力和实际动手能力要强。

 

发现你的成就感来源

 

「算法」的成就感主要来自解决问题。做算法可以解决非常难的问题,享受解决问题的成就感,在算法上做改进,收益和成就感最终体验在实验数据。用算法解决问题可能会带来巨大的收益,相应的也需要更长的时间。

 

「工程」的成就感来源主要来自面向用户。你的所有工作,用户都是能直接感受到的。比如你改一个功能,就可能会改变几千万、几亿用户的使用体验,你的产出很快就能让用户感知到。反之算法的产出就偏长期些,对于用户来说也没有明显感知。

===3===

成为一名互联网工程师之前

 

 

不管是「算法」还是「工程」,都只是定语。对于所有的工程师来说,都需要具备一些通用素质

 

  • 基本的代码能力。这是很重要的,比如你要会写代码、会实操、会实现。

  • 学习能力。学习能力是最基本的好习惯,你既要有一定的基本知识,还要能够驱动自己不停向前探索。

  • 兴趣。要有兴趣,才会想要去了解更多东西。

 

除了通用素质,「算法」和「工程」也各自有一些独家素质要求,比如算法类职位特别强调理论深度,工程类职位更加强调动手能力、全局视角、协同能力等等。

 

具体到市场需求量相对更大的工程类岗位,应届生同学可以主要就以下方面进行准备:

 

  • 基础的通用能力。应届生没有工作经验,所以考察时会更加注重基础的技能,代码能力要扎实。

  • 责任心意识。工程对错误的容忍性更低,一点失误影响的就是成千上万的用户。这跟在校时的“刷题”不同,不能只求做得快、性能好,还要着重考虑容错性。

  • 系统化的知识和较广的知识面。工程接触面多,网络协议、算法的基本原理、产品功能等等都要做基本的了解。同学们可以买一些相应领域成体系的书进行了解。

  • 协同和沟通能力。工程是一个支点,需要把不同的角色连在一起,需要沟通和协同。

  • 保持好奇心。工程如果做得不好,很容易陷入“响应需求”模式,局限你的个人发展。保持强烈的好奇心,你才会从更长远的视角去追问需求和了解背后的方法,搭建具有前瞻性和可变性的「好架构」。

 

虽然要求不少,不过同学们也不必太担心。这些相应的能力一定也是需要在具体的岗位上不断获得的,对于校招生来讲,先做到知道、了解就好,不会要求一开始就深入到某些细节。

 

===4===

技术人的可能成长路径

 

 

技术人如何成长?这一题我们并没有问出统一答案,分享每一个答案:

 

从满足岗位需求到让技术引导产品发展

不同阶段重点不同

@S高T

 

每一个阶段的重点都是不一样的。先要学习基本的知识,满足工作岗位的需求;然后是关注怎样把事情做得更好、更快,建立个人影响力;最后是要关注技术、产品和整个产品价值能够如何更好的结合,让技术引导产品发展。

 

技术能力决定你能走多远

软素质决定你能走多高

@L高T

 

人的职业发展道路是很长的,但技术发展的核心不会变,那就是尝试在不同领域做实际应用,通过发现解决问题来反哺你的技术发现、拓展你的技术面。具体从两个层面讲的话:

 

从技术的角度来说,现在最需要的就是T字型人才。「竖」是技术的深度,不管是技术还是对业务的理解,你要在某一个方向扎得很深入;「横」是技术的广度,对相关的方向你要去了解,而且不能是很浅层次的理解。

 

从软素质的角度来说,学习能力、自驱力等等都很重要。技术能力决定你能走多远,软素质决定你能走多高,越往后发展,软素质起的作用越大。

 

要从单纯的响应需求

到更前瞻地了解需求、贴合需求

@D高T

 

大部分人在刚开始的时候都会经历「为了做技术而做技术」的阶段。比如你做存储系统,就只会去考虑解决存储问题,而不会进一步去想是谁要储存这么多数据,为什么要存,痛点是什么。

 

每个人都会经历这个「纯粹做技术」的时期,也没必要跳过,你可以利用这个阶段去磨练技术,去提升你的工程能力和工程素质。不过,三到四年必须走出这个阶段,否则你的短板就会比较明显。

 

第二个阶段,就是往外想、往远想。如果你只是单纯的响应需求,技术落地效果就会很差。这个阶段需要你去跟业务对清楚需求,去了解更长远的发展历程,再把你的计划进行贴合。可以先从小点做起,慢慢看得更远。这个阶段可以做一辈子,也可以跳出来进入第三个阶段。

 

第二个阶段还是在技术的范畴内,第三个阶段就不能只局限在自己的技术范畴看问题了,你需要跳出来去看业务,去想业务怎么发展、业务背后的商业模型是什么,倒推出这个时候我们需要做什么样的技术。这个阶段就不再是纯技术了,会偏向业务甚至可以完全转向业务。

 

===5===

「好」的职业选择 

 

 

这本来是一道开放题,在分开的采访中,高T们却神奇地给出了统一答案:没有好选择,只有适合自己的选择。

 

世界变化太快,环境、岗位、公司都可能会随时发生变化,保持学习、选择自己内心喜欢的并且长期投入,一般都能得到一个不错的结果。

 

至于什么才是「适合」的,有很多发现自我的办法。

 

比如加深自我认知,经常去问问自己到底喜欢干什么事情,哪些事情能让自己感觉兴奋、找到成就感。再比如跟朋友、老师、长辈主动聊聊,问问他们眼里的「你」是什么样的,在别人的认知里,你也许会觉察到自己之前并未发觉的能力和特长。

 

当然了,更多的「自我发现」来自工作中的实践。你需要在实际去做了一份工作之后,才能真正在实践中发现自己的心意。所以,即使一开始没有选到最合适的工作,也没关系啦。S高T在采访最后就说了:

 

“年轻的时候,一份工作只是开始。不用太担心。”

 

新的人生阶段,祝应届生同学们一路顺风~

 

==============

本文转载自微信公众号“百度同学”

欢迎搜索关注

收藏 评论(2)
分享到:
共2条回复 最后由代开深圳票 回复于2019-08-06 22:15
#2 Q1058204131 回复于2019-08-05

棒棒哒

0
#3 代开深圳票 回复于2019-08-06

棒棒哒

0