我选择什么样的前途比较好呢?一个C++中手的疑问。

starwar24 2008-09-24 01:18:33
我从小就喜欢计算机,喜欢编程,高中就自学过谭浩强的C语言教程。后来上大学时,计算机方面的科目成绩都不错(但不包括高数,离散数学之类,我对理论性太强的东西没兴趣)。此外动手能力比较强,这么多年来自己装机器,软硬件的问题解决,升级维护,包括一些亲友的电脑软硬件问题解决,升级维护,往往都是我帮忙的,而且总是做得很好。以前考大学时家长说我最好学别的,计算机作为一个兴趣。不过我还是上了计算机相关的专业。毕业后由于找工作难,先做了3年和IT沾点边的工作,从05年底才开始真正做C++方面的开发。先后做过C++ Builder,VC,C#.BTW:我比较喜欢C语言这一系的语言,包括C/C++,C#,Java等,不怎么喜欢也不习惯VB,Delphi,数据库的各种4GL语言,曾经短时间做过ASP.Net开发,后来因为ASP.Net开发流程等和我的思路不对路,半个月后就离职了。
最近3年以来,我一直做的C++开发。但说是开发,其实也只是维护代码,都是前任前些年写好的东西,我只是做点修改,修补等。做到现在,我发现一个问题,往往注释和文档都不多,有的根本没有,完全要靠自己的能力从代码中自己发掘还原注释来理解代码和流程,尽管流程有一些其它方面的资料可以参考,但这些代码理解还是相当费力的,还得亏我基础好,相对别人还理解的快得多(在最近这一家公司到了之后半个月就开始正式工作了,他们从没见过我这么快开始工作的)。
06年所在的一家不小的公司,我做到快满一年时,由于对该公司流程理解不够,无法跟上一个从我手头维护的产品派生出来的新产品的开发步伐,我只有离职。
07年在一家小公司,以C++开发为名把我招进去的,实际上除了开始少量C++项目之外,该公司主要用的Java,我则被分派C# Winforms的任务。本来做的也还可以,但后来项目经理瞎指挥,让我改这改那,被他指挥改的结果不好耽误了进度还要我加班来弥补他的错误,我和他冲突了几次,被迫离职了。
08年,也就是今年,这家公司还有点规模,几百人。像我这样对C++还算比较熟悉(但称不上高手,下文就说),同时又对他们公司产品所需要的技术有相当的了解的人很少,所以我去他们那里面试,前后3个钟头,就当场定下来让我次日就来上班。不过我在此做了几个月之后慢慢发现,其实大概一个月左右就开始发现了,该公司尽管名头在小圈子里面还算响亮,做的东西似乎很神秘,其实毫无技术含量可言,我维护的代码,除了让我稍微熟悉了一下ActiveX控件的写法,COM组件的调用方式,MFC做界面的繁琐之外,就没什么对我有提高的地方了。而且由于我接手的这些代码,前任程序员是Java出身,临时赶鸭子上架学的C++来做的这些东西,所以程序留下的bug不少,内存泄露,错误指针什么的到处都是。他也是接手,更前任我不知道情况如何,可能也好不到哪里去。所以我维护这些代码,尽管其实没什么技术含量,但麻烦也还不少。
我开头做的还是单机版本,控件所有代码都在本机运行,还可以算是一切都在自己掌控之中(C++程序员都习惯一切都在自己掌控之中吧?),后来公司为了版权控制原因,决定把该产品网络化,实际功能运行放到一台单独的服务器上面,原有的控件被改造为一个只是组织XML报文送到服务器端,接收返回报文,解析出来东西就成了的空壳。用我们项目经理的话来说“这些事情很简单,你只是组织一下报文,把返回的解析一下,怎么修改一点东西要这么久?”。这个项目经理是做Java出身,C语言他上大学时也学过一点皮毛,能勉强看懂C代码。他根本不知道C/C++由于内存,指针等的缘故,内存泄露,指针越界等问题,比Java出问题的几率大不知道多少倍。已经有过不止一次他觉得“5分钟就应该改完“的任务,实际上需要一两天,乃至两三天的了。我现在做的东西,由于是这种网络模式,哪怕我的代码没有问题,也会因为服务器端的不知道什么变动而时不时有不同的结果。那个服务器端又不是我一个人用,时不时有人,包括项目经理自己,在上面做一些改动。结果项目经理在我的机器上看到我的程序每次经常都结果不同,有时候出来正确的结果,有时候就出错,总是说“不稳定”,也不想想,他的服务器端老变动,能稳定得了吗。那个服务器端是他负责开发。最近几天不知道是不是由于产品进度缘故他着急的原因,看到我的代码“不稳定”,经常批评我“你怎么写的代码这么糟糕,不稳定,从来没见过这么差的代码”之类的,让我也很恼火。不过最近这一两个月来,我也觉得,在C++的内存控制方面,似乎我的能力还是不足。
前几天他还半明半暗的在小组会议上批评我“按时上下班”。其实我以前也没怎么计较加班没加班费。但自从7月底左右,部门经理和我谈话时说我有时候迟到,我说当天早上就差半分钟而已,部门经理不由分说的说"迟到半分钟也是迟到",所以我觉得非常不公平,上班时间苛刻要求,下班时间却没个准,况且还没有加班费。后来我也就想通了,参照网上的建议,健康是自己的事,再大的事也不得侵犯个人休息时间(与上班时间的“迟到半分钟也是迟到”的苛刻要求相对应),下班时间到,不管还有多少任务,不管项目经理说什么“今天必须完成”,我也照走不误。而我经历过的前两家考勤比较灵活一些的公司,我就没有过太多意见。
我现在呆在这家公司半年了,做的东西,继承的代码Bug满天飞,而且也没什么技术含量。我年初面试时还有过2家公司,一家技术含量更高,也对我很满意,但因为距离太远,有差不多30公里,所以我才放弃了。还有一家距离我家大概17公里,距离大体还能接受,该公司大概有几十人,没有我现在公司大,主要是用C#做对日外包的,不过该公司老板看上我的是我在某个专业知识方面的水平,与他的兴趣很吻合,希望我来帮他做一个当初他在日本做了一阵子,也挺有前途,后来因故没有做下去的软件,因为他现在主要精力都在公司管理上,没空做这个软件了,而且还说让我去某日本大公司在华分部做合作项目。当时我不知道什么原因,现在想起来,有一部分原因可能是觉得对日软件外包企业会比较累,所以才没去。但现在回想起来,呆在现在公司里面,什么也学不到,似乎更加不值得。现在这家公司大,好几百人,上面有项目经理,部门经理,副总等几层领导,有什么才能也难以得到发挥,而前边这家小一些的公司,好像老板自己是从日本回来的,去了的话会相对比较受老板重视,也许发展会更好?还有在日本大公司工作的机会。我的一个初中同学就是因为机缘巧合,在日本大公司工作了几年,现在在一家美国大公司工作,比我轻松,每月工资是我的三倍,5位数。
此外我也想过别的可能性,比如技术型销售(有这个说法吗?),或者售前,或者IT培训。我的性格比较内向,不怎么善于交流,所以我是觉得销售,售前估计都不适合我。IT培训不知道怎么样,我的技术虽然无法做到对于C++的内存控制收发自如的地步,但在普通人,特别是不怎么懂电脑的人眼里,我可以毫不夸张地说,完全是“高手”。有个朋友做过IT培训行业,说收入也不错,不比软件行业低。
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzh9955 2008-09-24
  • 打赏
  • 举报
回复
好帖子!!!受教了!
UP
JJZHK 2008-09-24
  • 打赏
  • 举报
回复
我真佩服lz写这么多,更佩服居然我能看完。兴趣是最重要的。找工作有很大部分是机遇,不一定挣得多的就一定技术很厉害。反之,同样的道理。还是要安下心来学技术,当然前提是你还想开发软件。每个人都有低潮的时候,应该耐的住寂寞,不会一辈子都碰见倒霉的事情。
xtdumpling 2008-09-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jjzhk 的回复:]
我真佩服lz写这么多,更佩服居然我能看完。兴趣是最重要的。找工作有很大部分是机遇,不一定挣得多的就一定技术很厉害。反之,同样的道理。还是要安下心来学技术,当然前提是你还想开发软件。每个人都有低潮的时候,应该耐的住寂寞,不会一辈子都碰见倒霉的事情。
[/Quote]
...
tcVSmsn 2008-09-24
  • 打赏
  • 举报
回复
呵呵,估计差不多和你同龄人啊,先帮顶吧。

588

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧