朱钢,江湖人称“喵叔”,
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篇原创文章,同时他还运营着自己的公众号。他并不为未来焦虑,因为笔下的每一个字都是他一路向前的佐证:成长、记录、输出、反馈,一字一句,一步一步,坚实而笃定。