蒙面超人 发表于 16-7-2009 17:10:41

一个非计算机专业软件工程师的职业方向困惑

不知道是不是应该发在这个版。我做了5年的C++开发,虽然工作中还能轻松应付,但是去一些大公司面试就屡屡受挫。毕竟,做了5年的C++开发才这点水平,的确说不过去。原本我打算朝着“技术+支持”的路线去发展的,这样可以不需要太深入去研究技术本身而利用自身的沟通能力来重新定位。但是发现就这样很难转型,而且考虑到移了民之后,技术可以说是唯一的一块敲门砖,所以至少近期内是无法实现转型的了。

我是学机械电子的。本科、研究生也学过编程,但是国内的教育大家都知道,而且还不是重点院校,又不是计算机专业,所以学的东西少之又少。倒是我自己自学了一些WEB方面的知识还有点收获。目前的公司也是电子行业,对软件开发的要求不高,基本上我自学了1、2个月就足以应付了。也正因为此,5年里面也没有好好的去打好基础,没有去钻研新的技术。从我大学开始就听说.NET,c#,现在还只是初窥门径的水平。而且,我即使 C/C++,基础也相当薄弱。这在技术面试的时候就一览无遗。

现在相当困惑,我也不明白当时考大学的时候为什么不直接报计算机专业。现在基础太差,又缺乏动力去学。自学又缺乏系统性,C++,C#,Java,数据库,Web Service,究竟应该去学哪个?应该怎么学?我完全没有方向感。

所以,我在想是不是应该脱产去报个计算机培训课程,不要让历史遗留问题影响我一辈子。但是北大青鸟,ITJOB什么的在我的印象里都是昂贵又学不到真才实学的(我对培训机构都不怎么认同)。又害怕自己一腔热血的去脱产学习到头来什么都没学到浪费时间金钱。自学的话,又不知道该依照怎么样一个步骤?是不是应该去考个什么证?证本身对我来说没多大作用,关键是能够以此为目标获得一个系统的学习计划。

请做软件开发的前辈们不吝赐教!感激不尽!

刘叔 发表于 16-7-2009 17:31:00

回复 #1 蒙面超人 的帖子

看你签名也是在办移民啊,而且应该准签了吧?

出去了不怕,中国人技术绝对不差。

coredump 发表于 16-7-2009 17:42:38

还是自学吧,报班完全没用:L

蒙面超人 发表于 16-7-2009 17:44:20

回复 #2 liuhuey 的帖子

谢谢刘叔。还没呢,不过现在真的没信心,至少面试是过不了的。

蒙面超人 发表于 16-7-2009 17:46:55

回复 #3 coredump 的帖子

其实我就是像在学校里面有个氛围,然后老师可以系统一点的讲解基础概念。自学就是没有系统性和方向感。究竟朝C++,C#还是JAVA方向,从基础理论开始学习?很多专业词汇怎么也理解不了,还有就是工作中没有办法做很深入的练习。是不是应该考个MCSE之类的?这个好像跟编程没多少关系?

刘叔 发表于 16-7-2009 18:18:55

回复 #5 蒙面超人 的帖子

你这个是信心问题,不是技术实力问题。

俺真正做软件差不多七年时间,全是自己野路子闯出来的。别怕,比你差的人大有人在。

:oil :oil :oil

MacroJ 发表于 16-7-2009 18:19:23

搬了凳子等高手指点:yct_4

esnoopy 发表于 16-7-2009 19:19:37

边干边学吧! 找准自己的强项一路做下去咯。 做技术这行,如果不是天才,个人觉得是熬出来的,是不是科班出身偶觉得也不重要了。

freeray 发表于 16-7-2009 19:25:47

没什么啦,如果没有合适的入门渠道,要深度理解C++还是不容易的,我也在C++的大门外徘徊了好几年,后来因为偶然的机会去做GUI系统才能算是真正入门了,至今我仍然不敢轻言精通,惭愧,天资愚钝啊~

Fernando 发表于 16-7-2009 20:27:11

要理清思路,知道自己发展下去的roadmap是怎么样的
不要羡慕计算机专业,也就学一点点理论,做软件行业的很多都是非计算机专业

lertoo 发表于 16-7-2009 22:38:29

C++只是们语言而已,就像人说的国语、英语。大家都会说国语,但是大家说话的水平却不一样,这就需要构架、艺术。
往那个方向走,主要看自己的爱好和机会,热门的竞争也多。但无论哪个方向,只有你清楚了解的软件的构架,才不会迷惑。无论是J2EE,.NET还是C++嵌入开发,一般就是界面、业务逻辑、数据存取那么几层,每层都很多技术,每年都有变化。都精通是不可能的,不懂是正常的。

不要被大公司的面试题唬倒,让他们放下卷子,他们不见得回答得上来。曾经有个人在我们公司面试失败,我跟经理说他在某大公司工作过,经理说大公司可以养庸人,而小公司不行。

蒙面超人 发表于 16-7-2009 22:39:31

回复 #6 liuhuey 的帖子

最近有几次面试的机会都卡在了技术面试哪里,所以的确有点心灰意冷。即使综合素质再高,在有竞争压力的情况下,人家还是不buy我的观点的。基础知识还是我的硬伤,所以才会想去认真的克服。我知道有比我还不行的,从代码的风格都能看出来,不过即使这样我也没信心在国内找一份好工作,更别说出去了。

多谢LS的鼓励和建议。我会好好思考一下的,看来大家都不认同培训机构啊。我暂时的想法是从C的基础思想开始学习

ritz 发表于 16-7-2009 22:54:03

买几本专业书深入看看可能比上培训班更有用,
http://www.douban.com/doulist/85050/

还有就是找些C/C++ 的开源项目看看,应该也可以学到不少东西

guardiangel 发表于 16-7-2009 23:01:51

楼主比我强多了,我29岁,研究生学历,专业太惨,体育教育训练学。。。。。毕业自觉了三个月JAVA,培训了三个月,现在在一个小公司做JAVA。相比之下,楼主应该有自信了吧?呵呵。大不了别人用一个月学的东西,你用三个月来学,总会好的。

sssddw 发表于 16-7-2009 23:14:55

;P ;P ;P ;P

韦小宝 发表于 16-7-2009 23:28:10

原帖由 蒙面超人 于 16-7-2009 22:39 发表 http://www.freeoz.org/forum/images/common/back.gif
最近有几次面试的机会都卡在了技术面试哪里,所以的确有点心灰意冷。即使综合素质再高,在有竞争压力的情况下,人家还是不buy我的观点的。基础知识还是我的硬伤,所以才会想去认真的克服。我知道有比我还不行的,从代 ...

作为一个程序员“作”比“学”要重要。一个刚从大学毕业的计算机专业的大学生很难找到工作。一个没有上过大学的但做了2年的实际工作的高中生可能要比大学刚毕业的要拿的多。几乎所有IT精英都是自己琢磨在实际工作中一点一点开发自己的。在人海战术的年代,日本的软件公司只有10%的雇员是计算机科班出身的。现在的IT,很多人也都不是科班出身的。只有国内,大把大把的科班种子。。。人多阿。

IT更新很快,这个行业的人需要不断更新自己的技能。所以不适用年纪大的。年纪大了如果做不到管理层,只能退。

建议放弃C吧。现在还有多少人用C呢?dotNet市场更大。还有,你既然懂C/C++,那么dotNet C#对你来说应该更容易。另外,只懂语言似乎很难应付现在的IT要求。不然跟大学生没什么区别。即使是学习,也要以解决实际问题的观点去学习。

刘叔 发表于 17-7-2009 00:10:31

回复 #16 韦小宝 的帖子

年纪大了如果做不到管理层,只能退

兄弟,不是我跟你有仇。

你这个观点放在国内IT行业说说还比较有市场,在西方的IT公司完全不是这样的。

本人亲眼见过,70岁还在做Unix支持和开发的老程序员,一直做到他去世。还有40岁的台湾女性,从基于mainframe的系统开发,到后来转成Lotus Notes的维护。还有快50岁的程序员,他还在自学PHP.....

他们看到我都跟我开玩笑,问我进公司多少年了。我说五年,他们哈哈大笑,然后让我猜他们进来多少年...最长的好像有三十年。

他们的业余生活都非常丰富的,没有人下了班还要搞IT。冰球、棒球、足球教练、重金属乐队等等。下了班还呆在办公室的人,只有他们的manager。每次我们从门口经过的时候,他们都会夸张的做鬼脸,那意思是说:poor man!

MillerYang 发表于 17-7-2009 00:33:16

回复 #1 蒙面超人 的帖子

超人可以先买两本经典的书看看。。。
C++ Primer、The C++ Standard Library都不错。。。
我有些电子版,需要的话PM我:handshake

piles 发表于 17-7-2009 01:00:23

冰球、棒球、足球教练、重金属乐队这些国人会玩么?适合我们的兴趣爱好又是什么?国内有几个人真正培养过兴趣爱好?兴趣爱好使我们生活的一部分么?我倒是挺羡慕manager,还有机会加班,别人认为poor,自己不苟同就可以了。

wenzh 发表于 17-7-2009 01:20:33

超人,你好。我觉得你主要还是信心问题,不是技术问题。现在经济形势普遍不好,很多公司招人都很谨慎,有些也是可招可不招的,所以你求职失败不一定是你的问题,更不一定就是技术问题。你马上要出去了,还是要选中一个方向,网站开发,信息系统或者嵌入式开发,最好和你现在的工作接近,方向上不要变来变去,不要跨度太大,不然以后找工作不利的。老外好象不太喜欢什么都干过的。

felix100 发表于 17-7-2009 02:33:16

原帖由 韦小宝 于 16-7-2009 23:28 发表 http://www.freeoz.org/forum/images/common/back.gif


作为一个程序员“作”比“学”要重要。一个刚从大学毕业的计算机专业的大学生很难找到工作。一个没有上过大学的但做了2年的实际工作的高中生可能要比大学刚毕业的要拿的多。几乎所有IT精英都是自己琢磨在实际工作中一点一点开发自己的。在人海战术的年代,日本的软件公司只有10%的雇员是计算机科班出身的。现在的IT,很多人也都不是科班出身的。只有国内,大把大把的科班种子。。。人多阿。

这样的人做着做着经常会撞墙(技术知识的墙)。

beysup 发表于 17-7-2009 10:42:42

不知道lz的强项是什么,如果你没有商业软件开发背景,找个IT职位确实比较难,如果你在机械电子研发领域很有经验,完全可以找这方面的工作,澳洲也缺少机械工程师。

someonehappy 发表于 17-7-2009 10:53:44

看看回帖就知道了,这世界上没有一定的事情。

每个人的经历不同,学历不同,性格特点不同,去求职的公司不同,面试的人也各不相同,所以别人的成功之路不一定就适合你。

具体来说,你要仔细分析下你面试失败究竟问题出在哪里,你觉得是技术不过关,还可以再细致的想想究竟哪里不过关,是因为问到的问题太偏,不是你所经历过的,还是确实是一个普通C++程序员应该知道而你不知道,还是根本就是在考背技术文档结果你没有背过,等等等等。

我觉得最重要的是要充分的认识自己,然后会发挥好自己的优点特点,然后才是长期的有计划再提高。毕竟世界上职位那么多,理论上总有一些适合你,也有一些不适合你。一失败就轻易否定自己是不对的,你失败的原因也许仅仅是因为你去面试了不适合你的职位而已。

至于学习,去哪里在哪里采用哪种方式不是最重要,最重要的是自己真正花多少时间精力。大家都是读了n年书的了,这一点总该有共识吧。

蒙面超人 发表于 17-7-2009 11:53:49

回复 #20 wenzh 的帖子

谢谢,现在对于我来说可能基础的理论知识更重要一些,我觉得前辈说得没错,语言不同,但是思想是一样的,我现在对编程思想,建模什么的能有点感觉,但是因为一些理论的基础,譬如数据结构,算法之类的不了解,所以很多东西都是用比较低级的方法去实现,而且也从没关心过其原理是什么,往往遇到复杂一点的bug就束手无策了。

至于发展方向我现在也没有概念,我对web方面的技术还是比较感兴趣的,所以可能.net会更适合一点,毕竟从c++到c#应该会容易一些。

蒙面超人 发表于 17-7-2009 11:56:59

回复 #22 beysup 的帖子

我专业里面除了对数字电路还有点兴趣所以认真听了课之外,其他的理论知识都跟实际生活离太远,久而久之都丢光了。所以我才说也不知道为啥当初报了这个专业,我们那会是先报志愿再考试的,感觉很不公平。anyway,不过大家的意见都是大学学不到什么。

蒙面超人 发表于 17-7-2009 11:59:47

回复 #23 someonehappy 的帖子

谢谢someonehappy,是的,我知道自己才是主因。现在有这个决心,就是像看看有没有更科学的方法能够加速提高。

大家的鼓励让我非常感动,谢谢大家的支持!

workinvm 发表于 17-7-2009 14:55:28

我本科也是学电子的,由于后来工作是做操作系统开发,对计算机的基础知识要求太高,我所有的计算机基础课程包括数据结构,编译原理,操作系统,数据库原理,数理逻辑,离散数学几乎全部是在工作之余自学的,而且全部在工作中用上了,像我这种情况的我觉得比较特殊,大部分做软件开发的都是做应用开发,对计算机的基础知识要求并不是特别高,只需要了解就可以了。所以楼主如果日后只想做应用开发,也没有太大必要花大量时间搞这些基础知识,把数据结构的书大概看看就可以了,知道一些基本的数据结构是怎么回事就行了。
不过电子和计算机是相关的,我本科学的电子知识在后来的计算机开发中也用到了,比如对数字信号的快速傅立叶变换,在做音频压缩时就会用上,信号白噪声的消除在图像识别时会用上。
所以楼主也不要为专业没选好感到遗憾,这些相关知识都是触类旁通的,就拿你说的数字电路来说吧,计算机不就是有大量的数字电路组成的吗?计算机专业和电子专业都有交通灯逻辑设计,计算机专业通过编程实现,电子专业通过搭建数字门电路实现,但最后的效果都是一样的。楼主还是要对自己有信心,大学教育是基础教育不是专业教育,我们通过大学学到了很多基础知识和学习方法,专业知识完全可以通过工作中有针对性的学习来补充。不管是不是计算机专业科班出身,都可以通过自己的努力成功的。

sliuhao 发表于 17-7-2009 14:58:41

由于后来工作是做操作系统开发
~~~~~~~~~~~~~~~~~~~~~~~~~
路过,厉害的...

清风不写字 发表于 17-7-2009 15:50:40

楼主不用担心,也不用后悔专业了。
俺是个文科生,投资专业的
从毕业到现在在干IT10年了,
计算机和编程都是自学的,
基本上是需要用什么就学什么?
语言,架构,模式等其实自学起来也都不是很难。

其实如果做一般的商业应用系统,
不需要用到很多计算机底层知识和非常复杂的数学算法。
更主要的是要明白商业需求和逻辑。

emacs 发表于 17-7-2009 16:31:17

语言只是语言而已,要理解编程的思维~找到一个语言入门就好
如果像楼主说的总是卡在技术面上,就可以找一本很基础的书来完整看一遍,把每个习题都做好,这样进步很大
还有一个就是要经常看看自己以前写的代码,温故而知新,很有用的~

C++的书推荐大神级别的<C++ Primer>和<高质量C++编程指南>
C的书推荐最近在网上流传起来的一本,<C语言深度解剖>。这本书没有出版,是作者自己发到CSDN论坛上的,可以去找找。写得很好的一本书,很多细节都是平常容易忽略的
习题一定要挨个做完

加油加油~
页: [1] 2
查看完整版本: 一个非计算机专业软件工程师的职业方向困惑