程序员该如何转型 5G 开发?

  • 时间:
  • 浏览:1
  • 来源:1.5分彩_1.5分彩网投平台_1.5分彩投注平台_1.5分彩娱乐平台

声明:本文来自于微信公众号  CSDN (ID:CSDNnews),作者:COCO,授权站长之家转载发布。

最近听了几位社招新进同事的述职,问了亲戚大伙同样另另一个大问题:从另另另一个的软件开发岗位转到现在的5G开发,亲戚亲戚大伙真是最大的难点在哪里?几位新同事纷纷表示:感觉此人 要补课的内容真是是不多了,操作系统、网络协议,到处都会难点。

真是这几位同事的经历和遇到的大问题都非常有代表性:将会做开发不懂业务,故大每段码农都会一颗颗螺丝钉,铆在此人 的那什么都有有点领域上使劲往下钻,而对整体架构几乎一无所知,原应此人 的专业面非常窄,技术水平也比较浮于表皮。

对那先 将会拥有3- 5 年经验的系统进程运行员而言,转型到5G开发并这麼想象中这麼遥不可及,当然什么都有用说轻松。

所幸亲戚大伙将会入门了,或者,亲戚亲戚大伙真是普通码农转型5G开发是可行且有迹可循的。什么都有这次就来谈一谈5G开发所需的主要技能和推荐理由,此篇都不能作为各位有志于转型5G开发的码农们参考,也欢迎各位大牛多多指正。

熟悉 Linux 操作系统

时需要熟悉Linux操作系统及具备Linux开发的经验,当然常用的调试手段也要熟练掌握。

5G 承载的业务种类繁多,业务形态各不相同,对网络要求不同。业务需求多样性给5G 网络规划和设计带来了新的挑战,包括网络功能、架构、资源、路由等多方面的定制化设计挑战。

或者,5G网络采用NFV/SDN、云原生技术实现网络虚拟化、云化部署,而NFV技术则是5G开发必选No.1。

NFV追本溯源:以往通信网络设备均采用专用设备,网元功能与硬件平台紧耦合,即不同厂家、不累似 型网元采用不同的硬件。在通信网络3G、4G、5G新技术频繁变革下,将会网元与硬件平台紧耦合的关系,造成大量硬件资源浪费,什么都有有利于新业务部快速署。

网络设备价格长期居高不下,电信运营商自然压力山大;一起供应商一家独大,运营商什么都有我你要受制于人;再去掉 各类专用设备不断增长的运维和管理成本,实现软硬件解耦的网络功能虚拟化(NFV)技术这位英雄来拯救通信行业了。

NFV技术的实现原理是通过使用x86 等通用性硬件以及虚拟化技术,来承载各类功能的软件正确处理。而那先 通用X86 平台的操作系统当仁我不多 什么都有Linux系统了。

Linux的特点是那先 ?是多用户、多任务、支持多系统进程运行和多CPU的操作系统。既然5G开发的系统环境少不了Linux,下面什么都有学习重点了:比如那先 是多态?系统进程运行和系统进程运行运行的区别?为那先 要使用多系统进程运行?这都会linux基础知识、也是Linux内核开发时需掌握的要点。

举个例子,再次出現段错误,有那先 调试手段?怎么才能 才能 正确处理?凡是多往深处想一想,要知道系统进程运行设计做的不好真的会害人害己,光填坑就能累死一群码农。

另外非要不提的还有epoll,它是Linux内核为正确处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,能显著提高系统进程运行在大量并发连接中非要大量活跃的情形下的系统CPU利用率。

真是select、poll,epoll本质上都会同步I/O,但epoll假使 从用户态往内核态拷贝 1 次fd集合,在设备在等待队列上也只挂 1 次current;而select和poll每次调用都会从用户态往内核态拷贝 1 次fd集合,在设备在等待队列中挂 1 次current;什么都有epoll相比select和poll节省了大量系统开销。

还有,select,poll实现时需此人 不断轮询所有fd集合,直到设备就绪,期间将会要睡眠和唤醒多次交替。

而epoll尽管也时需调用epoll_wait不断轮询就绪链表,期间也将会多次睡眠和唤醒交替,或者它是在设备就绪时调用回调函数,把就绪fd中放就绪链表中,并唤醒在epoll_wait中进入睡眠的系统进程运行运行。

真是都会睡眠和交替,或者select和poll在“醒着”的事先要遍历整个fd集合,而epoll在“醒着”的事先假使 判断一下就绪链表是与非 为空就好,从而节省了大量的CPU时间,这什么都有回调机制带来的性能提升。

总之,作为开发人员,不仅要知其然时需知其什么都有然。

编程知识储备

具备扎实的计算机基础,较强的算法能力,熟练掌握C\C++等开发语言,熟悉敏捷开发流程。

计算机基础、算法能力,那先 都会码农们的基本技能,《计算机原理》、《数据形态》等等都会大学理工科的经典课程,不记得了都不能再回去翻一下,在此不做赘述。敏捷开发是当下比较流行的高效开发模式,以用户的需求进化为核心,采用迭代、循序渐进的办法进行软件开发,这方面的文章也什么都有就不展开来讲了。亲戚亲戚大伙有点儿针对编程语言来讲一讲,为那先 5G开发要首选C语言而都会什么都有有编程语言。

众所周知,ITU 为 5G 定义了 eMBB(增强移动宽带)、mMTC(海量大连接)、URLLC(低带宽高可靠)三大应用场景。eMBB典型应用包括超高清视频、虚拟现实、增强现实等。

累似 场景首先对带宽要求极高,关键的性能指标包括1000Mbps 用户体验带宽(热点场景可达1Gbps)、数十Gbps 峰值带宽、每平方公里数十Tbps 的流量密度、每小时10000km以上的移动性等,什么都有在5G开发当中对性能要求是中放第一位的。

然而,目前的硬件工艺及技术发展将会接近瓶颈,怎么才能 才能 不能更高效的利用系统资源在5G开发当中显得尤为重要。

C语言是一门贴近硬件的系统级编程语言,C语言的指针都不能直接操作内存,带宽奇高,真是出错率和漏洞也为人诟病,但瑕不掩瑜,你什儿 点正好符合5G开发对性能和带宽的极致追求。

在这里还是想强调一下了解底层原理对学习新技术的巨大作用。什么都有码农都真是C语言真是难上手就放弃了,我你要挑战难度、什么都有想付出时间与经精力去学习更多更底层的内容。

要知道几乎所有的操作系统内核都会用C语言写的,万变不离其宗,不懂底层汇编,根本无法准确了解内存和系统资源,这就像盖楼不了解地基情形一样。

拿破仑说过:“我你要当元帅的士兵都会好士兵。”或者,对于各位有志于架构师的码农们,从现在就刚开始了了了啃C语言吧。

熟悉移动通信协议

熟悉移动通信协议,具备LTE协议研发经验,熟悉信令流程、协议。

移动通信协议是个亲戚亲戚大伙族,从何学起,往往这麼头绪。尤其刚来的系统进程运行员们,很容易就被一堆协议搞得头大如斗。真是通信的基础在于网络,什么都有关于5G相关的协议开发怎么才能 才能 上手,亲戚亲戚大伙都不能给出以下思路供亲戚亲戚大伙参考:

第一步,先弄清楚网桥、VLAN的原理,此人 都不能做下实验,找几台PC配置一下,再不济用虚机跑一跑。了解单播、广播、组播的概念,想清楚那先 情形下要配置网桥,划分VLAN。

第二步,了解二层、三层的概念和区别,有条件的都不能从交换机配置入手,想更进一步的都不能去配置下路由器。明白静态路由和动态路由的区别,哪几个概念重点了解:IGP、BGP、OSPF、IS-IS、MPLS等等。

第三步,你什儿 步才是真正入门,要做5G开发,前两步理解的差不多了就都不能去读一读3GPP的协议文档了。记得要读英文原版哈,至于英语的重要性上面也会展开讲一讲。

软技能

有较强的英文阅读理解能力,具备较强的抗压能力和良好的沟通技巧,优秀的团队商务媒体合作精神以及较强的执行能力,善于学习和挖掘、使用新技术。

你这十根也是老生常谈了。网上常常爆出英语无用论,而事实上,各类高新技术尤其是创新技术还是国外居多,原版的技术资料都会英文的,英文不好就非要用软件翻译将会等人喂食,而通常软件翻译的结果让我一言难尽,等人翻译估计黄花菜都凉了。

还有底层协议开发,也是时需遵从英文规范,不懂我不多 就要走什么都有弯路。再比如码农必备的Stack Overflow网站也是英文的,其技术答疑常常会有惊喜大礼包:不仅给出另另一个大问题多种不同的正确处理方案,还包括对那先 正确处理方案的比较,以及大牛们的思考过程,甚至还有不少强力工具的有点儿附赠。

建议各位就算这麼遇到大问题,也都不能常常去浏览一下其中投票较多的大问题,充实此人 的知识体系。

总而言之,英文是一扇面向世界的窗户,有了它不能看得更远,此人 我不多 将会懒的开窗,那就此人 在小黑屋慢慢摸索吧。偷偷吐槽一句,码农的英语不好,连变量名都非要用汉语拼音定义哦。

至于抗压能力,码农们都会经过千锤百炼的了,做到前面哪几个,去掉 沟通技巧、团队商务媒体合作以及较强的执行力,这什么都有今后成长转型的关键。至于是写一辈子代码还是转型管理抑或销售及什么都有有,这就仁者见仁智者见智了。

最后附上一首自创的《江城子》,送给屏幕前还在加班的码农们,祝亲戚亲戚大伙都能早日完美转型,成功升职加薪~

十年IT终日忙,不开源,难自强。

千页文档,需求又无常。

纵使交付运维忙,痘爆头,肤如糠。夜来加班忽感伤,格子间,冷暖尝。

相对无言,惟代码万行。

愿为自主研发闯,泡机房,又何妨。 

作者简介:

COCO, 1000 后高级工程师,目前就职于广州大型通信国企,白天办公室打杂,晚上实验室码字。