本人硕士毕业后的头几年是主要在通信设备商(他们研发生产通信设备(如基站)卖给电信运营商(如中国移动))工作,那时是通信业的黄金十年,单是通信设备商就有很多家,国内有华为、中兴、大唐、烽火等,国外有爱立信、诺基亚、西门子、摩托罗拉、朗讯、北电、阿尔卡特等。这里面的有些公司现在刚毕业的可能都没听说过,因为它们要么被兼并要么倒闭了,这要“归功”于华为(是华为打的他们无还手之力导致要么兼并要么倒闭的)。现在这个领域主要有四个玩家了,国内的华为和中兴,国外的爱立信和诺基亚。这个诺基亚跟手机领域的诺基亚当年可以说是兄弟关系,是诺基亚公司的两大业务:手机(通信终端)和通信设备。后来诺基亚把手机卖给了微软,通信设备就成了诺基亚的主营业务了。现今的诺基亚可以说是多家通信设备商的综合体,包括诺基亚、西门子、朗讯、阿尔卡特、北电、摩托罗拉,即这么多家最后并成了一家叫诺基亚。上面说了那时是通信业的黄金十年,同时外企明显强于国内公司,是毕业生眼里的香饽饽,很多毕业生都进了外企,其中不乏相当优秀的。这跟现在完全不一样了,现在是移动互联网的黄金时代,毕业生都想进移动互联网公司。这也很正常,大家都想进处于黄金时期的行业。我就在那时进入了一家外资背景的通信设备商,做媒体网关(media gateway)上的语音软件开发,从刚开始的啥都不会要人带到后来的我带别人。做了几年后由于我们这个产品的开发要transfer到其他site,我要去做其他领域软件开发。当时觉得前面几年的积累用不上太可惜了,也就不太愿意做其他领域开发,于是就换了公司,到一家芯片公司继续做音频相关的开发。这么多年过去了,现在想想当时出来是正确的,通信设备商的黄金时代早已过去,人不能逆趋势而行。今天就聊聊我在那段时间技术上的得与失。

先说得吧。好多做技术的前一两份工作就决定了自己的技术方向,我也是这样。进入通信设备商做媒体网关上的语音软件开发,而且一做就是几年,这就决定了我的技术方向是音频相关。直到现在我仍然做着音频相关的工作,只不过现在音频知识面更广了,做的东西难度更大了。如果后面还在做技术,我想还会是音频相关。所以这第一得就是得到了我的技术方向。我是学自动化(控制理论和控制工程)出身,而音频属于信号处理。记得刚进公司的时候听着周围人讲的术语基本都不懂,觉得自己好弱。一听到不懂的就记下来,下班后回家到百度上搜(那时公司里只有部分人能上网,我作为一个新人肯定没有上网的权限)。老大交待的任务完成后就主动要求做新的任务,好使自己快速上手。经过一段适应期后,我可以很好的跟大家讨论技术问题了。就这样从刚开始的什么都不懂到后来通过做不同产品形态上的音频开发掌握了除算法(算法主要是理解基本原理,然后去优化使用)之外的绝大多数的音频知识。做音频技术的相对偏冷门,做的人不多,我能坚持下来,并且一做就是这么多年,我也挺佩服自己的,哈哈。

这第二得是得到了较为全面的语音通信知识。整个通信网络分为通信终端(用户)、接入网和核心网,大意如下图:

通信设备商一般做接入网和核心网(刚开始时一些通信设备商连通信终端都做,后来陆陆续续的把通信终端卖掉了,专心做通信设备,比如阿尔卡特和西门子),而在接入网和核心网里都有好多网元,一般一个网元都有一个具体的产品部门做。做开发的除了关注自己开发的网元内部实现外,还要关注与之交互的其他网元的行为,如果没有兴趣一般就不会关注整个通信网络的架构了。我除了关注自己开发的以及与之交互的,对整个通信网络也十分有兴趣,想知道整个通信过程是如何进行的,比如两个手机之间打电话,信令是怎么交互的,语音数据是怎样从手机经过接入网核心网传输给对方手机的。公司除了有产品部门外还有整体解决方案部门,他们不做具体开发,关注网络整体方案,同时还要负责对外交流,告诉客户公司的从接入网到核心网的整体一揽子方案是什么。这种部门一般会写很多关于网络或解决方案之类的PPT,他们也会把这种PPT放在公司内网上供内部员工学习交流。我在公司的中后期正处于3G研发已成熟刚开始布网(国内上3G比国外迟了好几年)同时4G(LTE)已开始研发的阶段。我就从内网上找到一些关于通信网络架构的PPT学习,先学习了3G的接入网和核心网有哪些网元它们之间从控制面到数据面是如何交互的,后来重点放在了4G的网络架构上。4G是一个全IP的网络,即全是PS域(Packet SwitchedDomain,分组域)不再有CS域(Circuit SwitchedDomain,电路域)。接入网从3G时代的两个网元(分别是RNC和NodeB,RNC负责控制面,NodeB负责用户面)演进到只有一个网元(eNodeB,控制面和用户面都在eNodeB上处理)。核心网演进到EPC(Evolved Packet Core)。为了实现全IP下的语音通信,提出了VoLTE(Voice over LTE)的概念,通话双方都有4G网络时就用VoLTE通话,否则就回落到2/3G网络在传统CS域通话。VoLTE实质上也是VoIP,在终端上对语音数据编码后码流也用RTP/UDP打包。跟固网的VoIP相比,主要是网络承载不一样,固网是以以太网(ethernet)为承载,而VoLTE从终端到接入网是无线承载。语音通信时在核心网会用到IMS(IP Muitimedia Sub-system, IP多媒体子系统)。我当时做的媒体网关属于核心网网元,刚开始时属于NGN(Next Generation Network,下一代网络)下的一个网元。随着IMS的提出,NGN的概念慢慢淡化,媒体网关就成了IMS下的一个网元。就这样利用零散时间的学习,逐渐的掌握了整个通信网络的架构,尤其是语音通信方面的。

通信设备商都是大公司,做事风格上都会讲流程,相对正规些。在这样的环境下工作了几年,个人觉得也养成了相对良好的工作习惯,这是我的第三得。软件工程师的日常工作有设计、写代码、调试、解bug等。当时在软件设计阶段一定要写设计文档,还要开会review,确保在设计阶段尽最大可能想明白想清楚,然后再去写代码,不允许返工,因为越到后面返工的代价越大。我做了那么多feature,没有一个返工的,周围同事也是如此。后来在其他公司工作,我也是先尽最大可能想清楚然后再写代码,只是由于公司的风格不同,有时候就不再写设计文档了。在编码阶段,遵循部门制定的coding rule,有注释方便他人阅读,在关键处有log,方便后面调试。代码写完后还要给他人review,再后来就是自测,根据自己设计的测试用例测试,发现bug并fix掉。最后是给测试人员测并做bugfix。测试人员设计的测试用例会更复杂综合些,如果测试人员发现了一些简单的bug说明自测没做好,这会影响到年底的KPI,所以那时大家的自测做的都是不错的。

以上主要是三得。再来说说失吧。这第一失就是失去了在二十几岁的黄金时间做相对核心技术的机会。硕士毕业已经二十五六岁,刚从学校出来没多久,基础理论知识还在,可以做相对核心一点的技术,比如做算法。再加上二十几岁,精力旺盛,又单身,一人吃饱,全家不愁,可以把全部的精力放在工作上。哪像现在,有老有小,虽然老的目前不需要自己花什么精力,但是小的花了好多精力,不管是刚出生时的带娃还是大一点后的教育,都是很花精力的,尤其在教育上,由于忙而忽视小孩的教育,以后会后悔的。我想工作多年且家里有小孩的肯定有同感。我那时虽然是做语音开发,但是解决方案是芯片供应商做的,我们只是调提供的API(或者说我们只是做适配层),具体的实现对我们是黑盒子,我们是不清楚的。当我从通信设备商出来进芯片公司做voice engine的时候已经三十出头,学校里学的那些基础理论知识已经忘了好多了。前面说过我是学自动控制出身,信号处理只是学了一下应付了考试,学的不精通,现在做的是音频,算法就是信号处理方面的。毕业多年后再把信号处理理论知识拾回来难度是特别大的,我最终还是选择了做工程。我想如果毕业一出来就做算法,尤其是做控制上的算法,是能做的(我在读硕士期间就做的控制算法的具体实现)。这跟大环境有关,当时是通信热,硕士班上的同学绝大多数都去做通信了;外资热,同学们以进入外资公司为荣。当时的外资通信设备商在国内都设有研发中心,但做的都不是核心技术,甚至有的很弱。现在想想好多985甚至C9的毕业生都去做这些有点弱的技术,是对中国人才的一种浪费。我当时做的媒体网关是从国外的研发中心transfer到国内的,除了系统设计和部分测试在海外做,开发等都是在国内做,已经算是不错的了。即使是内资公司,当时除了华为中兴真正做核心开发的也没几家。

这第二失是失去了做更多东西的机会。当时公司非常注重流程。就拿开发一个feature来说吧,先需求分析、软件设计、测试用例设计,然后写代码、自测并且bugfix,再后给测试人员测试同时bugfix。做了四五家公司,我觉得做软件开发流程是要的,但是不能太拘泥于流程,不然效率偏低。就以写文档为例,要写的文档有设计文档、测试用例文档。我觉得模块设计和复杂的feature一定要写设计文档,一些简单的feature就没必要写文档,认认真真想一想怎么做,然后大家讨论一下就可以写代码了。现在想想那时花两个月做一个feature,现在两三个星期肯定能搞定了。再说当时写的那些文档,除了系统架构设计模块设计,那些小feature的文档事后基本上是没人看的,花了那么多时间写些事后基本没人看的文档真是浪费,还不如做快些,让项目早完成,早交付给客户。

在通信设备商工作那几年技术上的得与失相关推荐

  1. 27岁985女硕,运营商工作三年,迷茫想转型

    点击上方蓝字关注「中产之路」 读者来信,征得本人同意,发布在这里. 京杭君,您好! 我加您很久了,一直想请教您一些问题,但是由于自己也很混乱,理不清思路,所以拖到现在,虽然我现在仍然很乱,但是我觉得我 ...

  2. 电商工作后台首页的商业价值重构与产品化设计

    电商工作后台首页的商业价值重构与产品化设计 电商网站一般分为前台导购及后台管理两方面,通常由买家及卖家两种角色组成.大部分的工作是在后台完成,涉及到各类管理系统,保障日常工作顺利运行.后台产品设计因其 ...

  3. 兰州大学中外合资计算机专业怎么样,兰州大学与美国德雷塞尔大学拟合作举办计算机科学与技术专业(数据科学方向)本科教育项目...

    应学校邀请,3月17日,美国德雷塞尔大学计算机与信息学院邓毅院长.林夏教授一行来校访问,就合作办学项目进行进一步的协商.王乘校长会见了邓毅.林夏一行. 王乘表示,自我校中外联合办学工作开展以来,双方在 ...

  4. MPLS在ATM技术上实现的研究

    摘要:在MPLS  ATM原理的基础上,提出了既有可靠服务质量和在IP层寻址优势的MPLS ATM方案,并对本技术中涉及的交换标记分发问题进行了探究. 关键字:(MPLS)多协议标签交换   (ATM ...

  5. 流利说硅谷AI Lab负责人刘扬:语言学习产品如何在技术上保持优势?

    本文转载自 Robin.ly 社区,Robin.ly 和 TalentSeer 的创始人 Alex Ren 采访了AI Lab的负责人刘扬教授,采访中分享了自然语言处理技术的一些分析,以及她对于流利说 ...

  6. 前端H5怎么切换语言_第一章 产品经理必懂的前端技术- 上

    产品经理为什么要懂一些前端技术? 当前端H5工程师说CSS时,你是否知道他在表达什么? 当andriod工程师说这个文本要用TextView时,你是否明白TextView是什么? 当ios工程师说这个 ...

  7. 5G技术上失利已对美国通信产业造成影响,6G挽回劣势不容易

    美国正在加速推进6G的发展,原因在于它在5G技术上失利,对它的通信产业造成了深远的影响,意图加速6G的发展,实现弯道超车,然而这一目标并不容易实现. 一.美国通信产业受到影响 美国通信行业领军者之一的 ...

  8. 短视频的生成,不要在技术上想当然

    短视频的生成,不要在技术上想当然 walker.xu 最近经常有人来问短视频生成方面的技术问题,恰好自己也在思考准备实现一个. 所以给了一些建议,但是事后细想,自己可能有点技术上想当然了. 通过分析竟 ...

  9. 从技术上还原入侵雅虎服务器是怎么一回事

    本文讲的是从技术上还原入侵雅虎服务器是怎么一回事,5月20日晚上,我花了几天时间研究雅虎的Messenger应用程序.但是我依然无法搞清楚背后的工作管理.所以我走出了外面走走,决定找到一个新的目标.我 ...

最新文章

  1. Maven学习(六):灵活的构建
  2. linux系统运行flash3d,真正的3D操作系统,太强了
  3. 7——条件判断、三目运算、条件循环、迭代循环
  4. BIM技术在地铁中应用
  5. 21、 TRUNCATE:清空表记录
  6. 软工实践练习一——使用Git进行代码管理心得
  7. 端口复用突破防火墙(图)
  8. 苹果电脑快捷键有哪些?mac系统快捷键大全详细介绍(全部)_苹果MAC_操作系统_脚本之家
  9. vue内引入语音播报功能
  10. 以太坊web3.js文档翻译及说明
  11. Andriod UI设计之度量单位说明(DIP,DP,PX,SP)
  12. python怎么绘制坐标图像_如何使用给定的坐标和python opencv在图像中绘制点?
  13. TortoiseGit保存用户名及密码
  14. 202012月计算机考试时间,年全国计算机等级考试时间(范文).docx
  15. 计算机应用基础与操作,计算机应用基础与操作
  16. 【银行】银行业务系统设计特点概述
  17. 彼得林奇的成功投资二——长期经营业绩
  18. 计算机主板手工,教你DIY一台笔记本(伪),简单粗暴成本低
  19. Android图片分享问题采坑总结
  20. Android之黄油刀(butterknife)

热门文章

  1. Java学习心得及学习顺序
  2. Xilinx SYSMON的应用
  3. 微信小程序订阅模板的使用
  4. 计算机主机房,计算机机房建设组成及划分标准
  5. Simscape Multibody简介与入门(上) 准备工作
  6. 服务器和kad正在连接,P2P连不上kad网络怎么解决?P2P连不上kad网络的处理方法教程详解...
  7. vue导出excel(简单方法完整介绍)
  8. InstallShield Limited Edition 打包软件安装包教程
  9. 高精度加法竖式模拟器
  10. [论文品读]·d-vector解读(Deep Neural Networks for Small Footprint Text-Dependent Speaker Verification)