当前位置:网站首页>十年职场软件工程师感悟
十年职场软件工程师感悟
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,互联网以及相关行业,在大学期间编程方面不要求是高手,至少要达到熟练级别,毕业前某种编程语言的基础要扎实,熟悉任何一门编程语言即可。
从入行开始就是埋头苦干,以学习和积累经验为主,
所谓能力提升,主要有技术管理、技术内功、技术眼界、技术沟通和技术文案等。
技术这个东西是一个综合能力,并不是一味追求代码逻辑,还需关注行业动态、行业需求等
边栏推荐
- Single page application (SPA) hash route and historical API route
- windows 2003 64位系统php运行报错:1% 不是有效的 win32 应用程序
- Apache - about Apache
- RichView TRVStyle ParaStyles
- Built in functions for MySQL database operations
- 【活动早知道】LiveVideoStack近期活动一览
- Yes, it's about water
- 云成本优化有哪些优秀实践?
- Tardigrade:Trino 解决 ETL 场景的方案
- PSM总结
猜你喜欢
2022年R1快開門式壓力容器操作特種作業證考試題庫及答案
栈的基本操作(C语言实现)
被校园暴力,性格内向的马斯克凄惨而励志的童年
[kotlin] basic introduction and understanding of its syntax in Android official documents
Flow based depth generation model
[today in history] June 23: Turing's birthday; The birth of the founder of the Internet; Reddit goes online
R language penalty logistic regression, linear discriminant analysis LDA, generalized additive model GAM, multiple adaptive regression splines Mars, KNN, quadratic discriminant analysis QDA, decision
__getitem__和__setitem__
JDBC and MySQL databases
Severe Tire Damage:世界上第一个在互联网上直播的摇滚乐队
随机推荐
2022电工(初级)复训题库及在线模拟考试
Notepad++--常用的插件
adb双击POWER键指令
Le routage des microservices de la passerelle a échoué au chargement des ressources statiques des microservices
[522. longest special sequence II]
2022年R1快开门式压力容器操作特种作业证考试题库及答案
2021年软件测试工具总结——模糊测试工具
Built in functions for MySQL database operations
同样是MB,差距怎么这么大呢?
Single page application (SPA) hash route and historical API route
网上股票投资交流群安全吗?进群免费开户靠谱嘛?
Why are so many people keen on big factories because of the great pressure and competition?
为什么OpenCV计算的帧率是错误的?
PHP 代码 微信、公众号、企业微信 发送表情符号 [U+1F449]
ARM Development Studio build编译报错
AgilePLM异常解决-Session篇
Simple elk configuration to realize production level log collection and query practice
How to write concise code? (upper)
In the digital era, enterprises must do well in user information security
Apache - Introduction à Apache