kinuyツ
2022-04-30T19:27:37+00:00
本科电气工程及其自动化,只在学校学了一些专业课,和51,32单片机的课程。
最开始在工作中编程,我是从西门子PLC开始的。因为要对接老外的项目,德国佬都是拿stl语言写PLC。这是一种基于汇编,直接使用指针操作内存的语言。那一个月,我天天研究到凌晨四点,然后早上七点起床去上班。后来项目需要改造扩展,我一个人完成了PLC与12台KUKA机器人的自动焊接生产线的改造工作,我迈出了成为大神的第一步。
后来公司AGV项目需要一个后台,我就自学了c#,用modbusTCP+winform和sqlite搭建了一个调度AGV的后台。后来又做了c# 联合c++的运动控制项目,身边的人都觉得我是大神了。。。
后来读研,实验室有个项目,需要上位机读出PLC,stm32单片机的数据,传给学院的MES系统。我就自己做了个.NET6的webAPI项目,还是用开放式TCP/IP或者modbus读下位机数据,然后响应客户端的http请求,发送json数据,这个项目我学会了redis和mq的用法,学会了bs端的那种依赖注入,中间件,controller那套八股文,也间接学了k8s+docker,linux+ngnix。 后来要发论文搞毕业,我研究nlp里的transformer,需要学python,因为之前有c# 和Java的基础,大概一个月就学会了,包括但不限于numpy,pandas,matplotlib,tensorflow,pytorch。还用魔改的transformer发了中文核心和sci,两篇小论文+一篇发明专利整合成硕士学位论文,盲审后得了2个A。
自从学会了编程,感觉自己强大了很多,我会和设备交流了,会控制了很多设备。
一路走来,我的编程语言的学习路线是C语言(单片机),PLC语言(STL,SCL,FBD,LAD),汇编语言,c# ,c++,python,Java。其中c# ,PLC语言和c语言研究的最深入。
我觉得一个合格的程序员,应该适应不同的工作,入乡随俗,快速掌握这个领域不同的语言。不能一有未知领域就推脱自己不是干这个的,没学过。 就像一个好的司机,不能只会开驾校的捷达,入了社会给你奔驰,宝马,你也得会开。人的一生要接触很多的未知领域,快速转换角色并且快速上手,完成工作任务才是程序员最重要的素质。
有时候甚至觉得敲代码比打游戏有意思,敲代码已经很幸福了,竟然还发工资,天下还有这样的好事
最开始在工作中编程,我是从西门子PLC开始的。因为要对接老外的项目,德国佬都是拿stl语言写PLC。这是一种基于汇编,直接使用指针操作内存的语言。那一个月,我天天研究到凌晨四点,然后早上七点起床去上班。后来项目需要改造扩展,我一个人完成了PLC与12台KUKA机器人的自动焊接生产线的改造工作,我迈出了成为大神的第一步。
后来公司AGV项目需要一个后台,我就自学了c#,用modbusTCP+winform和sqlite搭建了一个调度AGV的后台。后来又做了c# 联合c++的运动控制项目,身边的人都觉得我是大神了。。。
后来读研,实验室有个项目,需要上位机读出PLC,stm32单片机的数据,传给学院的MES系统。我就自己做了个.NET6的webAPI项目,还是用开放式TCP/IP或者modbus读下位机数据,然后响应客户端的http请求,发送json数据,这个项目我学会了redis和mq的用法,学会了bs端的那种依赖注入,中间件,controller那套八股文,也间接学了k8s+docker,linux+ngnix。 后来要发论文搞毕业,我研究nlp里的transformer,需要学python,因为之前有c# 和Java的基础,大概一个月就学会了,包括但不限于numpy,pandas,matplotlib,tensorflow,pytorch。还用魔改的transformer发了中文核心和sci,两篇小论文+一篇发明专利整合成硕士学位论文,盲审后得了2个A。
自从学会了编程,感觉自己强大了很多,我会和设备交流了,会控制了很多设备。
一路走来,我的编程语言的学习路线是C语言(单片机),PLC语言(STL,SCL,FBD,LAD),汇编语言,c# ,c++,python,Java。其中c# ,PLC语言和c语言研究的最深入。
我觉得一个合格的程序员,应该适应不同的工作,入乡随俗,快速掌握这个领域不同的语言。不能一有未知领域就推脱自己不是干这个的,没学过。 就像一个好的司机,不能只会开驾校的捷达,入了社会给你奔驰,宝马,你也得会开。人的一生要接触很多的未知领域,快速转换角色并且快速上手,完成工作任务才是程序员最重要的素质。
有时候甚至觉得敲代码比打游戏有意思,敲代码已经很幸福了,竟然还发工资,天下还有这样的好事