当前位置:网站首页>十年职场软件工程师感悟
十年职场软件工程师感悟
2022-06-28 02:12:00 【斯内科】
活动地址:毕业季·进击的技术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,互联网以及相关行业,在大学期间编程方面不要求是高手,至少要达到熟练级别,毕业前某种编程语言的基础要扎实,熟悉任何一门编程语言即可。
从入行开始就是埋头苦干,以学习和积累经验为主,
所谓能力提升,主要有技术管理、技术内功、技术眼界、技术沟通和技术文案等。
技术这个东西是一个综合能力,并不是一味追求代码逻辑,还需关注行业动态、行业需求等
边栏推荐
- RichView TRVStyle ParaStyles
- [522. longest special sequence II]
- Basic flask: template rendering + template filtering + control statement
- 【Kotlin】在Android官方文档中对其语法的基本介绍和理解
- 喜新厌旧?IT公司为什么宁愿花20k招人,也不愿涨薪留住老员工
- Gateway微服務路由使微服務靜態資源加載失敗
- Opencv -- geometric space transformation (affine transformation and projection transformation)
- Feign远程调用fallback回调失败,无效果
- Inference optimization implementation of tensorrt model
- 数字化时代,企业须做好用户信息安全
猜你喜欢
Raspberry pie - environment settings and cross compilation
Flow based depth generation model
Simple elk configuration to realize production level log collection and query practice
Redis搭建集群【简单】
Tencent games released more than 40 products and projects, including 12 new games
What are the technologies to be mastered in the test? Database design for software testing
剑指 Offer 47. 礼物的最大价值(DP)
论文阅读:Generative Adversarial Transformers
剑指 Offer 49. 丑数(三指针法)
在excel文件上设置下拉选项
随机推荐
Gateway microservice routing failed to load microservice static resources
无代码软件发展简史及未来趋势
PPT制作小技巧
[today in history] June 25: the father of notebook was born; Windows 98 release; First commercial use of generic product code
2022电工(初级)复训题库及在线模拟考试
如何编写简洁代码?(上)
Is your IOT security strong enough?
嵌入式DSP音频开发
Severe Tire Damage:世界上第一个在互联网上直播的摇滚乐队
剑指 Offer 47. 礼物的最大价值(DP)
Agileplm exception resolution session
简单ELK配置实现生产级别的日志采集和查询实践
剑指 Offer 49. 丑数(三指针法)
分布式事务解决方案Seata-Golang浅析
基于流的深度生成模型
Tencent games released more than 40 products and projects, including 12 new games
如何获取GC(垃圾回收器)的STW(暂停)时间?
JDBC and MySQL databases
为什么OpenCV计算的帧率是错误的?
What is the best and safest software to download when buying stocks?