• 十年职场软件工程师感悟


    活动地址:毕业季·进击的技术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,互联网以及相关行业,在大学期间编程方面不要求是高手,至少要达到熟练级别,毕业前某种编程语言的基础要扎实,熟悉任何一门编程语言即可。

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

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

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

  • 相关阅读:
    力扣算法入门刷题2
    3D-2D:PnP
    如何做好水库大坝实时安全监测
    机器人工程相关课程共性问题的思考-2022-
    IO:作业:线程:2. 要求用线程拷贝一张图片,一个线程拷贝前半部分,另一个线程拷贝后半部分
    java基于springboot的网上商城购物系统
    Vue路由及Node.js环境搭建
    数据库连接池种类、C3P0数据库连接池、德鲁伊数据库连接池
    Python编程实例-Python的隐藏特性
    pandas基础-pandas之Series+ 读取外部数据+dataframe+dataframe的索引
  • 原文地址:https://blog.csdn.net/ylq1045/article/details/125381495