走在互联网开发的边缘,不得不抽出时间鞭策自己学习新知识,未知的知识是 充满好奇的, 就好像一开始无线电灯成功的感觉,是那么充满信心和自豪;
但,随着时间的推移和职业的技术成长,慢慢地,这份奋斗的心不再热心。或者,它正在慢慢地依赖着 “得过且过 ”、 ”啃老” 的生活,于是乎,您将会面临着 “裁员” !
所以,不要用所谓的金钱论或人生论来绑架自己的职业,技术开发并不会来钱快,也不会因为你的出生地位、毕业学历背景而决定你的处境,我相信现时代的 “伯乐” 还是很多的,而 “千里马” 不常有 ,坚持一份执着,坚持一个博客,也许你可以被“伯乐” 所看到!
下面分享下我的技术成长文章:
- 2019年中总结五种途径对接天猫精灵音响控制您的智能设备,打破传统产业,让语音AI控制无处不在!
- 2018年年终总结:我是如何从嵌入式开发到服务器开发对接天猫精灵、小爱智能音箱服务器
- 2019个人年度总结:平凡的我,仍然在平淡的生活里打拼,寻找未来的曙光。
- 2020个人年度总结:跌跌撞撞,沉下心来,不卑不燥,欲戴王冠,必承其重。
- 2020年中总结:一篇文章汇集国内各大IoT云平台生态,阿里物联网/小米平台/腾讯平台/京东小京鱼平台,总有一个适合你。
- 2021年度总结:你永远无法取悦每一个人,甚至是大多数人。
- 【个人感悟】不忘初心,携手开源,一种趋势,一种进步。
从在大学学的电路板子设计到如今的服务器开发,我感觉的是一种无形的进步,更是因为这个一月三更博文的坚持自律行动, 让我受益良多,更多是技术的进步和人生的丰满!
Hi,既然来了,那就慢慢细嚼博文吧!
- 一、一个人进步的前提,首先要做的就是认识自己。
- 自学能力 & 底层架构思维
- 阅读和复盘
- 核心竞争力
- 二、人生不止苟且,还有诗和远方
- 三、【职业】技术上的自我突破
- 3.1 嵌入式
- 3.2 前端
- 腾讯连连小程序自定义面板开发
- 支持airkiss配网的小程序
- 3.3 服务器
- 3.4 上位机PC软件
- 四、【直播】享受技术之外的乐趣
- 五、博文、代码数据统计
- 六、2022年面临的挑战和计划
一、一个人进步的前提,首先要做的就是认识自己。
本来是要在七月公开这篇文章的,年末了再折腾一点时间去用文字去记录这一年的经历一些事情,包括工作和生活的,这一年主要在团队方面和业务能力付出很大的精力,但核心的技术能力不能停滞不前。
经济学家托马斯·索维尔说过:“认知到自己的无知程度,需要相当程度的知识”。的确,认知升级、迭代认知是一项痛苦却值得长期坚持的事情。
我知道蜡烛的余晖最后会燃尽,我也明白光明的照耀最后会被黑暗吞噬,可每当被大家认可的时候,我总会鼓足勇气拥抱那最明亮的心,继续去生活和工作。
不畏将来,不念过去,就本人而言,个人并不喜欢过多地去想象未来的生活及工作,也就是不会对未来充满乐观或悲观。因为在很多时候,正确认识自己和活在当下已经是一件困难的事情,不悲不喜,过好今天就是对未来的把握,对过去的不后悔。未来是由自己的今天和昨天一点点积累而成的,如果要让未来的自己变得更加优秀,那就要从现在这一刻开始作出改变。如果一个人明天的生活跟今天是一样的,那么未来就没有进步可言。
我也时常和团队同事在说,验证一个团队是否在进步,首先必须保证每个成员在进步。
在不确定性中收获成长,人生处处充满挑战,如何拥有一颗从容的心去处理,也不是小孩了,看见什么都想要,也不是什么事非要争个输赢。
团队招聘工作持续面试了也有几十人。有的应聘者,一出生就是罗马,名牌大学毕业,家庭富裕,来深圳体验生活;而有的人,出生就必须肩负自身家庭经济的重任,没有背景,没有机遇,没有学历,没有贵人,单枪匹马去闯事业。
所以,任何事都不能急,慢慢来,是一种诚意,是一种学习态度,像学习一个技术点,并如何把它运用到项目去,保守是2个星期起,如果对这方面基础扎实,一个星期不到就可以实现了。
实际而言,所谓的机会,都是在和风险博弈,要不断的去试探,在可承受风险之内,做更多的尝试,这就是成长。试错成本不算高,一旦在正式场合中犯错,则成本代价非常高,甚至无法估量。
写博客会有语句不通顺甚至错别字、敲代码程序难免有BUG、生活上做菜盐放多了等犯错事情,又是如何抉择去应对这些事,总不能搁置一边,直面困难,总需要更大的勇气和信心。
也在《知识星球》上看到很多职场上的文章,比如阅读发哥的《我做技术的十年,和不做技术的一年》深有感触,前辈其实走过我们的路,虽然每个人的路都不一样,但总结前人的经验,我们可以少走很多弯路。
在我们计算机领域,有两个必然重要的密码,自学能力,以及底层架构思维。 人们都说,程序员职位是一个青春饭的职业,确实,所具备的思考能力也是出色的,现在的程序员门槛大大降低了,各种开发框架,甚至都没有了底层
自学能力 & 底层架构思维
这两者决定了你后续的成长速度,以及竞争壁垒。自学能力,决定了你在职场之后,是否能够顺利的快速转换语言,平台,能够快速的应对互联网技术的更迭,如果做不到这个,很容易被技术淘汰。底层架构思维,是我们自学之后,对于多个语言,多个平台抽象出来的架构图,能够辅助自己,快速的掌握新的技术,也就是所谓的底层逻辑,快速迁移能力。
阅读和复盘
定时去阅读前辈带来的思想,的确会在思想上潜移默化中给你影响,不管是职场上,还是情感上,他山之石,可以攻玉,可以做到每个星期应该应该完成什么,每个月应该完成什么?哪怕是很小很小的事情,也是一个进步。但复盘是基于个人实践,每个人的反思、分析、提炼的深度都有差异,你以为发现了事物的规律,实际上可能并非如此;我在“学以致用”环节中,往往存在“知易行难”的鸿沟,学习转化率不高,所以,对自己要求也不必太高,会加强自己的拖延症,认识自己,读懂自己,正是自己人生的一大趣事。
仔细观察那些优秀的人,他们所散发出来的气质,是独有的,有底气的。和他谈话时,你在心里想着如何做这个项目,而人家,早已经想到了下一步的棋如何走,因为人家有前车之鉴,在出师之前,就已在运筹帷幄之中了。
有一个高赞的回答是:“因为你总得给自己选择一种持之以恒的生活方式,你总要给自己的生活赋予某种意义,你总是得告诉你自己,我得做点啥。” 所以, 阅读、复盘是自己的人生必修课吧。
核心竞争力
无论在做产品,还是在工作上,都应该是核心中的核心。
如果靠技术吃饭的人,一定要把技术先提升起来,这是你的薪资对应的依据。如果说这个阶段不去积累技术, 你后续在做准备就非常难,工作的前三年,大多数人没有进入婚姻,所以没有小孩,而三年后,大多数人会进入这个阶段,结婚生子,琐事缠身。做技术不同其他领域,它必须是脚踏实地去学习、去理解、去尝试每一种编程,不能以,甚至去根据市场的需求,去做开源项目,提升自己的技术和业务能力,也对于项目的用户,安全,政策,业务有了深入理解,这就是你跟别的程序员开发完项目后的差异化知识。
无论哪个公司,市场的需求、用户的体验感、竞争对手产品,对于一个技术项目经理来说,无疑是最敏感的,而深圳这地方,每年注入一股新鲜血液,你该如何去保持自己的核心竞争力?这也是,我常反思的一个问题。
二、人生不止苟且,还有诗和远方
无数让你感觉到累的时候,无妨远眺看看远方,人生总是不会一帆风顺的,各色各样的情愫以及乐趣,也总是会有着各种各样的伤害。
曾回忆起那个大学毕业的晚上,我的读书生涯就地结束了吗?十多年的读书生涯,教会了我什么? 是如何的方法和态度去面对未来的一切,能够在人生低谷笑着,在人生的巅峰笑着,即便是大起大落的太过于频繁,也能靠着自己的经历权衡无数个事情的正反。
你永远无法取悦每一个人,甚至是大多数人。职场上,生活上,也是如此。年中看的一部电视剧《流金岁月》,总裁叶谨言为了保住公司,裁掉销售主管,职场上并没人情味,利益至上。
要跟优秀的人在一起,学会他们的方法,待人处事,比赚多少钱的薪水有用。我当初也有很多的理想,但是我现在知道,人的大多数理想是实现不了的,在每个阶段的各种理想当中,只要能实现一个,就会有成功感和幸福感。
最近腾讯的天才程序员毛星云因抑郁症去世,觉得可惜,国内失去这样的一个人才是损失,但很多吃瓜群众不断扭曲事实,键盘侠们的口中毛星云的离世俨然揭开了国内游戏公司的最后一块遮羞布,甚至还有些无良自媒体狂蹭毛星云热度,在互联网上大肆宣扬自己的“正义”,毛星云作为国内程序员业界中的祖师爷级人物,专业能力突出,更是得到了引擎组开发组长的抬爱,这明显就是腾讯所急缺的人才,腾讯巴结都来不及呢,怎么可能会存在恶意评绩效导致其绩效过低。
别焦虑,人与人的生活节奏不一样。有的人三分钟泡面,有的人三小时煲汤,有的人外卖已送达,有的人才刚切好蒜苔和肉。
有时候我觉得我们很大一部分负面情绪都来自于太着急了,努力一点点就想看到结果,二十多岁就想有了不起的成绩和渊博的学识,可是这些东西本来就不是一蹴而就的,没有人能一两天时间就变得厉害,所以我想说的是,焦虑是好的,想要成为更棒的人也是好的。
但别让这些给压垮了,给自己时间慢慢来,会做好的,接受自己的普通,然后拼尽全力去与众不同,如果幸运的话做一份自己喜欢的工作,找一个自己喜欢的人,可以的话再养一条狗,日子虽然平平淡淡,却是难得的幸福,如果觉得累就休息一下,去吃顿好吃的,或者给自己买束花,生活是自己的,无论别人怎么对你,你始终都要爱自己。大器晚成也好,永远到不了山顶也罢,但是我一定要快乐和真诚一些,没什么大不了的,这个世界上总要允许普通人存在吧。
读刘润老师的《底层逻辑》,他在《把事做对,创造10倍价值》章节这样写道:“当你比别人只强一点时,或许他人会嫉妒、不服,会攻击你,甚至诋毁你。然而,当你足够强大以致远远超过他人时,他人连嫉妒的勇气都没有,剩下的只是对你的仰望和深深的敬畏,他们会爱你、怕你、敬你”。
三、【职业】技术上的自我突破
下面公开总结的是非公司工作上项目的知识点,每次去评估项目,做项目都是不断去结合当前自身开发情况以及归纳主流的实现方案,去给客户解决问题,落地项目。
3.1 嵌入式
引用樊登老师在讲解稻盛和夫的著作《干法》中一段话:“任何一个行业,你根本不需要担心什么经济景气不景气,什么这个行业竞争激烈不激烈,是一个朝阳产业还是一个夕阳产业?只要你沉浸在里面成为一个专家,你进入到任何一个产业里面,你横扫!” 因为从毕业到至今都是接触无线模组,所以这一年也整体延续了以往的学习计划,继续在无线领域深耕。
首先兑现的是去年所许下的承诺,关于蓝牙Mesh这块的学习和深入,在国内这个技术栈越来越多资料了,我非常欣慰。天猫精灵接入、OTA升级、各个节点特性的知识点,在公司的模组上不断适配。
1、BLE Mesh SDK用户开发指南 BLE MESH SDK的总体介绍文档,包括SDK的架构,目录,基本的开发方法和指引。
2、ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。
关于摄像头这块,也不断去深入学习,并做了一些应用和项目。因为在市场需求方面,无线物联网的摄像头和显示屏方面应用是主流趋势。
而且今年也严重缺芯,很多客户都是使用无线模组SOC方案直接替换原本的单片机,像 STM32 就涨价非常严重,大家都愿意使用 ESP8266 来替代。
1、安信可 ESP32-S3 模组上驱动摄像头 OV2640,实现远程拍照并 HTTP 传输到阿里云对象存储OSS,并显示在微信小程序上。
2、安信可 ESP32-Cam 摄像头拍照图片通过有线串口传到上位机PC端.
3、安信可 ESP32-Cam 摄像头实现MQTT远程拍照传输到私有服务器。
而屏幕方案,更多使用的是 LVGL 图形化框架,我也去适配了最新版的框架,里面其实有很多显示触摸驱动都是已经写好了的,信手拈来使用即可。
对于屏幕方案这块,不得不佩服启明云端的8ms在线编辑UI,即可生成代码编译在硬件里面去。感兴趣的也可以自己去琢磨下如何实现,我也发现有这样类似的框架 dooringx-lib ,但是需要足够的精力突破这个。
- 移植最新的 LVGL 版本到安信可ESP32\C3模组,OLED显示一个二维码。
而其他的一些方案笔记,如无线网卡、腾讯物联Llsync配网协议、ble+WiFi双控制ESP32C3模组。
- 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)
3.2 前端
今年腾讯物联方案不断完善,解决了小程序跨平台配网的问题,支持蓝牙配网、WiFi一键配网,我也花了时间在上面不断完善,以及给出解决方案。
腾讯连连小程序自定义面板开发
今年给客户定制了在腾讯连连小程序自定义面板实现控制蓝牙模组TB-02,顶着头皮上去学RN,使用三个星期完成项目量产,个人感觉非常有成就感。
关于开发自定义面板这块,腾讯物联网IoT团队也直播讲课了,腾讯连连H5设备控制面板开发实践,但有些坑不得不自己去踩,去领悟,这样才真正意义的成长起来。
分享腾讯物联平台腾讯连连小程序 蓝牙设备 H5 自定义面板开发的那些坑,支持控制安信可 TB/PB蓝牙模组、ESP32/C3/S3模组。
支持airkiss配网的小程序
在2018年期间的一篇博客提出小程序不支持airkiss配网,但是今天的微信物联网生态确实越来好了。 本开源工程由本人基于微信配网airkiss协议做的一个开源微信配网小程序,适合于安信可在售的众多款Wi-Fi模组,包括ESP32C3\ESP8266\ESP32\ESP32S2系列的模组。
分享一个基于微信airkiss配网的微信小程序,摆脱腾讯物联平台SDK的束缚,实现一键配网安信可WiFi模组。
3.3 服务器
今年相比较以往的服务器开发经验而言,并发数据量、优化数据库操作这块,还没真正去学,今年主要输出阿里云物联网和私有云的数据打通方案,实现设备数据流转,并输出到项目里面。
这块也是自我突破,为一些没有私有物联网服务器开发经验的客户提供解决方案和思路,以及自身关于私有云服务器的开发的一些经验不断积累。
关于输出这块,今年只做了基于安信可NB-IoT模组+GPS模组打造的一个可远程显示定位信息的服务器和微信公众号前端代码。
- 需要自己集成一个MQTT服务器,必须支持 websocket 以及 TCP 协议。
- 集成百度地图开发API
- SDK等组件:https://lbsyun.baidu.com/index.php?title=jspopularGL
- 必须自己搭建一个可远程访问的主机,可以使用阿里云ECS、腾讯云、华为云等远程主机。
- 必须准备一个微信公众号,自行注册:https://mp.weixin.qq.com
文章链接:分享安信可微信公众号定位NB-IoT模组的源码和实现过程,可实现远程查看模组定位位置。
3.4 上位机PC软件
在物联网行业摸爬滚了四年,从移动开发、嵌入式开发、云平台开发到微信小程序公众号开发,似乎已经有了整体的流程的深度认识,但这似乎又没有新的输出,还在啃老本,我大胆又学了一门语言Python,对于我这种有面向对象编程基础的人来说,上手非常简单,但按照我一贯的学习方法:
1、文章链接:PyQT5学习之旅 1 如何自定义控件,入门做一个上位电脑串口调试软件,全部开源。
2、文章链接:封装一个PyQT5 串口模块,使用起来得心应手,我也开始造简单的轮子了。
今年年头学了一个月 pyqt5 ,结合市场需求,基于PyQt5打造的一款跨平台的电脑串口调试助手(支持window、MacOS和 Linux),集成了市面上大多串口工具的功能,包括:
- 自定义波特率
- 自动换行
- RTS 控
- DTR 控
- Hex 发送和接收
四、【直播】享受技术之外的乐趣
越是优秀的程序员越愿意参与到开源项目,或者主动地贡献自己的代码模板,你的代码和框架能够被更多人所认同,甚至是得到其他开发者的膜拜和围观,并且提高了他们的开发效率,这是非常自豪的一件事。
安信可TG-12F模组二次开发,在AliOS-Things架构上快速开发实现一个天猫精灵插座方案。
5月12日19:30,【立创商城】直播间,不见不散!
整个过程,没有一丝的紧张的情绪。把控现场的进度非常重要,在别人看来就是一个简单的谈话,其实,就是一个与社会对话并自我完善的过程;
五、博文、代码数据统计
GitHub 推送开源代码次数为 144次:
CSDN的博客数据,相对去年来说,阅读量增加30W。
还做了其他的微信视频号等途径。
六、2022年面临的挑战和计划
我一直告诫自己:高考失败了,大学浑浑噩噩,这些都可以理解,但是这并不代表着你以后的人生也要浑浑噩噩,自暴自弃。人生的很多苦果,往往都是自己昨天亲手种下的。你今天偷的那些懒,在未来的人生路上,都会一点一点地还回来,而且往往是让你加倍偿还。
能拯救人生的,从来都不是空想,而是踏踏实实的努力。每一个努力的灵魂,都不会被辜负!
是努力,让你拥有舒展的生活、宽阔的路,遇见更好的岗位;
是努力,让你得到喜欢的人,并和喜欢的人一起,过上喜欢的生活;
是努力,让你成为更优秀的人,创造更多的机会,而不是等待机会;
- 蓝牙Mesh的原理教程博文撰写,LVGL框架搭建云平台做进一步的DIY作品。
- 云服务器的并发性完善、测试。
- 上位机无线模组的烧录器,进一步提高无线模组入门门槛,以及便于下载常用固件。
- 增加抗风险能力弱,应对突发变故的能力,增加各种方案以应对紧急事情。
- 保持好奇心学习新知识,个人认为不止是小朋友,成年人尤其程序员也需要永葆好奇之心。
- 写于 2021.12.31 《完》