废言
2020这个年份刚开始的时候,本以为又会是平常的一年,不会想着说这一年自己的人生会发生什么特别大的变化,然而人生处处有反转,没想到这一年发生的变化如此之大。
这一年在老家给老妈买了套房子,多年的症结终于落了地。 这一年我结婚了,突然的催婚,顺理成长的结婚,一切都水到渠成。 这一年,我重新做回了程序员……
“老程序员”的过去
大学专业学的是软件工程,按道理说毕业应该就顺理成章的做程序员就行。嗯~曾经也是这么想的,大三一放暑假就跑到了上海做实习生,那时候在上海做Unity前端开发,做了大概13个月,这13个月就是我的“老程序员”生涯。期间不说做的多好吧!但是至少得到了认可,当初产品经理是给了相当月实习薪水的3倍希望自己能留下,当然实习的薪水起步也很低。
最终还是犟不过自己满腔的青春荷尔蒙,毅然还是决定投入的祖国部队的建设中去,去部队服了2年兵役。退役之后又是西藏走了一遍、云南待了一段时间。终于2017年的时候(2013年入的伍)心开始收住了,想要赚钱了,但是那个时候依旧没有想过要重新回来做程序员,主要是因为脑子里不知道被谁植入了一个概念,当完兵回来再当程序员基本是不可能的事, 所以也就没有往这方面想。
2017年至2019年期间,刚好自己的工作阴差阳错和技术走的很近,公司的技术团队是外包,而我的工作就是和外包团队一起,维护公司的网站和小程序,岗位相当于是技术管理,平常的工作主要是3个:
- 根据需求设计功能实现(画原型图)
- 督促进度
- 协助解决开发过程中的遇到的难点
就是在协助解决遇到的难点的过程中,我发现貌似程序员这工作自己依旧能够胜任。恰巧那时候微信小程序很火爆,自己又利用业余时间开发了几个小程序,虽然最多的一个累积用户也才2.7K。
除了微信小程序自己还尝试不少其他的小项目:
- 比如用Python给公司做了一个数据统计的小工具,把原来每周需要2个多小时的人力工作时间缩短到了10分钟左右;
- 又比如用Python抓取网页新闻的内容,自动化做成视频,然后自动上传至YouTube,整个过程不需要人工干预,机器自动运行,后来干脆直接抓取抖音无水印、bilibili甚至国外网站的视频直接上传至YouTube,尽管如此,依旧没有撸到Youtube的羊毛;
经过这一系列的操作,去年年底的时候,终于重新萌发了做程序员的想法,这一次想的基于Unity做AR。刚好这个时候疫情来了,在家重新温习C/C++语言,重点学习C#、熟悉Unity的使用,用Unity跟着网上的教程做了一个可玩的2D游戏。
经过这一些列准备,正式向老板提出了准备离职的意向,老板也很大方,说工作让我自己先找着,公司这边的活也先干着,也就是允许我以在职的状态去找工作。不过我找工作的速度可能稍微快了点,2个星期就找到工作了。
不过速度快也和自己要求低有关系,因为毕竟这么多年没有干程序员的正经工作,重新入职程序员第一想的是有公司要就行,先有个正式工作的经验。
但是最终入职其实不是AR行业,AR的也面了几个,大都被我过去的经历以及经验给劝退了,最终还是找了正常Unity游戏开发。
“新程序员”的现在
入职新公司已经半年多了,有同学问我重新做回程序员有什么感受,我说没什么感受,做程序员总体来说还是还轻松的,按部就班的工作,完成需求、解决问题。
因为年近30,所以也没有太多时间可以浪费,力求以最快的时间让自己成长起来,Shader、Lua学起来,Unity开发框架搭起来。
入职2个星期完成一个项目的扩展(当时用的还是Cocos, 开发语言用的是TypeScript,2个完全陌生的东西), 这个项目当时公司给的完成时间是3个月,但是事实上当时1个星期我就完成了功能的开发,剩下一个星期大部分时间都是在折腾发版本和进行内存优化,最终2个星期上线了,然后到现在也没有反馈出现什么大问题。当然这个项目是在之前的项目上做扩展,所以很多框架都搭好了,所以开发起来相对比较轻松。
之后就是3个月完成一个项目从0到正式上线,这个项目开始计划的开发周期是半年,而且是2个人。结果我几乎一个人三个月就弄出来了。开发过程中也遇到对于我来说的一些难点,比如Unity中如何使用TensorFlow Lite的模型、Unity如何分别针对iOS和Andriod接入微信OpenSDK等等。 这个项目用的是网上的一个开源框架,然后我根据自身仅有的Unity开发经验,又自己写了一个适用于初学者学习使用的资源热更新框架MiniFramework,有兴趣的可以看看我这个专栏:
MiniFramework 适合初学者学习的Unity资源热更新框架:www.yuque.com/jooki/vwruy…
现在又在做一个新的项目,新项目将引入xlua、MiniFramework。新项目特效比较多,ShaderGraph也用上了,虽然之前花了几个月熟悉Shader的编写,但是发现一段时间不接触(主要是工作上没有应用场景),很快又生疏了,ShaderGraph真是个好东西,对于我这种不常编写Shader的人来说,简直是福音,以前很多光靠脑袋想不出来的效果,ShaderGraph都能实时展现。
总结
重新做回程序员,更多的是危机感,自己年纪偏大,一波又一波的应届毕业生涌进来,自己的正式开发经验目前并不占优势,只能自己尽可能尽快的向上生长。
还有就是如果身边有想要做程序的同学,多鼓励下吧!我觉得除非你想做一个研究型的程序员,否则的话普通的基于应用层面的程序员,真正并不需要有多高的学习、多强的数学能力,重要的是解决问题的能力和决心,因为大部分程序员遇到的问题,之前都有人趟过坑了,甚至都已经给出了成熟的解决方案,你要做的就是怎么融合到自己的解决方案里面,当然这仅仅是我个人想法。
希望即将30的我,来年有更多的好运、更大的变化。