【技术人访谈录】飘在北方:一名“文转理”程序员的升级之路

原创 精选
朱钢,江湖人称“喵叔”,90后程序员一枚,常年奋战在.NET开发一线。从安阳到北京,从职场菜鸟到IT老兵,朱钢走过了十年光阴。

  朱钢,江湖人称“喵叔”,

  90后程序员一枚。

  常年奋战在.NET开发一线。

  从安阳到北京,从职场菜鸟到IT老兵,朱钢走过了十年光阴。

  “不太典型”的“典型”程序员

  初次见面时,朱钢给人的感觉很符合大众认知里的程序员形象:相比和机器交流,和人交流时更容易紧张;有点认生,脾气随和,总是笑眯眯的,但稍微熟悉一点后又比较能侃,据他自述,平时比较宅,“每天除了上班之外就是宅在家里各种鼓捣”。

  但这位看着非常“典型”的程序员在求学从业之路上却有着“不太典型”的经历。

  朱钢前十八年的人生可以称得上“按部就班”。从小学到大学,均在安阳本地上学。不过大学生活伊始,命运就将他推向了一条新的轨道。

  “我本来是汉语言专业的,后来机缘巧合下被转到了计算机信息管理专业。”朱钢坦言,“对于一个文科生来说,学计算机真的有些痛苦。”所幸朱钢很快适应了这一变化。

  从文科到理科,从汉语言到计算机,从文学寰宇到数字世界,朱钢最终完成了这项外人看来颇有些匪夷所思的“跨越”。人生路上的这次“变轨”对朱钢的思维模式和从业选择,产生了深远的影响。

  临近毕业的时候,考虑到计算机相关专业在安阳的发展空间非常有限,朱钢毅然选择了离开家乡,开始“北漂”。他说,想到外面的世界看一看、闯一闯。

  职场“打怪”:仅仅有开发能力是不够的

  朱钢的第一份工作是在一家国企。在这里,他完成了从学生到职场人的平稳“蜕变”。在形形色色的“试炼”中,有一个项目他至今印象深刻,那就是“参与开发了全国文明城区创建系统,并把这个系统做成了全国推广使用的系统”。这也是迄今为止最让他有成就感的项目之一。

  从准备阶段的需求调研,到项目上线后的运维升级,朱钢参与了项目创建和执行的整个过程。尽管人员吃紧、任务繁重,但当项目正式交付后,无论是在开发技术,还是在文档编写、客户关系维护等方面,他都获得了长足的进步,身为技术人的自信和觉悟也在这之后迅速萌芽并茁壮成长。

  在代码上,因为这个项目几乎涵盖了政企项目代码的典型特征,在后续工作中具有很强的借鉴意义;在文档编写上,如何写出符合政企类项目要求的文档,需要对哪些内容进行重点描述,如今的朱钢早已胸有成竹,而这次经历无异于一次高效的实践启蒙;在客户关系维护上,本来只埋头于编程工作的朱钢开始跳出舒适圈,逐渐锻炼出与客户沟通联络的能力。

  在朱钢看来,要成为一个优秀的开发工程师,需要的不仅仅是出色的开发能力。他认为,职场的“打怪升级”路上,以下三项能力缺一不可。

  首先是学习能力。程序员是一个需要不断学习的职业,只有具备了学习能力才能应对技术的不断发展。

  其次是沟通能力。大部分程序员在沟通方面比较薄弱,但需要认识到:自己低头做技术做研究必然会有局限。如果能多和人沟通探讨,不仅在技术的习得和掌握上更有效率,而且能更容易发现自己技术上的缺失和错漏。

  最后是抗压能力。近年来,程序员抑郁自杀、过劳猝死的新闻已经屡见不鲜,学会抗压,找到释放压力的有效途径,才能更好地工作和生活。

  转型之痛:沟通是永恒的命题

  初涉职场的答卷,朱钢完成得非常不错,但生活本身就是一场冒险,挑战从未止步。

  在进入第二家公司后,朱钢的身份有了一点转变,从纯技术人员变成了一名团队管理人员。他面对的首要挑战是——工作重心的转移和变化。

  “我大部分时间都花在项目管理和客户接触上,写代码的时间很少,并且兼顾的方面变多了。以往只需要做好自己负责的代码就行,从事团队管理后,代码管理的占比已经很少了,大部分是团队人员的管理、项目进度的把控和客户关系的维护,以及项目文档的编写。”

  这种直接的变化,让朱钢必须直面职场角色的转型。当身处管理者、决策者的立场,需要兼顾的环节更多,沟通的重要性和复杂性也愈发凸显。

  团队新人比较有个性,有时不怎么服从项目管理时,身为领队要怎么办?

  领导不懂技术,但总催进度,作为下属要怎么办?

  产品经理提出技术上无法实现、或者实现代价过大的需求时,作为程序员一方要怎么办?

  ……

  对此,朱钢分别阐述了自己的经验。

  “新人有个性,私下多沟通就好。而面对领导催进度的问题,相对棘手。作为下属,越级反映情况不合适,只能用实际开发数据和遇到的问题去说服领导。这种情况下尤其需要调整好心态,我的方法是把牢骚留在回工位的路上,不留给组员和工作。”

  面对产品经理和程序员两方的博弈,朱钢认为:“开发人员和产品经理的关系就好像车轮和方向盘,产品经理把控项目的业务方向,开发人员负责如何向正确的方向前进。

  根据我的经验,要解决这个问题,首先需要双方使用相同的术语和名词;其次,产品经理一定要知道,目前团队、部门或者公司所使用的技术栈是否可以完成业务所有内容,如果不能,该怎么解决;最后,开发人员也要知道整个业务,结合自身技术分析业务和需求。”

  领域之思:.NET是否即将起飞?

  .NET和Java之争由来已久。作为一名拥有十年一线开发经验的.NET程序员,朱钢是如何看待的呢?最近 .NET Core的火起是否预示着 .NET即将起飞呢?

  对于很多公司不青睐 .NET的现状,朱钢认为可以归因为三点:一是成本,因为 .NET的IDE要钱,并且在 .NET Core 出现以前,.NET如果不借助第三方工具的话,是无法在非Windows系统上运行的,Windows系统本身也需要付费,这两块对于中小型企业来说是很大的成本开销。二是生态,同样在 .NET Core 出现以前, .NET的生态几乎都是微软在开发和维护,生态圈几乎没什么增长。三是跟风,目前市面上很多大厂都在用Java开发,同时一些人的看法还停留在 .NET初期阶段。

  朱钢坦言:“初期的.NET和社区建设并不完善,微软在这种情况下推行 .NET这个新框架,虽说给开发人员带来了很多耳目一新的东西,但是总体来说,和其他语言框架还是存在很大的差距。如果你去看早期几个 .NET版本的话,会发现其实有部分内容是在模仿Java。但是到了 .NET4.5开始,.NET几乎和Java齐头并进,到了后续的版本又推出了一些更优秀的内容。”

  对于 .NET Core在近几年展现出的“逆袭”之势,在朱钢看来有其必然性。“首先,它是微软真正意义上的第一个可以跨平台的框架。另外,它融合了很多目前流行的技术,并且比大部分语言的开发平台要轻量级。”

  他同时指出,“需要说明的是,微软宣布开源的是.NET Core 而不是.NET。.NET Core 和.NET 是平行的两个技术栈。但就目前来看,自从.NET5出来后,.NET 和.NET Core 在逐步融合,社区也在逐步壮大,越来越多的企业、团队和个人在推出.NET Core 平台下的组件,同时因为.NET Core 和 Java 相比,它打包出来的应用要小很多,外加近几年.NET Core加入了越来越多面向新技术的特性,这就让.NET Core的受众逐渐广泛起来。”

  对于2022年,朱钢预判,这将是“.NET技术栈大爆发的一年”。

  因为.NET6和VS2022 64位IDE的推出,使用相关技术的公司也会越来越多,职位也会越来越多。“对于.NET 程序员来说,2022年将是一个供小于求的市场,感觉2022年.NET程序员找工作会比其它语言容易很多。”此外,在疫情防控常态化的倒逼下,越来越多的政府和企业会在远程办公、便民服务和疫情管理方面投入大量的资金来进行IT建设。这也将在客观上为 .NET技术栈的爆发提供条件。

  来自喵叔的“锦囊”:IT职场新人类的5条自我提升之法

  最后,对于初入职场的技术人们,朱钢分享了几条自我提升的经验。

  1.保持学习的习惯,只有学习才能让我们增长知识的深度和广度。所谓深度,指的是技术不能浮于表面,要深入内部理解;所谓广度,意指不要只着眼自己所使用的技术,还要多关注其他技术。尤其注意不要盲目跟风,只有仔细分析自己是否真正需要,才能在面对职业危机时平安轻松地度过。

  2.扬长避短,充分了解自己的长处和短处。放大并发挥自己的长处,同时分析并改善自己的短处。对于短板不能放任不管,要有针对性、有目标性地去弥补。

  3.见贤思齐,多接触优秀的人,并常常反躬自省。俗话说近朱者赤、近墨者黑,优秀的人往往会影响自己,并引导自己往正确的方向发展。

  4.多多总结,多多复盘。把自己日常遇到的问题和学到的知识记录下来,既可以作为自己的私人笔记,也可以分享出来供大家一起学习,在知识输出中获取新知。

  5.保持身心健康。这也是最为重要的一点。人的精气神往往是决定生活和工作质量的关键,程序员们尤其要懂得纾解压力,寻找适合自己的保持健康途径,比如健身、培养一个非技术的爱好等。

  【采访手记】

  “我可以做技术到70岁!”

  这是朱钢在采访中非常自信地提到的一句话。他是非常少见的从文科转向理科并转型相当成功的技术人,虽然不是那么典型,但他同样经历过很多程序员面临的困境。在“北漂”路上,他也在烦恼着职业生涯的转型,在摸索中贴近自己理想中的生活。

  互联网寒冬下,裁员风波不断,不少程序员都面临着抉择,或停步回首来路,或变道重新出发。在这个充满变数的时代里,朱钢显得格外乐观,也格外坚定。他热爱写作,坚持输出,加入51CTO博客的5年多时间里,他发布了近450篇原创文章,同时他还运营着自己的公众号。他并不为未来焦虑,因为笔下的每一个字都是他一路向前的佐证:成长、记录、输出、反馈,一字一句,一步一步,坚实而笃定。

责任编辑:张洁 来源: 51CTO
相关推荐

2014-10-10 13:57:17

程序员

2022-08-26 07:26:03

技术人人生阅历行业

2011-11-09 13:52:04

程序员

2013-02-22 10:21:06

2009-11-04 11:54:33

程序员职业水准

2021-06-30 10:48:30

VueReact前端

2011-05-03 08:54:36

2021-02-21 13:49:48

Java程序员开发

2012-12-12 09:52:18

程序员

2017-09-21 09:44:00

编程程序员软件开发

2019-11-18 10:06:44

程序员CDN静态资源

2015-05-15 10:39:44

Java 冠军程序员?

2011-04-11 17:41:35

C++程序员

2019-01-28 11:54:28

程序员技能沟通

2009-09-18 12:32:28

Rasmus LerdPHP

2009-07-16 17:06:05

JPython

2009-03-04 09:17:47

GoogleChrome工程师

2022-05-06 19:04:25

开源

2022-03-25 19:03:07

IT人生开发

2022-07-01 18:30:32

架构IT人生
点赞
收藏

51CTO技术栈公众号