frankzhu2000 想开个有营养的帖子分享点心得,顺道练练文笔。楼主先后在两家美国的电信设备商那里做了十来年的软件开发,这个行业因为HW的崛起,从一个高大上的暴利行业变成了一个奇怪的行业,怎么奇怪呢,就是人员素质要求极高,待遇很一般,公司活的苦不堪言。于是两年前楼主跳出了这个行业,楼主先后服役过的两家雇主,一家是传统巨无霸,另外一家是新兴的硅谷小快灵企业,平时参加会议或者面试工程师的时候,大概对另外一些企业的开发结构也了解不少,基本上90%都是类似的。
这里就以这个行业为例,大概聊聊外企软件开发大概需要什么样的岗位,不同岗位的上升空间是什么样子的。希望能对感兴趣的朋友有所帮助。
对电信设备来说,唯一的功能就是数据传输,把需要的数据打好包,按指定的协议传输到指定的目的地,然后再把包裹打开,同时提供很强的容错纠错能力,无论是基站,光网络,城域网,接入网,路由器,交换机,基本都差不多。
样子长的也类似,一个机柜,机柜里面是各种不同的板卡,机柜的大小呢,从一间房子那么大到你家里的无线路由器巴掌大,价格从几十元到几百万元都有。
从系统结构来说,有三个重要的实现平面,我还是拿家里的无线路由器做例子
管理平面(Management Plane): 你刚买回来的路由器,一般是拿网线接到电脑上,访问192.168.0.1的页面来配置无线网ID, 访问密码,访问并发数量,个别居心叵测的同学还要配一个访问禁止列表,防止小孩的ipad上网。 实现这个功能的就是管理平面。
数据平面(Data Plane): 你家里的路由器接受电脑或者手机发出的wifi 包,判断目的地,转换成千兆以太网的包,通过家里的光纤发到电信局,同时把你访问的目标网站的响应数据再通过你的wifi发到你的电脑或者手机上。
控制平面(Control Plane), 无线路由器里面有很多部件,cpu, wifi的收发器,路由交换芯片,比较大的路由器里面不止有一块pcb板卡,这些部件的内部交互需要软件来设置和协调。
外企里面的开发团队的构架基本也是按照上面的知识来划分的:
管理软件组(Management Component)
数据通信组(Data Flow and Control Protocol)
平台组(Common Platform)
对于设备的测试,也大概有三个组:
单板测试组(Board Testing)
系统测试(System Testing/Network Element Testing)
网络测试(NetworkTesting)
下面来一一描述
管理软件组:在设备软件的最上层,站的高,看的远,把设备里面所有的功能都抽象建模,同时对常见的网络管理协议很熟悉,开发软件难度不大,生产效率很高,通常公司内部的交流报告会,都是由这个组的成员出马,曝光率很高,对其余的模块都懂一点点,如果人聪明,英文能说,笔头利索,很快就出人头地,经理岗位空缺,一般都是这类人被提拔。
数据通信组:电信设备的核心,具体还分为数据软件,数据芯片驱动和控制协议,从事控制协议的人,一般都是公司的重要财富,轻易不敢得罪,在公司里面没人敢惹,笔头利索的人一般可以从事架构师,系统工程师之类资深的职位,拿着不错的薪水。缺点基本有二,第一个是学习路径比较长,没有五年的沉浸,不可以独立工作。第二就是,这个技术是个彻底头彻尾的屠龙之术,离开这个行业,一文不值,花了十年时间成为大拿,出来找工作,发现没人需要,真的是很悲哀。
平台组:分为软件平台和硬件平台,软件平台一般是控制平面的协议和操作系统BSP, boot loader之类的工作,硬件平台就是cpu, ddr, flash, eepor, i2c, spi, pcie 这类东西。一般大企业的平台很长时间不更新,好混的很,上班晚来早走,生活质量很高。缺点就是,在研发体系里面地位很一般,升官发财一般没这个组的事儿。优点就是,找工作好找,任何设备开发都需要通用平台的支持,适用面很广泛,但是找工作好找是不假,找到了依然是颗螺丝钉的命。
单板测试组:大量分布在生产部门,技术要求单一,工作重复性相对较高,压力不大,报酬不低,在外企经常看到一些白发苍苍的同学在运营这些测试。
系统测试:就是我们常说的qa 团队,人员多,要求不高,相对比较好混,和平台开发组有的一拼。工作弹性较大,我举个例子,您在BS卖个苹果手机,买家收到货了,爽快的人用20分组完成了测试,给您确认付款了。墨迹的人足足用了七天完成了测试,系统自动付款了。您能说谁的测试质量高?所以这个组的老板通常给上级汇报的时候,都按照七天完成一个二手苹果手机测试的工作量来报,从上面看这个组每个人都忙的很,其实大家心里知道怎么回事儿。有些聪明人就在工作中找机会深造,考各种认证,最终脱离这个团队。剩下的多数都是孩子妈妈,在这个团队完成了从少女到结婚到生娃到生二娃的完美人生。
网络测试组:精英中的精英,一个设备不管在实验室里面测试的多完美,到了网络互联和客户部署的阶段,总是有非常多的问题,如果这个组的精英们定位问题不准确,会给后方的研发和测试造成非常大的延误和无效工作量,这个组人不多,都是很多年的老家伙,薪水高,一般也不跳槽。
这期节目就到这里,欢迎大家交流。