七年产品岗转研发:非科班程序员的技术积累与心态蜕变
我性格偏内向,喜欢宅着,不善言辞。走到今天这一步,回头看看,自己也觉得有些意外。
真正的转折点,发生在工作后的第二年。
那时我还是一名普通员工,因为一次偶然的机会接触到技术,主动申请了转岗。原本以为转岗后能写代码——当时产品设计部门可以写一些小工具——结果转过去之后,反而不让写了。工作内容变成了标准制定、生产手册编写和人员培训。
那段时间挺纠结的。我技术底子薄,非科班出身,如果跳槽也拿不到什么好岗位。加上性格内向,总觉得自己不太适应这个社会。思来想去,决定留下来,利用中午和晚上的时间自己学代码。
现在回想,那七年看似偏离了技术主线,实际上给了我三样很重要的东西。
一、七年产品岗,学会了三件事
1. 产品设计
一开始我不明白,为什么别人能想出各种设计,而我只能照着已有的东西学。做得多了才慢慢理解:产品设计的本质,是搞清楚要解决什么问题、痛点在哪。目标不是"做出一个东西",而是让事情更简单、产品更好用。理解了这一点,设计思路自然就打开了。
2. 技术手册编写
语文一直是我的弱项,但后来能写出几千字的手册。诀窍其实很简单:当你对一件事的步骤足够熟悉,写出来就是水到渠成的事。 另外很重要的一点,写东西要站在使用者的角度,讲清楚"怎么用",而不是"我做了什么"。
3. 人员培训
我以前最怕当众说话。后来发现,能脱稿讲几个小时,本质上和写手册是一个道理——你对流程足够熟悉,脑子里有货,自然就能讲出来。 别人提问也不怕,因为你的知识储备足够应对。
这三件事有一个共同点:都逼着我去补足自己的短板。 写手册逼我梳理逻辑,培训逼我整理知识体系,产品设计逼我去理解业务本质。
那七年,我从一个只会埋头干活的人,变成了一个敢于表达、能带新人、能独立负责事情的人。这些能力,后来在技术学习上帮了大忙。
二、七年里,利用午休和晚上学了这些技术
当时公司的业务是在闭源产品上做数据加工。想提升效率,最好的方式是对产品做二次开发。
第一轮:VB + VBA
我先利用中午时间读产品的英文文档(那时候没有中文版),啃到精通后,完成了一些辅助工具。同时了解到VB这门语言,买了一本《21天精通VB》,每晚下班后学。后来用VB写了一个问题管理系统,支持人员描述问题、上传截图、技术人员回复。因为Excel和Access集成VB功能,又顺带学了VBA,做了不少报表自动化的工具。
第二轮:C++ + MFC
学了一段时间后,听说VB快要被淘汰了。公司客户端开发用的是C++和MFC,于是转头去学C、C++和MFC,用它们也做了一些工具。
第三轮:C# + Winform
后面了解到研发部门开始用C#和Winform,又继续学C#,把之前的问题管理系统用C#重构了一遍。
第四轮:Web端(PHP + JS + EasyUI)
在产品设计岗位后期,我开始负责平台侧的设计。公司很多平台已经转向Web端,经常和平台开发的研发同事交流,了解到他们后端用PHP,前端用JS,界面用EasyUI。于是又学了Web端开发,完成了一个Web版的需求管理系统。
那七年里,技术栈换了好几轮。每个阶段学的东西,在当时看来可能都用处不大,但下一个阶段又会派上用场。没有一步是白走的。
三、七年之后:转岗研发
七年后,我再次申请转岗,这次终于如愿以偿,成为一名全职程序员。
回过头看,那七年我丝毫不后悔。甚至可以说,那七年学到的学习方法、心态和沟通能力,比技术本身更重要。 如果一开始就直接做开发,也许技术上会进步更快,但未必能达到现在的高度。
最后,给同样内向、非科班的同学一点建议
如果你想快速成长,可以试着多接一些需要和人沟通的事。逼自己去讲、去写、去教别人。
想要自信地表达,就会逼你把知识储备做扎实。 当你面对的人在这方面不如你熟悉的时候,紧张感自然就消失了。而当自信建立起来之后,学任何东西都会比以前更快。
内向不是缺点,只是起点。关键在于找到适合自己的节奏,一步步往前走。
