从硬件到纯软件,回顾一个老工程师的经历之路!

  

前段时间,我写了很多关于嵌入式学习的文章,通过不少学习者的反馈使我有成就感。分享的乐趣使我决定继续写下去。在接下来的时间,我计划也开始写关于Java的内容。希望对你或多或少提供方向,当然,老规矩,遇到问题或者想发展确没方向的新手都可以私我。话不多说,给大家带来一个软件工程师的成长史:
其实我很早以前就想写了,Java是我毕业后学的第一门语言,准确来说,如果单纯为了做一个普通的开发人员的话,只要你熟练掌握MVC的分层,熟练掌握列表和地图的用法,然后会写写SQL,基本上就没有什么大问题了。真不难,我一开始也和大多数刚刚接触编程的人一样,感觉Java学起来好难的。
从硬件到纯软件,回顾一个老工程师的经历之路!

  

的确,如果你要去深究,我的意思是,深究Java的运行机制,底层代码等,那真的有一定难度。可是,如果你只是为了找一份养家糊口的工作,在一个小公司做做开发,真的不需要你有多么精通。
原因很简单,在这个时间就是金钱的时代,程序框架都是现成的,公司主要追求的还是项目的开发进度。尤其是中小型公司,根本不需要你对Java底层研究得有多深。你会照猫画虎,快速地把功能开发出来,你就很OK。如果有个新需求,需要你去网上借鉴一些代码,弄一些免费的组件,直接拷贝实现功能,那更加OK,升职加薪是肯定的了。
记得第一次写一篇文章,居然收到了非常多评论,老实说这是我没预料到的。我只是把我自己的经历发出来,没别的意思,当然,那篇文章的描述中,也的确有不妥的地方。
本篇文章,我会详细地讲述我如何从一个硬件工程师转到Java Web软件开发的,希望给需要的人做一个参考。或者,你就当故事看看也可以。
记忆犹新的一段话
我最早是希望从事本专业,搞单片机或者嵌入式开发的,现在依稀记得曾经面试我的一个老板对我说的话,大意如下:
“我真搞不懂你们这些刚毕业的学生,总是谈一些理论。很简单,我就问你,一个功能马上就要用,你三天之内能不能给我开发出来?网上都有现成的东西,拿过来用不就行了。如果我接到一个单子,你说要花个半年时间研究一下,我的公司还能开下去么,我不早就饿死啦。也许百度,华为那种大公司需要专门招几个人来研发,可是我们不需要,我们只看效率和速度。我朋友一个什么什么公司前几年也招了几个大学生,结果两年下来了,核心的代码还不是自己写,CAD还不是自己画?让他们搞也搞不出什么东西。不是说他们水平不行,而是这东西需要很长时间的积累,不是说你一毕业就能直接达到多高的水平。”
虽然最后录取了我,可是我自己也明白,学校里学的那些CAD,单片机方面的知识已经跟不上公司的节奏。芯片我只知道STC-89C51,而且不是很熟悉,我连STM32都没用过,而51单片机和这里的工作没有关系。我CAD绘图也还停留在理论,实际操作起来估计就露馅了。
我深刻地明白,即使进入了这家公司,也不会有人教我如何去胜任这份工作,到时候我会变得很尴尬和被动。所以最后我没有去。
不过他的一番话也提醒了我,必须要有一份拿的出手的技术。社会不比在学校,上课随便听听,通过考试就行了,实在不行还有补考。在公司里,不是这样的。
正好赶上近几年制造业不景气,嵌入式方面的工作更加难找,我投了很多简历,除了一些小作坊,小公司,其他都是石沉大海,进入大公司的机会为0。
很多公司不是不缺人,而是缺少来了就能立马上手的工程师,而不是说要招一些应届毕业生,来了之后再手把手教他们。哈哈,没那个时间。
理论真的不重要吗
理论真的不重要吗?
不,从某种程度上说,理论的确很重要。它会让你对一项技术理解得更加深入。这一点我不否认,也不可能否认,因为它就是事实。
但,我不得不承认,如果我学历不够硬,真的没法接到大公司的面试通知。
名牌大学的毕业生都一大把,研究生大军也在盯着这些职位。哪里轮得到我一个普通二本的毕业生?
也许,大公司会看重你理论知识是不是很扎实,所以在校招上,你会经历一次他们给你安排的笔试。
上一篇文章中,有的评论提到,如果理论不扎实,你连笔试都过不了。的确如此,但是,这也要建立在你能够接到大公司的笔试邀请的前提之下。

从硬件到纯软件,回顾一个老工程师的经历之路!