五千年(敝帚自珍)

主题:【求助】请教各位前辈,IT男如何发展 -- 呆猴莫叫

共:💬7 🌺19
全看树展主题 · 分页首页 上页
/ 1
下页 末页
家园 【求助】请教各位前辈,IT男如何发展

发现河里IT男不少,但是都特牛x。我只是一个小程序员,每个月大概2K多RMB,只是移植嵌入式的linux到目标板上,另外解些BUG,有时候也写一些应用。感觉水平一直一来也没什么进步,以后能不能养得起孩子还是个问题,程序员能不能来说一下自己的奋斗史,好借鉴借鉴。

家园 想来想去如果没机会升职

那就只能跳槽吧,跳不掉就只能去读书。。。

嗯,我是下决心去读书去了。。。。

家园 在一个单位如果觉得没什么可学的,就跳槽。

趁着年轻多跳几次,工资就上去了。

等差不多了,找个愿意呆10来年的单位卧进去。

家园 疑似比萨苏刚从修飞机行当逃出去的时候起点高,努力吧!

昨晚在北京卫视国际频道,“书香北京”节目里又看到萨苏了。

家园 【讨论】一些小经验,供参考

从你的收入来看,且假设你是刚入行不超过3年的新程序员,后续的建议以此为前提哈,假如有其他情况,我们再讨论。

coding其实是个手艺活,所谓手艺活的特点就是从入门一直到熟手的层次,要提升唯一的诀窍就是“无他,唯手熟尔”,具体到开发上,无非就是“多看”,“多写”,“多想”而已。对于3年开发经验以内的程序员来说,“多看”,“多写”其实是驱动自己“多想”的主要途径。

我们一般认为,程序员能力的提升主要体现在以下几个方面:

1、对复杂度处理能力的提升:表现在处理复杂度较高的模块时的设计水平(逻辑清晰程度、模块分解、复用性、可调试性等)、开发水平(主要体现在每千行Bug数,这个与模块本身复杂度有关,不好横向比,但是可以与同类模块做纵向比较)、调试水平(迅速定位问题、较为多样的调试手段);

2、对开发周期控制能力的提升:表现在可以较好的将一个复杂的开发任务分解为可执行的相对独立的一组小的开发任务;可以比较靠谱的评估指定开发任务所需时间,可以在约定的开发周期内高质量的完成开发工作;这部分能力决定了一个程序员是否可以被视为一个工程师,抑或仅仅是一个不靠谱的代码小子。

3、对计算机技术知识水平的提升:表现在对开发所需的技术知识的理解水平的提升,常见的方面包括:算法与数据结构、网络、操作系统、数据库等,这部分的能力往往决定一个程序员可以承载的模块的深度;

4、对所处行业理解的提升:你所参与的产品是如何解决用户问题的?在所在的行业中,哪些因素决定产品和企业的成功?这些因素中,哪些是受研发部门影响的?对这些信息的理解,可能会帮助你发现职业生涯中的关键机会;

这4个方面的优先级是从高到低排列的,可以从这几个方面来审视自己现在阶段最重点要加强的内容。

具体到可执行的做法,这里也有几个小建议,供参考:

1、做好手头的工作:按时高质量的完成手头的开发任务(提升方面1和2);在公司允许的范围尽量多学习前人的代码(方面1和4);努力承接更多更难的模块(1和2);有机会独立负责单一模块的时候,主动对模块的进度和结果负责(2);

2、在业余时间多看书(1、3),抽空参与开源项目。假如有自己感兴趣的技术,在工作中又没有机会实践,可以自己发起一些小的开源项目,多练习多分享;

3、有机会的话,多与公司内其他岗位的同事交流。多听产品、市场、营销的同事们是如何思考的,有助于提升自己的行业理解(4)。

关键词(Tags): #程序员 职业生涯
家园 起点不错

10年前我也是这么起步的,每个人的目标/轨迹都不相同,不管什么情况,记住多学多做,别急着想赚大钱(能力特别好的除外),吃亏的一定不会是自己。

家园 一个前IT男的建议

首先要看你自己对这行是否有兴趣,没有的话,以下的话可以直接忽视。

1.纯粹从技术的角度来说,要有非常认真的态度,不放过任何一个BUG,这个是我第一个项目经理教我的,非常受用,甚至受益至今。

2.继续从技术的角度来说,对测试要很重视,在交给别人测试前,做好自己的测试,这样会给别人可靠地感觉,下次有其他项目,别人会优先考虑到你。

3.还是技术的角度,多看多学多研究同行的优秀代码,可提高自己的编程水平。

4.多看一些项目管理的书,对比一下你自己的项目经理做法,这个对你从技术转向管理有帮助。

全看树展主题 · 分页首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河