三十而立,我的代码之旅才刚刚起航

1,157 阅读6分钟

「时光不负,创作不停,本文正在参加2021年终总结征文大赛

总结1.jpg

今天是我32岁生日,本科学的是光电技术,但一直从事基层工作,感觉有点郁郁不得志,我喜欢编程,业余时间也会学一些,去年告别体制,转入IT开发行业。

一、艰难抉择

有人说,写代码是吃青春饭,没错,大部分人应该是这样,但不是所有人。我认为写代码是一件很酷的事情,可以改变世界,当然,这只是美好愿景而已,但有时候就像喜欢足球一样,不一定非要喜欢国家队,只要有时间和朋友踢两脚就能找到快乐,正因为如此,我选择走自己的路。

去年入职的这家公司,这是我转行后的第一家公司,也是我第一份IT工作。因为工作经验的关系,我很珍惜这份工作,也挺努力的,回到家也会看看书学学新技能,有一种焦虑和恐慌的感觉。

二、学习提高

我现在是一名物联网工程师,日常的主要工作是装物联采集盒,对数据进行二次处理,写一写统计报表页面,听起来挺容易,其实不然。因为公司分布的特点,经常在长三角一带出差装设备,往往去的都是一些小公司,里面的工作环境非常糟糕,我的角色大致就像家用电器的上门安装师傅,我要在工厂配电柜中安装一个采集设备。运气好的话,便饭安排一下,运气不好就直接轰出门,这样的闭门羹也遭遇了多次。有时候我常常坐在车上想,好歹我也是物联网开发工程师,我是在图什么?不是在体验生活,而是在积累经验。

工作还有一块内容是进行web开发,之前我一直用php开发,后来用vue进行前后端独立开发。公司的业务场景是:物联盒子传数据到服务器,服务器处理后写到数据库,再从数据库中取数据计算分析、最后提供接口给前端页面展示。

graph TD
盒子采集数据 --> 服务器解析存盘 --> 提供接口 -->页面展示

对于工业大屏来说,数据也比较简单,一般就是使用率和设备状态信息。在大屏的代码实现上,我花了不少精力。我不是科班出身,一开始只会html+js+css,大屏页面也是这么写的,写着写着发现文件越来越大,单个页面加起来就有几千行代码,维护起来非常不方便。

单页面代码量.png 正因为遇到了瓶颈,我才接触模块化的开发。不得不说,模块化开发带来效率上的提升是巨大的,这其实是一种思想,化繁为简、化整为零,让设计去解决繁琐的操作。

我是通过杨村长的B站直播来到了掘金社区,发现这里是一个学习分享的好地方,慢慢的习惯性地在上厕所的时候打开看看。通过边学vue边做项目,让我成长很快。为客户写了一个大屏展示页面和报表推送页面,做了一个多月,一个人从设计到上线部署,里面用到的组件都是最简单的,但都是vue3最新的技术,感觉体验上非常不错,最终客户也很满意。特别是加上了响应式的设计,得以在移动端也能非常便捷地浏览。

由于在三线城市,并且是初创公司,常常因为因为人手不足,身兼数职。开始我也欣然接受,也是抱着学习的心态。还有很多工作是临时性的,我也一并做了:比如因为我有电工证,接插座盒、装摄像头、装电表这些活都安排给了我;因为我想学网络知识,公司内部布网线、路由器、交换机安装设置、压水晶头,工厂设备联网也安排给了我;因为写作要锻炼一下,软著、年度项目计划、项目申报、资产统计,推脱不了也硬着头皮上了;...虽然都是些琐事,但就是来打扰我写代码,这种感觉非常差。

时间花在其它事情上,正经工作反倒受到了影响,我觉得这是捡了芝麻丢了西瓜。

三、工作之余

除了工作上的,8小时以外收获其实也非常大的,业余时间晚上加班还做了两个小项目,一个是关于流动人员的管理系统,是给社区或者村这一级用的,目的是让租客少跑路,在房东门口扫一下码,也不用暴露敏感信息,社区及时跟进掌握情况,就是这么简单的功能。用的是ant-design的vue3前端库加上nodejs的后端,配置起来比较方便,下一步准备开源。

第二个是家庭手机相册备份,或者叫个人云空间,借鉴了青阳龙野的个人网盘。利用了家里闲置的笔记本作为服务器,手机上app用了uni-app开发,做了一个web端,后端数据库,用的是MongoDB和sqlite分别存储结构化和非结构化数据。至于为什么要做这样一套系统,而不去用现成的呢,纯粹是个人的执念,想通过这样一个项目为更多的家庭做一些东西,自己的东西放在自己的电脑上也比较安全,大家拍的照片可以永远的留存下来,不用局限于手机的容量,并且能够非常方便的分享。

个人云盘demo.png

四、一些思考

其实中国的市场非常大,小公司也有很大生存的空间,就我了解到的工业互联网这个领域,可以说还是一片蓝海。虽然互联网大厂做的很大,但是不可能做的很细,小企业的需求或者小社区的需求大厂也无暇顾及,这其实给了很多小公司机会。因为是小公司,所以不正规,也因为是小公司,压力没那么大,当然,薪水也很一般,对于三线城市来说,也够了。 对于即将到来的2022年,我准备多学一些前端技能,主要有:

  • 1、学习typescript;
  • 2、用three.js写一个3D展示的项目或一个展示页面;
  • 3、用face-api或paddle等AI库库去对家庭监控摄像头做一些智能化的改造,给儿子做一个画板小游戏;
  • 4、学习homeassistant,让物联走近自己的家庭;
  • 5、好好学习OpenCV,做一个在线抠图和物体尺寸测量的小网站;

333.png

结束

在社区相互学习,相互分享,希望掘金越办越好。