当前位置:首页 > 高考

忆当年高考:成为程序员的你,后悔了吗?

时下正值高考志愿填报季,报考热度前三专业中有计算机科学与技术、电气工程和自动化,以及电子信息工程。这意味着,又有数十万学子进入到了计算机相关领域。

回想当年,你是否还记得填报计算机专业时的情景?是因为招收人数多,上岸概率大?还是毕业好就业,从实际出发?但相信那时的你之所以选择这一专业,更多还是源于对科学技术自我启蒙后,出于心底的兴趣和喜爱。

成为程序员后,如今的你是否还保持着当初的激情?是否会回想起曾经选择做技术人的初心,为什么成为技术人?每天不停地在代码中奔忙,有没有暂停一下、问问自己,“我”成为了怎样的技术人?而当确定想要成为怎样的技术人后,更进一步,你又应该如何做,才能达到预期?

为什么,是什么,怎么办?用这三个问题审视你的程序人生,将得到怎样的答案?如果你还没有头绪,无从回答,那不妨来看看“他们”的回答。

01为什么?看技术大神的成长之路!

现年71岁的BjarneStroustrup,回想起和C++结缘的四十余年,仍不免感慨:“C++的成功令人惊讶。”因为对历史、哲学等许多领域抱有广泛兴趣,多年来保持不变,他认为这对C++的的诞生和发展具有重要意义。

但相较于深入的学术研究,BjarneStroustrup对工程领域有“个人偏见”,更为看重性能、低成本、可靠性反馈,以及对现实世界问题的真正理解。在他看来,这些思考让C++更加具有普适性,因而从诞生以来一直广受开发者的喜爱。

对于BjarneStroustrup来说,作为美国国家工程院(NAE)院士,自然不乏光环。但近距离观察,抽丝剥茧地挖掘大神成神的背后,那些我们尚未思考过的问题,才是与他们的真正距离。对技术底层逻辑思考的深度决定了成就伟大开发者的高度,这一理性力量如果你驾驭得当,成神之路上方可披荆斩棘。

当然,对于更多开发者来说,成为技术人并非像BjarneStroustrup一样出于个人的哲学思辨或者历史的兴衰这样或深刻、或宏大的命题。但之所以选择,也必有缘起。

在DarrylK.Taft对C#、TypeScript之父AndersHejlsberg的采访中,后者对自己选择从事编程,并且获得非凡的成就归功于“热爱”。当被问起最喜欢自己创建的哪种语言时,AndersHejlsberg说:“这个问题太难回答了,就像问我最喜欢哪个孩子一样。”

为什么要对技术语言、编程工具投入“慈父”般的爱意?一方面,简单易用的开发工具可以给开发者带来极大便利,提升效率、节省时间;另一方面,在AndersHejlsberg看来,工具的更大作用在于“表达(开发人员)思想和算法”。

在注重开发者表达的理念背后,是AndersHejlsberg不断历练和升华的程序人生。Algol语言引导走上编程之路——构建Pascal编译器——创建TurboPascal……AndersHejlsberg在架构设计上从不走捷径,在为C#3.0设计LINQ期间,他坚持认为FROM、SELECT子句的顺序应该与传统的SQL顺序相反,才能让开发人员感受到流畅的IDE使用体验。

如果说BjarneStroustrup对技术的思考聚焦在理性价值的层面,那AndersHejlsberg更多是因为感性的精神激励。而除了深层思考和精神赋予,大神的成长之路上,持之以恒的耐力也不可或缺。

开源软件运动的著名倡导者Michael“Monty”Widenius,如今仍坚守在编程第一线。编程四十多年,他的独到领悟是:只有沉浸其中超过20年,才能像欣赏音乐一样,领略编程之美。而什么时候能将代码一次性完成(像优秀的音乐家一样基于深厚功底而灵感迸发),才能称得上是一名优秀的程序员。

在Monty看来,他所接触过的中国开发者在编写代码上表现都很优秀,但惊喜的同时,却又感到异常的惋惜,因为这些开发者很多都想转型做管理。这其中,或有传统“学而优则仕”的思维谬误,认为不管人而被人管就差人一等;或因为系统性的淘汰机制,生存危机深植于潜意识中。

但实际上,Monty认为,找到一个好经理容易,找到一个好的程序员却很难。一个非常出色的程序员可以抵五个一般的程序员,关键是你想当一个好的程序员还是一个平庸的经理。

“对于所有中国开发者,我只想说,请坚持你的工作,你已经做得非常好了,一定不要停止写代码。”

02是什么?学习技术极客&工程人的卓越思维!

如果你决定听从Monty的建议,像“欣赏音乐一样领略编程之美”,漫漫长路的程序人生你会怎样填满?或者说,成为怎样的程序员?

尤雨溪大学四年在美留学,先是遵照父愿选择了金融专业,但因为不感兴趣而在大三转到了StudioArt专业。

学金融专业的设计师,成功转型做技术,还成为Vue.js创始人,荣登GitHubRepoTOP3,他是怎么做到的?尤雨溪认为,成绩为“A+”的逻辑分析能力帮了他的大忙,当然还有决心。然而,“尤雨溪现象”并非个例,他在Parsons设计学院的同学都非常跨界,有的同学是工作了几年的设计师想学编程,有的则是经验丰富的软件工程师想搞艺术。

对于像尤雨溪一样的开发者来说,成为技术人是一个伴随心智成熟的循序渐进的过程,是历经了不同尝试之后的最终选择。从他的经历也可以看出,学习什么很重要,但真正想做什么更重要。想要成为优秀的程序员一定是发现自己对这一领域产生了好奇,内心有很多问题想要解答,从而驱动自己不断提问和求解的过程。

当然,有新生代的思维活跃,也有老生代的沉稳扎实。

OceanBase创始人阳振坤对于很多开发者来说应该是长辈了。从本科和研究生钻研数学,到后来做出集OLAP和OLTP于一体的分布式数据库,他最大的感触是:“不做工程,等于纸上谈兵”。

这位技术界的老兵,从北大计算机专业博士毕业后留校任教,做到教授。尽管事业顺遂,但基于对工程实践的执念而选择进入产业界。在创建OceanBase分布式关系数据库之前,他已经在联想研究院、微软亚洲研究院、百度等知名科技公司任职多年。

还在微软亚研的时候,阳振坤就接触到分布式系统,结识了阿里云创始人王坚。

在甲骨文公司的Oracle数据库独霸天下的时代,他们却非常看好分布式系统。去到阿里后,机会终于降临:“我们要做一个大飞机,不管你有多大的业务量,都能用分布式数据库这个大飞机给你运走。”这一次,出于对数据库产业变革的执念,让他的程序人生再次发生转向。在历经了机会到来、生死一线、柳暗花明和顺风顺水四个阶段后,OceanBase数据库在支付宝的地位愈趋稳固。

无论像尤雨溪一样的技术极客,还是如阳振坤一样的工程人,虽然成长路径各异,但都抱持着为开发者或者产业做出优秀产品的卓越思维。而这,也是他们之所以成为卓越技术人的主要原因。

03怎么做?方法千万条,合适最重要!

当你已经决定好成为怎样的开发者,下一个面临的问题就是应该怎么做。

PostgreSQL全球开发组联合创始人BruceMomjian给到新晋开发者的建议是:

“对于学生来说,最重要的是在学校学到的内容是否和当前的行业匹配。如今获取数据的渠道越来越多,包括移动端、客户端、浏览器及GIS等。大学生需要更加关注市场需求,学习开源知识并且加入开源社区。我希望学术界能够拥抱新技术,让它们走进大学。”

阿里巴巴CTO程立为技术产业界的CTO清晰地梳理了六项职责参考:

“职责一:建立商业与技术的“共振”连接;

职责二:一张图、一场仗、一颗心;

职责三:关键决策,扫清前进中的障碍;

职责四:应对风险,化危为机;

职责五:组织设计与治理;

职责六:凝心聚气,薪火相传。”

指令集创始人兼董事长潘爱民通过多年编程生涯,分享了他所认知的计算机程序和编程技术发展背后的两个基础原则:

“1、随着计算机程序使用场景和范围越来越广,适应这种广度扩展的基本手段是分层,即增加层次;

2、在计算机系统的层次结构中,越是下面的层次,提供的越是共性的能力;反之,越往上越个性化。”

原阿里巴巴集团资深安全专家,现默安科技创始人兼CTO的云舒,想要告诉开发者的是如何“仰望星空、脚踏实地”:

“程序员,或者说技术人员,更需要的是理解和认同,需要成就感。我更关注这方面的事情……我有三个建议:1、不要去问答类、知识付费类的网站,那里没有知识,而且还会造成一种在学习的错觉。可以买本书,认真地看,纸质版、电子版都可以;2、实践。每当学一个新的东西,要做大量的实践;3、坚持。”

拥有40年游戏开发人生,原网易游戏核心成员、杭州研究中心总监云风,认为开发者应该具备的最重要的品质和能力是“抓住问题的本质”:

“要用足够简单的方法解决根源问题,抛开中间的枝节干扰;另一项重要能力是评估事物的能力,知道一件事情大概是怎么回事,需要多长时间完成,需要什么条件完成,这是靠经验堆出来的;同时,也要对自身有清晰的认知,这样你才能规划好你做整件事情的流程和时间,减少返工。”

伙伴云CEO,创办Discuz!的戴志康在25岁即实现财富自由,身价过亿。这位集技术人、创业者、天使投资人等身份于一身的80后,认为优秀的技术人和普通技术人的区别主要在于:

“优秀的技术人就是能够从更高的角度看问题,‘知其然知其所以然’。普通的技术人通常是将别人抽象、总结的东西拿过来,不善于或不习惯亲自探究‘所以然’,因此对技术的理解就没有闭环,这时总会碰到‘这个能做,那个做不了’的问题。

优秀技术人的思考框架已经涵盖技术周边(即横向如前端、后端、运维、产品等)和技术纵深(即纵向如架构、算法、数据库、操作系统等)两个方向。”

中国移动集团级首席专家,曾在贝尔实验室基础科学研究院的“老专家”钱岭,给到开发者关于持续学习的建议是:

“在持续学习的基础上,要从单个技术,如“云计算、大数据、人工智能”扩展到“云网融合、软硬一体、云边协同、数智化”的组合能力。且不能只钻到书本里,需要在热爱的基础上动手生产实践。在系统性思考上,可以多问五个“Why”。

在“我是程序员”的篇章中,优秀程序员代表,purecpp社区发起人祁宇,通过讲述他和C++的往事,发现了C++新标准技术创新的威力:

“C++新标准带来的新技术往往会促进技术创新,技术创新带来改变。我在2020年PureC++大会上介绍了一种新的插件化开发方法,就是通过C++的新技术解决以前经典的C++插件化开发中插件需要派生于某个固定接口的问题。新的插件化方法完全摆脱了继承的约束,可以自由地在插件中写任意方法,这种新技术已经用在开源项目Ray当中了。”

此外,我们发现,90后已经逐步成长为技术管理的中坚力量。SphereEx联合创始人、CTO,国内首位女性ApacheMember潘娟,以及商汤科技研究总监、负责OpenMMLab在GitHub拿下50000+Star的陈恺,将带来他们的成长经历和思考心得。

在对技术的伦理讨论中,视障者、无障碍工程师刘彪带来他和技术结缘,成为无障碍工程师亲身经历和心路历程。未来,科技向善的力量还有待更多对技术伦理心向往之的开发者们充实积蓄。

在本期《新程序员004》的最后,“斜杠程序员”——脱口秀演员子寅、科幻作家白丁纷纷到来、压轴捧场。在子寅看来,不会“怼”产品经理,干不了程序员,更干不好脱口秀;白丁则为了书写科幻人生而放弃编程,走上燃烧创意之路。

其实,无论是成为大神、技术极客、工程人、创业者、管理者,还是优秀的程序员,抑或是跨界,甚至转型,只要勇敢向前,技术人的未来都是广阔天地、大有可为!

本文来自网络,不代表教育资讯立场,转载请注明出处。