技术路线的选择重要但不具有决定性

Java还是C++,C++还是Python,人工智能还是大数据,深度还是广度……

经常逛技术论坛或在技术群里唠嗑的小伙伴,对以上的选择题应该都不陌生了,出题者往往也是新入行的小伙伴们。作为一个老鸟,很惭愧我没有足够的智慧去做这样的选择题,尤其是在对提问者的背景和基础完全不了解的情况下。那么技术路线的选择,真的有那么重要吗?

在着笔此文时,我忍不住回忆了下,大约十年前,技术圈里颇有名气的孟言先生关于技术路线选择的文章:《技术路线的选择重要但不具有决定性》。如今看来,我仍然同意孟先生的观点,就是技术路线虽然重要,但是不具有决定性,具有决定性的是个人独特的个性知识经验组合。而这个知识经验组合在我看来,就是某方面的技术实力 + 行业知识 + 业务能力 + 前瞻视野。

这么说来,技术路线是可以盲选的吗?倒也不是,只是它对你是否能够成长为大牛起的作用没有那么关键而已。接下来我将结合自己的技术经历,来聊聊这个话题。

我在学校里学编程时,首先入坑微软技术路线,折腾最多的就是VC++、.NET那套工具。毕业后,也自然就找了这方面的工作,一直在这个路线上走了五年。期间,我曾经对软件破解、系统内核驱动开发感兴趣,也花了不少的时间去理解尽可能底层的东西。而当我的一些同事因为在用Linux系统而沾沾自喜的时候,我心想Linux不就那几个命令吗,你们知道一段代码反汇编后是怎样的吗,知道参数入栈顺序吗,知道C++虚函数表是怎么存放的吗,知道一个结构体的内存如何对齐的吗,知道应用层到内核层调用是怎么实现的吗,知道Intel三卷本是什么内容吗,知道操作系统系统启动的具体流程吗……。可见,当年的我对自己深入底层的学习方式还是蛮自豪的。

然而,一次工作的变换,让我偶然地从Windows开发转向了Linux服务器运维开发。这家公司是搞云平台的,我的主要任务就是使用各种虚拟化技术搭建私有云,比如进行OpenStack、VSphere、XenServer等集群系统的自动化部署。从事云计算,需要对计算、存储、网络都有一定程度的理解,才能搭建出一套可用的系统。这样,我从原来网关具体是什么都不知道的情况下(虽然之前也进行过网络编程),变成了公司里对网络技术原理理解比较好的少数人之一。因为我需要写代码去自动配置交换机、自动划分VLAN、自动化安装服务器操作系统和部署其上应用,这些工作任务都要求我必须理解透一些相关技术。虽然在这之前,我对网络上软件领域各个方向的牛人都挺了解,时常苦闷于自己的视野早早超越了自己的能力,但转向Linux服务端后,我又感觉自己的视野才被真正打开,原来还有这么多有趣的技术内容,我之前是一无所知的。因此,即便这是我服务过的在福利方面最抠门的公司,我仍然要呆到合同满期才考虑换工作,我要在这里完成彻底的技术转型。

从这家云计算公司离职后,我刚开始是想继续找云计算系统研发方面的工作,但因为回到大南宁,这类坑位很少,而且我当时认为云技术是大厂玩的技术,小企业打打闹闹没有多少前景,还是转到应用层研发吧,毕竟自己也比较缺应用服务开发方面的经验。这样一来,我工作的内容就从云平台系统研发变成了如何使用云平台提供的产品组件进行应用系统架构和开发,直至今日。

有时我在想,如果职业生涯可以重来的话,我会怎么选择呢?首先,我觉得我不会在微软系技术上花费那么多时间,反正不会是五年,可能三年左右就好了。我也不会想着特别深入地去理解C++的一些东西,而是遵循一些最佳实践,用不到的淫技就先搁一边,然后早点学习Java。大四的时候,我就收集了Java的相关学习资料,当时听说Java跟C#差不多,而我在用C#,所以就觉得学习Java是多余的。然而Java生态繁茂,有很多技术思想都值得去学习,我却因为自己的无知错过了,直到今天,项目需要使用Spring Cloud,我才真正认真地去接触Java方面的一些技术。内核相关技术呢,我倒不后悔花时间去学习,当然如果能结合应用场景去学习,可能会有更好的效果。现如今,内核相关技术我也忘了很多,但这句歌词还是比较能表达我的心情,就是“我爱你不后悔,也尊重故事的结尾”。

所有人都想走捷径,然而哪里有那么多捷径可走,我的反思未必适合你,也许你一直走微软系技术路线,他日成为技术专家、技术大神,一样迎娶白富美走上人生巅峰,谁知道呢。关于少走弯路这个话题,我又想到了当年刘未鹏的一篇文章《你应该如何学习C++》,这篇文章是他在南京大学读书时候发表的,而评论里有不少业界知名的技术人参与,非常精彩,其中还是前面提到过的孟言先生的评论当属最精彩。八卦下,未鹏兄入职微软亚洲研究院后移居西雅图,目前很少网上发声了。孟言的评论如下:

myan: 我曾经问过一个美国大学的教授,是一项国际大学生编程大赛的主席,那些编程大赛的题目究竟对实际软件开发有什么用?他说,其实他们也知道不太有用,但是第一只有这个形式的东西搞比赛容易操作,真正有用的东西没法比赛,第二,重要的是选手参与这个比赛的过程,要想取得最好的成绩,往往要花几年时间,做几千题,几千道跟实际软件开发没太多关系的题。最后证明,在这个大赛中取得好成绩的,以后在工作中大多数也能取得好成绩。你说这个弯子绕的大不大,这个时间花得冤不冤? 最后,其实这些话是写给你的,也是写给我自己的。10年前的这个时候,正好是我已经熟练掌握了C,开始雄心勃勃地向C++主峰发起进攻的时候。今天如果能够让我年轻10岁,回到大学里重新选择,我可能不会选择深入研究C++,而是把C学透了,就去研究OS、Compiler、TCP/IP。但是当年我看不到这些,只能看到C++。我后悔吗?不太后悔。人只能在一种局限性与另一种局限性之中选择,走了那条路,今天就会后悔别的事情。如今我对IT这个产业链有所了解之后,更觉得世界之大,岂是一人一时所能逆料。所以全局最优是可望不可及的,个人所能做的,只是追求局部最优而已,然后让命运的大浪把你送上高峰或者拍入深渊。比如,你以为出国读书,一定是好?你以为被一流大公司高薪聘请,一定是妙?你以为你在学生阶段写出一个软件,搞得天下闻名,万人敬仰,就一定有好结局?真的不一定啊。但是不一定,是不是我们就可以吊儿郎当,游手好闲?当然不是。全局最优不可期盼,但局部最优一定要努力争取,要按照自己定的路线去踏踏实实的努力,取得尽可能好的成果。所以,你要想做个好的语言律师,就踏踏实实下功夫去做吧,没什么不对的。还是那句话,下足功夫,练出一副好身板,比什么都重要。如果说后悔,我从不后悔技术路线的选择,只是后悔那时候下得功夫还是不够,还是拿出太多的时间去看电视,吃烧烤了。

我倾向于同意孟言的观点,我们都不是先知,有些弯路不可避免,而有些你认为的捷径,到头来可能会让你跌入更深的坑,最终会延迟你到达目的地的时间。

那么回到年轻人如何选择技术路线的问题,其实还是很难回答,答案也因人而异。比如你喜欢弄图像界面,看到效果心里美滋滋的,那你可能适合做前端,容易有成就感,相反的,你可能适合做后端开发,又或许,你什么都不适合。那C++、Python、Java又如何选择呢?我觉得你先接触到的项目用什么就先学什么,而且在我们的职业生涯中,换开发语言也是常有的事。如果你是自学,没有项目做,那你随便了,可以都学习一下,然后根据自己喜好去选择进行更深入学习的方向。至于捷径,我只想说,也许用心、脚踏实地就是最好的捷径。

转自:https://www.cnblogs.com/woshiweige/p/11072221.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.Lightware Terminal Equipment -- 光端机 2.Line Terminatinig Equipment -- 线路终接设备 3.Long Term Evolution -- 3GPP长期演进 3GPP长期演进(LTE: Long Term Evolution)项目是近两年来3GPP启动的最大的新技术研发项目,这种以OFDM/FDMA为核心的技术可以被看作“准4G”技术。3GPP LTE项目的主要性能目标包括:在20MHz频谱带宽能够提供下行100Mbps、上行50Mbps的峰值速率;改善小区边缘用户的性能;提高小区容量;降低系统延迟,用户平面内部单向传输时延低于5ms,控制平面从睡眠状态到激活状态迁移时间低于50ms,从驻留状态到激活状态的迁移时间小于100ms;支持100Km半径的小区覆盖;能够为350Km/h高速移动用户提供>100kbps的接入服务;支持成对或非成对频谱,并可灵活配置1.25 MHz到20MHz多种带宽。 LTE项目内容介绍 LTE(Long Term Evolution)项目是3G的演进,它改进并增强了3G的空中接入技术,采用OFDM和MIMO作为其无线网络演进的唯一标准。在20MHz频谱带宽下能够提供下行100Mbit/s与上行50Mbit/s的峰值速率。改善了小区边缘用户的性能,提高小区容量和降低系统延迟。 LTE的主要技术特征 3GPP从“系统性能要求”、“网络的部署场景”、“网络架构”、“业务支持能力”等方面对LTE进行了详细的描述。与3G相比,LTE具有如下技术特征[2][3]: (1)通信速率有了提高,下行峰值速率为100Mbps、上行为50Mbps。 (2)提高了频谱效率,下行链路5(bit/s)/Hz,(3--4倍于R6HSDPA);上行链路2.5(bit/s)/Hz,是R6HSU-PA2--3倍。 (3)以分组域业务为主要目标,系统在整体架构上将基于分组交换。 (4)QoS保证,通过系统设计和严格的QoS机制,保证实时业务(如VoIP)的服务质量。 (5)系统部署灵活,能够支持1.25MHz-20MHz间的多种系统带宽,并支持“paired”和“unpaired”的频谱分配。保证了将来在系统部署上的灵活性。 (6)降低无线网络时延:子帧长度0.5ms和0.675ms,解决了向下兼容的问题并降低了网络时延,时延可达U-plan<5ms,C-plan<100ms。 (7)增加了小区边界比特速率,在保持目前基站位置不变的情况下增加小区边界比特速率。如MBMS(多媒体广播和组播业务)在小区边界可提供1bit/s/Hz的数据速率。 (8)强调向下兼容,支持已有的3G系统和非3GPP规范系统的协同运作。 与3G相比,LTE更具技术优势,具体体现在:高数据速率、分组传送、延迟降低、广域覆盖和向下兼容。 LTE的网络结构和核心技术 3GPP对LTE项目的工作大体分为两个时间段:2005年3月到2006年6月为SI(StudyItem)阶段,完成可行性研究报告;2006年6月到2007年6月为WI(WorkItem)阶段,完成核心技术的规范工作。在2007年中期完成LTE相关标准制定(3GPPR7),在2008年或2009年推出商用产品。就目前的进展来看,发展比计划滞后了大概3个月[1],但经过3GPP组织的努力,LTE的系统框架大部分已经完成。  LTE采用由NodeB构成的单层结构,这种结构有利于简化网络和减小延迟,实现了低时延,低复杂度和低成本的要求。与传统的3GPP接入网相比,LTE减少了RNC节点。名义上LTE是对3G的演进,但事实上它对3GPP的整个体系架构作了革命性的变革,逐步趋近于典型的IP宽带网结构。 3GPP初步确定LTE的架构如图1所示,也叫演进型UTRAN结构(E-UTRAN)[3]。接入网主要由演进型NodeB(eNB)和接入网关(aGW)两部分构成。aGW是一个边界节点,若将其视为核心网的一部分,则接入网主要由eNB一层构成。eNB不仅具有原来NodeB的功能外,还能完成原来RNC的大部分功能,包括物理层、MAC层、RRC、调度、接入控制、承载控制、接入移动性管理和Inter-cellRRM等。Node B和Node B之间将采用网格(Mesh)方式直接互连,这也是对原有UTRAN结构的重大修改。 LTE的营运发展 按用户数量和市值计算,中国移动都是全球最大的移动运营商。此前,英国沃达丰、日本NTT DoCoMo、美国AT&T和Verizon等世界最主要电信运营商已经决定采用LTE技术,此次中国移动加入,将大力推动LTE技术的发展,LTE在后3G时代也将延续2G时期GSM的主流地位。   沃达丰CEO阿伦·萨林(Arun Sarin)昨日在巴塞罗那的移动世界大会表示,该集团将与中国移动和Verizon携手推进LTE技术,LTE将成为行业未来发展的明确方向。   目前,移动无线技术的演进路径主要有三条:一是WCDMA和TD-SCDMA,均从HSPA演进至HSPA+,进而到LTE;二是CDMA2000沿着EV-DO Rev.0/Rev.A/Rev.B,最终到UMB;三是802.16m的WiMAX路线。这其中LTE拥有最多的支持者,WiMAX次之。   LTE是由爱立信、诺基亚西门子、华为等世界主要电信设备生产商开发技术,CDMA阵营的阿尔卡特朗讯和北电网络也有投入。CDMA近年来日渐失势,阿尔卡特朗讯已经在上周冲减了37亿美元与CDMA技术标准相关的资产,并将和日本NEC建立研发LTE的合资公司。   由于美国高通公司在3G时代占据了技术的核心专利,LTE阵营处心积虑搞OFDM绕开高通主要技术,可以肯定高通的地位会比3G时代有所削弱;同时,尽管高通的UMB技术乏有问津,该公司在巴塞罗那也宣布将于2009年推出多模LTE芯片组,高通在该领域仍将保持收益。   3GPP长期演进(LTE)项目是近两年来3GPP启动的最大的新技术研发项目,这种以OFDM/FDMA为核心的技术可以被看作“准4G”技术。3GPP LTE项目的主要性能目标包括:在20MHz频谱带宽能够提供下行100Mbps、上行50Mbps的峰值速率;改善小区边缘用户的性能;提高小区容量;降低系统延迟,用户平面内部单向传输时延低于5ms,控制平面从睡眠状态到激活状态迁移时间低于50ms,从驻留状态到激活状态的迁移时间小于100ms;支持100Km半径的小区覆盖;能够为350Km/h高速移动用户提供>100kbps的接入服务;支持成对或非成对频谱,并可灵活配置1.25 MHz到20MHz多种带宽。   LTE的研究,包含了一些普遍认为很重要的部分,如等待时间的减少、更高的用户数据速率、系统容量和覆盖的改善以及运营成本的降低。   为了达到这些目标,无线接口和无线网络架构的演进同样重要。考虑到需要提供比3G更高的数据速率,和未来可能分配的频谱,LTE需要支持高于5MHz的传输带宽。 我来完善词条 期待词条更完善 相关词条: TDD-LTE FDD-LTE VOLTE Altera VocalTec VocalTec Internet Phone 自定义分类: 3G、移动通信、4G、LTE 参考资料: http://www.c114.net/

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值