我的软件工程师之路,给需要的同学!

   我自己是电子信息工程专业毕业,专业原则上来说比较偏“硬”一点,事实上我从大二就开始学习嵌入式,从51入门顺便学了C语言和电路板设计制作(如何更快的学习单片机?),后来因为因为参加比赛又把stm32学了,私下里还学了c++,这个时候我大三,从单片机软件设计到硬件电路板设计制作全都可以一人包办,因为学习了c++还开始设计PC上位机,我本科几乎所有的课余时间都放在了实验室,每天忙碌在试验台和电脑前(现在想想也有点可惜,没有和班级的同学有太多交流,和宿舍的舍友也是少了很多欢乐,显得有点太不合群)。

   后边迷茫了一阵子,不知道该学什么,就开始研究Linux,从图书馆借了书,电脑也装了Ubuntu(很简单的发行版,后边几乎玩遍了各种linux发行版,心疼我的笔记本一秒钟),就开始了研究Linux之旅,做图像识别,做智能小车,做无人机飞控。。。伴随着一次次比赛我的大三就结束了(比赛很多,影响很深的还是“三天四夜”的电赛,还有就是北大张海霞老师主办的“ican物联网大赛”都让我受益匪浅,当然其他比赛也都很有收获)。

   为什么到大三就结束了?因为我参加了卓越工程师计划,大三就上完了所有的课程,所以大四就没有课了,理论上我可以离开学校去实习!是的,没有听错,本科生这么早就去实习。但是我女朋友在准备考研,出于陪她的心态,而且我也想尝试下考研(之前联系的北京邮电大学老师答应我可以去他的实验室,意味着复试会简单很多)然而结果差强人意,差几分与研究生失之交臂(这里其实也很后悔,大家都在紧张复习,我还是放不下喜欢的技术,还在占用大量时间研究,帮实验室学弟学妹,结果出来痛苦也得自己承担,这里建议所有想考研的同学,选择了就要义无反顾,抛弃所以其他想法投身复习),考研结果出来的第二天我就打包行李去了北京,开始了我的北漂生涯。

?

   我的第一份工作是嵌入式软件实习(中科院下的一家公司,规模还是挺大的,很多人问我是怎么进的,简单讲,实力+运气),开始是负责焊接下线什么的,但是期间我就开始尝试写代码,很快我就开始做部分模块的设计工作了(机会是靠自己争取的)。

   实习了四个月之后,7月份顺利正式进入了公司,职位为嵌入式软件工程师,每天我都会问很多东西,学习自己想知道的知识,利用公司的资源学习着,从电机控制算法,电源电路及软件设计,基于DSP的图像识别,Linux系统移植,安卓系统开发,基于Linux的驱动开发等等。本科生出来搞研发确实困难多多,尤其还是嵌入式研发(这里替做嵌入式的毕业生诉下苦,真的需要学很多,本科的知识完全不够看,Java培训出来就可以干活,但是嵌入式真的还差不少),此时我的职位是无人机飞控算法工程师。

   一年半的时间我几乎学习了我们团队中所有的知识,每天从晚上8点都会学习到夜里一两点,后边的日子好像很少有在12点前睡过觉(因为图便宜住的比较远,路上都在用手机看书,这也是我自己自豪的地方,毕业两年,我用手机看了350本书~经济、政治、思维等等,屋子里也放满了买的专业书籍)。经常的熬夜不注重饮食,我的身体状态明显变的不太好(体检还查出了轻度脂肪肝,想想当初自己还是热爱篮球的健身达人。。离开学校的一年半时间,篮球连摸都没摸一下。。),再加上项目方案频繁推翻(换了几波领导),我渐渐有了离开的想法(这个时候正好是我毕业一周年),终于在又一次外出测试时我选择了离开(我打电话给我姐,说了一句话,眼泪就止不住的流,家人永远是可以依靠的港湾,我姐知道我的努力,也没有劝我,就说了一句,“不想干走就行了”),我打电话给项目经理主动辞职了,也算是裸辞了,在我毕业一年之计,我离开了在很多同学看来很不错的单位。(这里补充下,难受是因为付出了很多努力,不想半途而废,毕竟项目还在继续,还有就是第一份工作我真的很珍惜,大家对我也都很好,教了我很多东西)。

?

   我没有着急找工作,我开始了我期望已久的广东之旅,我想看看广州的电子业发展,想看看华强北的电子一条街,然后就毅然出发了。

   回来时已是大半个月后,我回到了北京,虽然只有半月但是感觉好像离开了很久(真是恍如隔世的感觉,南方一行我的身心都获得了方式,又充满了斗志),我开始投简历面试,几年的学习给了找工作的底气,我面试了7家全部都通过了,最后选择了目前的公司,说实话,我来面试的时候被公司的环境和气氛震慑住了,我喜欢这里的感觉,我知道我想在这里工作。

?

   说时迟那时快,转眼来这里也一年了,我又有了长足的进步,我知道了更多的知识,有了更宽广的见识,我还是那个一往无前的我。

?

   故事暂时先到这里,我的经历未完待续。。。



说明

该文档仅供个人学习使用,版权所有,禁止商用。

更多更好的知识可以关注我的知乎和公众号,分享知识,共同进步!
我的知乎主页:Allen 李康
关注我的公众号 :Allen5G

原文地址:https://blog.51cto.com/12483417/2422194

时间: 2024-10-15 18:04:54

我的软件工程师之路,给需要的同学!的相关文章

致2019年在软件工程师之路奋斗的你

今天第一次上来博客园写写东西,之前在头条喜欢写一些杂七杂八的东西,但后来发现头条是一个鱼龙混杂的地方,什么新闻都有,要说发表技术的文章估计没有多少人看.在博客园,我估计应该有许许多多同行,因为共同的目的来到这里,我今后会写一些关于自己学习C#语言,开发ASP.NET程序过程中遇到的一些自认为觉得有必要留个底方便以后复习的东西,也欢迎各位读者前来交流学习. 原文地址:https://www.cnblogs.com/daihaoliulingyi601/p/HLJ.html

《构建之法》学习(3)——软件工程师的成长

<构建之法>学习(3)--软件工程师的成长 1.1个人能力的衡量与发展 积累软件开发相关的知识,提升技术技能 积累问题领域的知识和经验 对通用的软件设计思想和软件工程思想的理解 提升职业技能 实际成果      衡量软件开发的工作量和质量 项目/任务有多大? 花了多少时间? 质量如何? 是否按时交付? 1.2软件工程师的职业发展 职业发展--考级之路 职业成长--Steve McConnell版本 职业成长--大公司版本 职业成长--自我评估 1.3技能的反面 通过玩魔方的例子说明了技能提升的

如何成为合格的软件工程师

一个成功的软件开发团队里,首先要确保团队里的成员是合格的软件工程师.那么该如何成为一名合格的软件工程师呢?这是我们要考虑和学习的.为此,我们需要先了解一些基本概念和技术. 既然是一个开发团队,那么绝大部分的软件都是由多人合作完成的,大家的工作相互有依赖关系.所以需要单元测试来保证整个开发过程各个模块的正确性,单元测试可以保证自己负责的模块功能定义尽量正确,模块内部的改变不会影响其他模块,而且模块的质量能够得到稳定的.量化的保证.书上介绍了一种用VSTS写单元测试的代码: [TestMethod(

《构建之法》---软件工程师的成长&amp;两人合作

本周学习了<构建之法>第三.四章的内容. PSP对软件开发的工作质量的衡量简单指标为:项目/任务有多大.花多少时间.质量如何.是否按时交付共4个因素.而要成为一名合格的软件工程师,要对上述4个因素尽量在用户需求上做到尽善尽美. 软件工程师的职业发展有: 职业发展---考级之路 计算机等级考试 (http://sk.neea.edu.cn/jsjdj/index.jsp) 全国计算机技术与软件专业技术资格考试 (http://www.rkb.gov.cn/  ) 职业成长---Steve McC

读构建之法 第三章:软件工程师的成长

本章理论和知识点:评价软件工程师水平的主要方法 软件工程把相关的技术和过程统一到一个体系中,叫"软件开发流程",软件开发流程的目的是为了提高软件开发.运营.维护的效率,以及提升用户满意度.软件的可靠性和可维护性. 软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的.个人在团队中也有独立的流程.把每个人的工作有序地组织起来,就是团队的流程."有序",并不是"无争论".在大部分成功的软件团队模型中,各个角色有不同意见的冲突在

软件工程师的成长(构建之法)

上班的时候,高级的软件工程师其实和普通的软件工程师一样坐在电脑前敲敲打打,查下邮件,上会网,看看手机,聊会天.但是两者的区别就在下班的时候,高级工程师下班回家,而新入职的工程师还在电脑前奋斗. 软件开发不仅有团队的流程,还对每个成员有独立的要求.软件团队是由个人组成的,团队开发的大流程中是每一个人在做具体的开发测试用户界面设计管理交流等工作.个人在团队中也有独立的工作流程.但是个人的工作要用什么来评判呢,用上班时间?那是不是经常加时的同志能够赢得头筹? 初级软件工程师要成长要先积累开发相关的知识

软件工程师周兆熊给IT学子的倾情奉献

[来信] 贺老师: 你好,我是中兴通讯的一名软件开发工程师,名叫周兆熊.最近看了您的新书<逆袭大学:传给IT学子的正能量>,感觉你真心为当代学子答疑解惑,很值得敬佩! 从上大学开始,我就喜欢写一些文章,然后发表到博客上.最开始是在新浪博客上写文章(http://blog.sina.com.cn/u/1646254072),后来转到了CSDN上(http://blog.csdn.net/zhouzhaoxiong1227).通过在博客上写文章,我结交了很多朋友,同时也学到了很多东西. 作为广大的

软件工程师的职业成长

软件工程师的职业发展是有不少版本的,据书中介绍,证明个人能力的方法和模型有以下几种: 职业发展--考级之路 职业成长--Steve McConnell版本 职业成长--大公司版本 职业成长--自我评估 版本有很多,关键是能找到合适自己的职业成长之路.所谓的版本也只是给我们提供一个借鉴的机会而已. 巴克斯顿说技能的反面是"解决问题".在学习算法技能的过程中,如果真想提高自己的技能的话,首先应该把基础打好,通过不断地练习,把低层次的问题都解决掉,这样你才能有时间去解决较高层次的问题. 知道

构建之法(第三章 软件工程师的成长)

第三章的主要内容是:评价软件工程师的主要方法 1.个人能力的衡量与发展 软件工程包括了开发,运营,维护软件的过程中的很多技术,做法,习惯和思想. 软件工程把这些相关的技术和过程统一到一个体系中,叫"软件开发流程",软件开发的目的是为了提高软件的开发运营维护的效率,以及提升用户的满意度,软件的可靠性和可维护性. 1.1 IC在团队中的流程是怎么样的呢?以开发人员为例,流程如下. 1)   通过交流.实验.快速原型等方法,理解问题.需求或任务 2)   提出多种解决办法并估计工作量 3)