24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 2488  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jovahe

捐助贵宾 (小有名气)

[交流] 五年软件开发的一点自我总结 (转发)已有13人参与

五年软件开发的一点自我总结 (转发)

下周就要去新公司报道了,换城市(离开北京)+换职业(不做开发),这个决定下得其实还是蛮艰难的。最近一直在反思自己毕业后的这五年工作,自感惭愧,找个地方记录下(主要是这里谁都不认识我),也算是自己的一种反醒以及给过来人提点建议,少走点弯路吧。

  08年顶着名校硕士的光环加入了一家非常有名的非软件公司做软件开发,刚开始一切其实都很美好。大外企的各种好在头一年给自己带来了很多光环,当然自己也学到了很多(主要是非技术的东西)。可是从第二年开始,当自己被各种邮件,开会和扯皮的事包围后,技术能力急转直下。然而自己当时还没意识到这个问题,感觉钱还行,也不忙,再加上本来就很迷茫,就得过且过了。直到去年,很多清华北大同事的离职,日复一日的简单重复工作,明显的天花板,不涨的工资,以及家庭原因的集中爆发才让自己后知后觉,才开始反醒,才开始下决心做转变。

  然而转变是痛苦的,这五年技术上主要是在windows平台上做一些企业内部业务的处理和展示,主要用一点c++/c#,还有MFC,Winform,WPF,WCF。技术基本上是做的皮毛,一般问题用MSDN,google和stackoverflow就能基本解决。用不到数据库,也用不到什么数据结构,用到一点点网络知识,主要精力都在业务展现上。这一切在我看来招个应届生用一年也能有和我一样的开发能力,唯一懂的多的业务,也长进不多,都是繁杂的重复。所以在自己开始面试和找工作时被bs了很多次,顶着光环人家一般都给你面试机会,但是一旦聊到技术细节,自己很多都答不上来,也曾经一度非常沮丧。庆幸最后找了个技术相关的职位,能够兼顾到家庭和自己后面发展的想法,还算可以,这是后话,暂不讨论。

  总结这五年不成功的开发经验,现在想想主要问题如下:

目标不明确,由于学的专业不是纯软件,自己误打误撞的进来做软件开发,自己一直没想清楚自己的目标,结果导致自己浑浑噩噩的做了5年开发还停留在原地。
缺乏坚持,没能坚持一件事情做到底,自己其实在这五年也自学了一些东西,包括HTML,JavaScript,CSS,Python,Java......也看了不少技术的东西。可都很肤浅,一样也没有深入坚持下去,什么都懂一点皮毛,结果就是什么都不懂。
不够勤奋,我从小成绩优秀,学习能力很强,缺乏需要非常勤奋投入才能做成事情的锻炼,所以养成勤奋的习惯,到了工作中才发现要取得成功无不需要加倍的努力才行。
  此外从一个非科班出生搞软件的角度,谈谈自己对软件开发的了解:

做上层开发学了这么多所谓的语言,框架,技术,其实现在想想万变不离的却是底层的数据结构,操作系统,网络通讯和一些其他的基础的东西。自己也算半路出家,以前总是不屑基础的东西,总认为我懂了WPF,能画出很炫的界面什么就很好了。其实却是认识太肤浅,只有掌握了不变的东西才能应付好上层的技术,否则只会被微软牵着鼻子走。所以对新人来说,打好基础是多么重要,可惜我后知后觉了。
除了基础的东西,我认为其次重要的是软件架构,好的架构可以让事情事半功倍,让下面实现具体代码的感觉很轻松。说得过分点,一个好的架构师可以带一群实习生的干活都能出好东西。软件开发越来越不需要我们懂底层的东西,很多现成的轮子可以用,但是要知道怎么搭积木就需要好的架构师了。所以我觉得平常要多看好的开源架构,多学习框框的东西,当然轮子和积木知道哪里能拿到。最怕的是像我一样,只会google找积木搭,这就是所谓的纯码农了:(
其次是业务,开发很多时候要懂业务,很多开发的很不屑业务,认为技术才最重要。其实很多时候业务才是王道,软件开发在我看来大部分时间都是给业务做服务的,做支持的,公司都是靠业务才能赚钱的。所以开发人员也要懂业务,特别对那种不是很想一直做开发的来说,懂业务又懂技术也许会给你更多的机会。
最后是软件开发的职业发展,个人的看法是码农能爬上去做架构师和经理的其实很少,基本一个萝卜一个坑,我见到开发能一直做到退休的都是老外,人家基本没有title的,这样的我观察无非两种人。一种是对业务很精通,同时对技术系统又很懂的,公司少不了他。一种是对技术很热情很钻研,能力很强,又不想去要什么title的,基本可以挑大梁。我想国内的情况虽然不太一样,不过基本可以借鉴下老外。当然不做开发还有很多可以做,我想说的是开发是可以做一辈子的,就看个人的想法了。这个问题我自己也一直在想,目前只有一条模糊的路,也得摸石头过。
 以上是作为一个经验尚浅的码农对工作五年的反思,基本是想到什么就写什么,思路有点乱,敬请谅解。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vigorvigor

铁虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
以赚钱为目标是对还是错呢
4楼2013-06-03 13:36:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

wright7878

木虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
其实做什么都是这样,只懂自己的那一点点是不行的,当老师要把课上好,真正的功夫在这门课外,想把科研搞好,并不需要你有多聪明,需要的是坚持和高瞻远瞩的目光。
5楼2013-06-03 14:18:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晏铃520

铜虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我甚是赞同,我是嵌入式专业的,也快毕业了,能看到这些有点感触啊。
Iwillchangemylifejustforyou.
7楼2013-06-03 15:07:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文俊点点

木虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
太泛泛了。。。框架是基于需求的。。。每个公司用的都不一样。。。都会有适当的修改。。。对于Java,你精通servlet几乎就通了所有框架。。。

还是需要精通于技术,如果开始就关注于业务流程,对于以后的发展会很狭隘。。。不同的公司做不同的内容。。相同的公司也会做不同的内容。。。对于业务的把握。。。关键看需求是否明确。。。个人的经验和理解能力。

自己可以尝试对一款产品从需求到部署都走完,甚至维护。。。

国内现在做的比较单一。。。没有更多的提升方式。。。40-50岁了。。。和20多岁干一样的活。。。谁要你。。。

搞软件会协作并不断提升自我,才可持续发展。。。

另外。。。努力和坚持不如选好一个公司和方向。。。公司会有计划有步骤的带着你走。。。选好方向让自己有个准心。。。努力和坚持就是在猜自己的耐心和底线。。。不靠谱。。。
这是你所拥有的时间·····这是你所能改变的生活·········
9楼2013-06-03 16:10:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见