给有志于软件研发的学弟学妹们的忠告
PS:在大家看这篇涂鸦之前,我先说明一下:里面有不少内容是针对我原来就读的学校的,所以关于那部分大家就忽略过去吧.希望大家看的是时候能取其精华,去其糟粕----希望大家不要觉得整篇文章是糟粕就好,仅此一点,足矣...
文章开始前先说一下我自己吧:去年刚毕业,念的是通信工程,现在做嵌入式软件工程师.其实自己很怕写这种文章,但觉得作为学长有必要向后辈们介绍一下经验,但文笔欠佳,可能会导致逻辑混乱,所以大家将就看吧......
1.学校的知识有没有用?
如果这个问题是一年前问我,那我肯定会毫不犹豫的说:基本没用!我的理由非常充分,因为我毕业后打算做软件这一行,学校学的很多东西根本在以后用不上!
但事实上是如此么?其实未必.举个例子吧:学通信电子相关专业的,做实验的时候应该都用过万用表和示波器吧?我不知道大家对这个的熟练程度有多少,是不是仅仅止步于应付平时的实验?如果是的话,那很难完成驱动软件的编写!我开始上班的时候,接过一个项目,是做WINCE底层的USB从链接(也就是和PC机相连了).当时左调右试都没有成功连接,检查了两天代码,实在找不出一点错误,甚至把wince的MDD层代码都怀疑过.后来我们研发部的老大看了,拿了个万用表过来,测试MCU的针脚,然后发现电平根本没有拉高,再用示波器来测试,发现根本显示的不是方波.于是把芯片资料拿过一看,发现这款MCU有一个BUG,有电平的时候会将一个很重要的标志位复位.于是按资料在驱动程序把那个BUG给屏蔽掉,于是终于和PC链接成功!
现在回头看看,如果不会用万用表,不懂得示波器,能解决这个问题么?所以学校的知识是非常重要的!当然,这里面还有一个很严重的问题,就是我们专业的老师水平实在不怎么样.在这里先罗嗦几句,不知道后辈知不知道,我们学校的通信专业是00年开的,我们那时候是第二届,所以导致老师的水平不是很高,即使你想学,也很难从老师那学到.不知道现在学校的教学水平如何,但我认为应该还和那时候的我们差不多,甚至可能更差.所以,在这个矛盾之下,如果你确实想学东西,真的要多多努力才行.
2.是否该先就业再择业?
回答这个问题之前,我想问:你是不是打算先结婚,然后再选老婆?俗话说得好,"男怕入错行,女怕嫁错郎",不是没道理的.
如果你真的想做软件开发这一行,你为什么要先去做别的工作?想想看,做了别的工作之后再出来,和你没做这个工作这个工作之前,有多大的区别?照样还不是没有经验,照样还不是依然从起点开始,反而白白浪费了不少时间!
关于这个倒是有一个现成的例子,我的一个同学毕业后是搞工程的,就是电信啊移动的线路铺设(顺便说一下,严格地来说,这个才是我们通信工程的"专业对口"),一年一共换了大概三个公司吧.后来实在不想出差了,打算找一份软件研发的工作,但苦于没有经验,一直都没有如愿.不过幸运的是,我们系的一个同学在一个公司当上了主管,然后把他给招去,他才圆了做研发的梦.
当然,只考虑择业问题还是有个前提的,就是家庭可以负担的起.因为如果想找一份自己很想做的工作,很可能要花费很多时间,幸运则罢,如果不幸,可能两个月,三个月甚至更久.如果家里需要自己的小孩赚钱减轻负担的话,还是建议先就业后择业吧,毕竟吃饭是首要问题.
3.没有经验该怎么办?
这个我也真的没多少办法,说真的.我觉得最容易也是比较好的方法,通过一些大公司的校园招聘.那些能进行大规模校园招聘的公司,肯定是财大气粗,他们可以不管你有没有经验,反正只要条件符合,就招过来,然后到时候集中统一培训,最后上岗.如果无法在这校园招聘中被选上,那就比较困难了,特别是做软件这行的,没有经验根本就是举步维艰.以我自己举个例子,当时毕业后在家玩了一个月,然后是七月底去深圳找的工作.在找到工作之前,两个月内大概面试了有二十多家公司吧,都是被卡在经验上.所以没有经验,做软件这一行的,是非常非常难找的,如果大家决意要投入软件研发这一列,一定要报有很久可能找不到工作的决意.不过呢,如果幸运地起步了,以后就是康庄大道一条,路也好走多了.
顺便说一下,不过可能会打击大家.千万不要以为在学校捣鼓的那几个程序就可以驰骋职场了,因为在学校写的那些小东西最多也只能说明你曾经用过,但公司方面还是认为你和没经验的没什么两样.当然这不排除学校的一些牛人,在学校写了一些让大家惊异的东西.这种人肯定是有,但很少,大多都是像我一样平平凡凡的.
如果有意做软件研发的,在学校期间起码要写过至少十万行代码,才能说是基本合格.不过说来也惭愧,我毕业的时候,在学校写的代码可能根本就没超过两万行.
4.研发类的薪水怎样?
这个不好说,因为不同的公司有不同的标准.一般来说是这样分类的,如果以语言来分,C/C++的薪水最高,因为C/C++最难,并且结合底层;以研究方向来分,嵌入式开发的薪水最高.其实后者几乎等同于前者,因为做嵌入式开发,只能用C/C++,即使不是,也只能是汇编.正是因为如此,所以薪水才是处于软件行业的几乎顶端.不过如果你习惯于别的语言也不必为此而耿耿於怀,毕竟只要行业做得精深了,还怕没高新么?我所说的,也仅仅是刚起步的比较.
不过呢,对于刚毕业的来说,薪水不要看得太重,只要能养活自己不向家里要钱并且有点结余就可以(如果家里需要孩子补助的除外).以我作为一个例子吧,当时我工作的时候,薪水是1.7k,在深圳只能勉强过活.然后在这一年内,薪水一共提了四次,平均没三个月加薪一次.在深圳这个以能力为衡量标准的城市,你努力不会没有人看不到的.
就先写到这里吧,写了这么多,虽然手不酸,但已经头脑不清醒,以后再想到什么东西再慢慢添加好了.
文章开始前先说一下我自己吧:去年刚毕业,念的是通信工程,现在做嵌入式软件工程师.其实自己很怕写这种文章,但觉得作为学长有必要向后辈们介绍一下经验,但文笔欠佳,可能会导致逻辑混乱,所以大家将就看吧......
1.学校的知识有没有用?
如果这个问题是一年前问我,那我肯定会毫不犹豫的说:基本没用!我的理由非常充分,因为我毕业后打算做软件这一行,学校学的很多东西根本在以后用不上!
但事实上是如此么?其实未必.举个例子吧:学通信电子相关专业的,做实验的时候应该都用过万用表和示波器吧?我不知道大家对这个的熟练程度有多少,是不是仅仅止步于应付平时的实验?如果是的话,那很难完成驱动软件的编写!我开始上班的时候,接过一个项目,是做WINCE底层的USB从链接(也就是和PC机相连了).当时左调右试都没有成功连接,检查了两天代码,实在找不出一点错误,甚至把wince的MDD层代码都怀疑过.后来我们研发部的老大看了,拿了个万用表过来,测试MCU的针脚,然后发现电平根本没有拉高,再用示波器来测试,发现根本显示的不是方波.于是把芯片资料拿过一看,发现这款MCU有一个BUG,有电平的时候会将一个很重要的标志位复位.于是按资料在驱动程序把那个BUG给屏蔽掉,于是终于和PC链接成功!
现在回头看看,如果不会用万用表,不懂得示波器,能解决这个问题么?所以学校的知识是非常重要的!当然,这里面还有一个很严重的问题,就是我们专业的老师水平实在不怎么样.在这里先罗嗦几句,不知道后辈知不知道,我们学校的通信专业是00年开的,我们那时候是第二届,所以导致老师的水平不是很高,即使你想学,也很难从老师那学到.不知道现在学校的教学水平如何,但我认为应该还和那时候的我们差不多,甚至可能更差.所以,在这个矛盾之下,如果你确实想学东西,真的要多多努力才行.
2.是否该先就业再择业?
回答这个问题之前,我想问:你是不是打算先结婚,然后再选老婆?俗话说得好,"男怕入错行,女怕嫁错郎",不是没道理的.
如果你真的想做软件开发这一行,你为什么要先去做别的工作?想想看,做了别的工作之后再出来,和你没做这个工作这个工作之前,有多大的区别?照样还不是没有经验,照样还不是依然从起点开始,反而白白浪费了不少时间!
关于这个倒是有一个现成的例子,我的一个同学毕业后是搞工程的,就是电信啊移动的线路铺设(顺便说一下,严格地来说,这个才是我们通信工程的"专业对口"),一年一共换了大概三个公司吧.后来实在不想出差了,打算找一份软件研发的工作,但苦于没有经验,一直都没有如愿.不过幸运的是,我们系的一个同学在一个公司当上了主管,然后把他给招去,他才圆了做研发的梦.
当然,只考虑择业问题还是有个前提的,就是家庭可以负担的起.因为如果想找一份自己很想做的工作,很可能要花费很多时间,幸运则罢,如果不幸,可能两个月,三个月甚至更久.如果家里需要自己的小孩赚钱减轻负担的话,还是建议先就业后择业吧,毕竟吃饭是首要问题.
3.没有经验该怎么办?
这个我也真的没多少办法,说真的.我觉得最容易也是比较好的方法,通过一些大公司的校园招聘.那些能进行大规模校园招聘的公司,肯定是财大气粗,他们可以不管你有没有经验,反正只要条件符合,就招过来,然后到时候集中统一培训,最后上岗.如果无法在这校园招聘中被选上,那就比较困难了,特别是做软件这行的,没有经验根本就是举步维艰.以我自己举个例子,当时毕业后在家玩了一个月,然后是七月底去深圳找的工作.在找到工作之前,两个月内大概面试了有二十多家公司吧,都是被卡在经验上.所以没有经验,做软件这一行的,是非常非常难找的,如果大家决意要投入软件研发这一列,一定要报有很久可能找不到工作的决意.不过呢,如果幸运地起步了,以后就是康庄大道一条,路也好走多了.
顺便说一下,不过可能会打击大家.千万不要以为在学校捣鼓的那几个程序就可以驰骋职场了,因为在学校写的那些小东西最多也只能说明你曾经用过,但公司方面还是认为你和没经验的没什么两样.当然这不排除学校的一些牛人,在学校写了一些让大家惊异的东西.这种人肯定是有,但很少,大多都是像我一样平平凡凡的.
如果有意做软件研发的,在学校期间起码要写过至少十万行代码,才能说是基本合格.不过说来也惭愧,我毕业的时候,在学校写的代码可能根本就没超过两万行.
4.研发类的薪水怎样?
这个不好说,因为不同的公司有不同的标准.一般来说是这样分类的,如果以语言来分,C/C++的薪水最高,因为C/C++最难,并且结合底层;以研究方向来分,嵌入式开发的薪水最高.其实后者几乎等同于前者,因为做嵌入式开发,只能用C/C++,即使不是,也只能是汇编.正是因为如此,所以薪水才是处于软件行业的几乎顶端.不过如果你习惯于别的语言也不必为此而耿耿於怀,毕竟只要行业做得精深了,还怕没高新么?我所说的,也仅仅是刚起步的比较.
不过呢,对于刚毕业的来说,薪水不要看得太重,只要能养活自己不向家里要钱并且有点结余就可以(如果家里需要孩子补助的除外).以我作为一个例子吧,当时我工作的时候,薪水是1.7k,在深圳只能勉强过活.然后在这一年内,薪水一共提了四次,平均没三个月加薪一次.在深圳这个以能力为衡量标准的城市,你努力不会没有人看不到的.
就先写到这里吧,写了这么多,虽然手不酸,但已经头脑不清醒,以后再想到什么东西再慢慢添加好了.