十年职场软件工程师感悟

活动地址:毕业季·进击的技术er

历史与现状 

本人2008年计算机科学与技术毕业,大学时期是一个学渣,大学在编程方面仅仅只是一个皮毛,

毕业后又进行一个短期的进修、学习。2009年底第一次入职一家教育培训公司做培训网站和相关软件服务开发,主要就是数据库方面的CRUD操作,开发语言是C#,后来又入职到一个做政企工作流的公司,开发语言是C#和Java。

现如今在一家制造业进行上位机以及运动控制等软件开发,主要使用C#编程语言,少量项目使用C++。

行业角色转换

之前一直在互联网工作,开发的项目大多都为工作流OA、进销存、ERP等系统,几乎都与设备无关,一般来说,出现Bug都与自己编写的逻辑和程序有关。后入坑制造业,几乎所有的软件程序都与设备、机床的运动控制、PLC有关,发现之前在互联网领域的框架在制造业领域几乎无用。

制造业方面的软件和程序,不仅需要逻辑和程序,还需要与设备有关的领域有锁了解,比如PLC的内存区域、内存地址、设备TCP通讯等。个人理解:换一种行业,即使同样是软件和程序开发,基本上相当于新的开始。

成就感之事

之前在做运动控制软件的时候,编程语言C#,不过需要调用C++的非托管类库DllImport,曾经需要使用一个C++的类,使用原供应商的示例Demo,在很多个工控机上运行都是正常,但有10%的工控机上运行运动程序一段时间后【比如运行点位运动1000次】程序就崩溃了【该内存不能为write】,后来查资料发现C++的类对象【非托管】转到C#类【托管】需要使用关键类System.Runtime.InteropServices.Marshal进行开辟内存和释放内存,代码修正后即不崩溃。

作为技术工种,行业逻辑,行业需求,与客户之间的沟通,程序出现Bug或者问题时,能够及时找出症结所在。最新的技术迭代以及最新使用的框架。

一个人的技术积累,经验【尤其是遇到问题时的解决方案、思路】是一个人的宝贵财富

当开发新的软件项目时,可能会有多种思路与解决方案,不要着急直接开干,可以花费几天时间思考下几种解决方案的利弊,最终选择一个综合最优的解决方案。(当然,确实是紧急上线的项目除外)。选择同一解决方案,框架时,项目之间的同事要进行分工合作,统一程序、代码风格,易于其他同事看懂,后期易于扩展维护。

编程语言之争

编程语言之争,没有垃圾和最强大的编程语言,编程语言存在即合理。编程语言重在实用,每种编程语言都有擅长的使用场景。当然,还与团队擅长的编程语言有关。

比如,几乎没有公司使用C++开发Web网站项目,Java几乎都用在互联网相关,嵌入式编程几乎都是C或C++。

职业规划

进入职场,自己写程序和找到更实用的辅助工具同样重要。

不要全部重新字节写程序,也不要全部使用固定的框架Spring,Hibernate

对在校大学生说:如果立志从事编程,IT,互联网以及相关行业,在大学期间编程方面不要求是高手,至少要达到熟练级别,毕业前某种编程语言的基础要扎实,熟悉任何一门编程语言即可。

从入行开始就是埋头苦干,以学习和积累经验为主,

所谓能力提升,主要有技术管理、技术内功、技术眼界、技术沟通和技术文案等。

技术这个东西是一个综合能力,并不是一味追求代码逻辑,还需关注行业动态、行业需求等

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年12月23日
下一篇 2023年12月23日

相关推荐