从一个女程序员的5年工作总结中学习工作经验

从一个女程序员的5年工作总结中学习工作经验 冬日如期而至,一晃又是一年。

这是我参加工作的第五年,原以为会有一个阶段性的提升。哪想一场金融风暴,萧条至今。这个世道,有一份工作就应谢天谢地了。

我会用流水账般的文字絮叨今年的总结,很长很无聊(技术不多,基本上是工作方法。) 对于怀揣抱负者,这份总结算是反面教材;对于初出茅庐者,我现在的心境是五年来的积累;还请看我刚参加工作时候的那些总结。

去年写完总结领导给让我设计一个数据库。这个数据库在我刚刚参加工作的时候设计过(不是目前这家公司),那个时候由于对需求不了解,数据库设计的可拓展性不强。随着工作时间的增长,对于行业需求了解的增多,如今再让我设计几乎同样的数据库,真是一个弥补遗憾的好机会。

我开始翻看当年的工作涂鸦。(老师说过,好脑子不如烂笔头子。从工作第一日起,每日作了什么,遇到什么困难,解决方案,新想法都会随手写下来。跳槽的时候也带着这些笔记本。)笔记本中记录着我当年的青涩。那个时候想不明白的问题现在基本上都想通了,那个时候觉得拧巴的设计现在也能调整过来。那个时候的笔记本上还是中文满篇,而现在的工作笔记中已经很少出现中文了。也许积累就是这样,不知不觉间改变着我的习惯。

这个数据库设计到一个阶段我就被分配了新任务,至今还没有机会做进一步的完善。 被调走的原因来自年初的一次多部门会议。那个会议主要是看看一年来产品的进展,各个部门参与意见评选一下产品中的销售点,调整销售计划。去年我开发了一个功能组件,功能挺强大,但操作起来不是那么直接。当时领导跟我们说如果对于自己开发的东西需要补充说明可以在会前交给他。于是我就这个组件做了一份详细的PPT,重新整理了逻辑流程,每个步骤都配有截图和详解。后来这个组件成为新销售计划中的最主要的推销点。

大老板开始重视这个功能后,就针对如何完善它集思广益。作为开发者我也成了与会成员。开这个会挺折磨人的,几个部门从不同的出发点对我做的东西提意见,本来还挺满意的作品一时间千疮百孔,有些细节是我完全想不到的。比如我用了纯红和纯绿来作为指示色,没有考虑到红绿色盲。

每次开完会我都会在当天整理一份记录发给与会者(总觉得这种自由发挥的会议大家噼里啪啦说了一通想法,等过几个礼拜我调整了代码后这些人又忘了当初的要求。不如白纸黑字记录下来有迹可查).这段时间我的工作大概就是开会,然后根据需求快速调整,再开会。通过几次这样的会议,原来的功能模块已经被拓展成一个功能更强大,便于操作的小型产品。结果是喜人的,但对与我来说意味着数据结构的大调整,说白了就是得重写。现在看来,这个过程是锻炼人的,不同角度出发的需求,对于用户使用细节的强调,一些专门为了演示开发的抓人眼球的功能等等。

接下来售前要开始对客户演示了。我们的售前外号“抓狂A”,每次演示前稍有不对就来找我们开发部。他已经让好几个同事都跟着抓狂过,这次轮到我了。即便我给他最详细的使用说明,一旦遇到问题”抓狂A”还是第一个就来找我。对于这样的人我没什么好办法,只能”候”着,

随传随到,他加班我也跟着耗着。但是每一次问题解决后,我都会写一封邮件给”抓狂A”和我经理,说明他遇到的情况和解决方法,哪怕最愚蠢的问题也是。我怕我跟着耗了这么多精力,到时候他到客户前掉链子转头就让我背黑锅。我把”抓狂A”培训出来后也附带着发了一份基于某组件的FAQ给各相关人士。

第一季度效益实在不好,公司开始裁员。裁员大概经历了一个月,那段时间真是折磨人。我算是低空飞过,侥幸保留下来(估计是我听话又便宜)。

裁员带来的结果就是要每个留下来的人要做更多的事。我被借调到另一个组工作一段时间。对于这几周我称之为”人生体验”。我在这个组不是开发而是数据处理,用到工具(近似汇编的一种东东),逻辑都不同。这个组是八卦的组,有故事的组,和谐的组。组长N姐,女同性恋者;组员J,基督徒,残疾人;组员Z,穆斯林;对我交接工作的M,变性人。M对于公司的感情非同一般,因为我们所有人陪着这他走过从他到她的人生最艰难的时期。如今被裁感情上很难接受,工作交接的磕磕绊绊。面对她的不配合,我不知所措,还好其他组员非常配合,旁敲侧击的诱导M。另外我处在新环境,不太知道如何和这些背景迥异的人相处,安静了不少。慢慢熟悉后才感觉好些。每次转组的前一天我都会发邮件给各个组员,希望J和Z能够抽出一点点时间在我转组前碰个面,更新一下情况。邮件中我还要询问一下需要的数据,文件准备的程度。我不希望转组后不能马上开展工作而影响工程进度。目前看来和这个组合作融洽,整体工作效率比之前M在的的时候提高了许多。

大概从8月初我就没有进行系统的开发,因为系统进入了升级后的稳定阶段。我就是改bug,和帮助测试。这个过程很烦,看很多别人的代码,改了bug后还要考虑是不是有影响到别的地方。测试也是,遇到某个人发回的bug的测试全部都不通过的时候挺郁闷的。这些给我带来的收获就是对于整个产品有了更全面更深入的了解。

总结一下今年

技术上没有特别大的进步,能胜任目前的工作

业务上随着时间的深入,了解得更多了。但是行业需求也会随着时间而变化。总之业务无止境。

经过裁员,更加理性的分析自己对于企业的价值。这个价值中技术仅仅占一部分,还是对于企业有用的技术。其他的价值诸如协作阿,按时提交任务阿,bug率阿这些细节的部分占的比重非常高。

需要提高的部分,英文写作部分,这是我的弱点。写个报告吭哧吭哧的可费劲了。

八小时之外

今年似乎没干什么,我妈说我的博客除了吃就是玩。我还没去远方旅行过,这个愿望留在冬

多啰嗦两句

工作前三年拼得是踏实,踏实才能学东西,才能在锋芒最劲的时候避开人事争端。工作五年后拼得是激情,对于熟悉的工作如何才能精益求精,如何让自己增值。这个问题我也挺迷惑的,因为我是懒人。

多和领导沟通,表达自己的看法,也聆听领导的需求。只有多沟通才能配合的更好

最后还是那句话

低头做事,抬头做人

过幸福的小日子:)

 

第二篇:五年程序员的学习观

五年程序员的学习观

去年写了一篇文章《一个工作3~4年程序员的年度学习计划》,里面列出了一些计划阅读的书目。一年过去了,进度很一般。不过也许这个计划本身就有问题。

今天看了李开复发的一篇微博,很有感慨:

“天下古今之庸人,皆以一惰字致败。天下古今之才人,皆以一傲字致败。 -- 曾国藩”

我是一个庸人,去年浪费了很多的时间,今年要更加努力的学习了。

回到今天的正题。去年以及前些时候为了我的学习计划倒是收集了很多书目,同时我也负责我们研发部门买书,所以买了很多非常好的书,今天和大家分享。

1、C语言提升

《c和指针》

《c缺陷和陷阱》

《c专家编程》

这三本书我在很多的文章中都提过,是一个初级C程序员必看的三本书,同时也是我们公司应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习。

3、设计类

《代码大全》:这是我非常喜欢的一本书,非常适合工作2~3年的人精读。我在一篇文章中专门做过推荐。

《重构-改善既有代码的设计》

《代码整洁之道》

《实现模式》

《程序员应该知道的97件事》

这几本书一般讲的是函数以及更低层次的设计。《代码大全》完完整整的读完过,而且做了很多的笔记,获益良多。《重构》就不必说了,其他几本书前面大致看了一下,也非常不错,计划有时间要好好学习一下。

4、架构

《软件体系结构的艺术》

《领域驱动设计:软件核心复杂性应对之道》

《软件架构师应该知道的97件事》

《企业应用架构模式》

《面向模式的软件体系结构卷1:模式系统》

《软件架构设计》

《架构师需要知道的97件事》

我对这一块比较陌生,这也是我今年的学习重点。《软件架构设计》这本书我从头到尾读过,对软件架构也只是建立了一个整体的印象。后面这一块的学习我会和模式的学习结合起来。首先的学习目标是《面向模式的软件体系结构卷1》,之后是《分析模式》《企业应用架构模式》《领域驱动设计》。

5、敏捷开发

《测试驱动开发》

《敏捷软件开发——原则、模式与实践》

《Scrum敏捷项目管理》

《硝烟中的Scrum和XP——我们如何实施Scrum》

《敏捷软件开发》这本书我学习了“原则”这部分,对敏捷软件开发有一个大致的了解。其

他的书籍对我更像一个参考书。目前还无法安排出大量时间系统学习。

6、模式

《Java与模式(含盘)》

《实现模式》

《企业应用架构模式》

《分析模式 可复用的对象模型》

《反模式:危机中软件、架构和项目的重构》

《设计模式》

《面向模式的软件体系结构卷1:模式系统》

上面讲架构的时候说过,模式的学习要和架构结合起来。当然,这是说的更高层次:架构的模式。《实现模式》是面向函数的,《设计模式》是面向对象体系的。《设计模式》我从头到尾看过,但是还需要在看一遍,当时读的时候经验有限,理解的不是很透彻。现在看肯定会有新的收获。

7、思想类

《变革中的思索——张亚勤解码创新》

《技术领导之路——全面解决问题的途径》

《创新赢天下:九大商界领袖谈创新》

《软件随想录:程序员部落酋长Joel谈软件》:这本书里面的文章都非常不错。

《华为研发》:把它放在这里似乎有些不妥。

《黑客与画家》

《UNIX编程艺术》

《代码之道》

这些书可以锻炼一下思想力。我比较喜欢的是《软件随想录》和《代码之道》,比较期待的是《黑客与画家》。

8、??之美系列

《团队之美》

《架构之美》

《代码之美》

这三本书都是选择一个主题,然后找一些世界级专家来按照这个主题写一篇文章,所以这几本书的系统性不强(但并不代表书不好)。可以把它放在手边,有时间就读一章,和大师对对话。

10、linux

《深入理解LINUX内核》

《深入Linux内核架构》

《Linux内核设计与实现》

《链接器和加载器》

《Linux高级程序设计》

《ARM嵌入式系统开发:软件设计与优化》

这些书大多是我的一些参考书,《UNIX编程艺术》除外,它是一本很特别的书,值得好好阅读一下。

另外,我一直想抽时间研究一下linux内核。

11、管理类

《卓有成效的管理者(典藏版)》

《管理的实践(珍藏版)》

《高效程序员的45个习惯:敏捷开发修炼之道》

《卓有成效的管理者(典藏版)》这本书我从头到尾读过,也做过笔记,这是一本非常好的书。

12、算法

《算法导论》

《编程珠玑》

这可以说是我的软肋。第一本书看不懂,第二本书还没有看。要努力啊。

上面的分类是我大致的划分,可能不够科学。但是用来组织我的书单应该绰绰有余。

另外,上面的书,有很多内容可能会重复,这需要读的时候自己根据具体情况取舍了。也可能有些书买不到,不过应该可以找到电子书。

最后,说一下我对读书的一些看法:

<!--[if !supportLists]-->1、 <!--[endif]-->有些书必须要精读,而精读的时候,必须要做笔记。

<!--[if !supportLists]-->2、 <!--[endif]-->选择读书的时机也很重要,如果你没有一定的实践和基础,读一些书可能是一件非常痛苦的事情。这个时候,要停下了。如果你对某方面的知识有非常强烈的渴望或需求,这个时候是最好的时机。

<!--[if !supportLists]-->3、 <!--[endif]-->开发实践过程中的学习效果最好。

4、 专注。分为两个层面。第一个层面是要在一个大段的时间(比如90分钟)内专注,这样可以提高学习工作效率;第二个层面是长期的专注,及在一个长的时期内(比如,一个季度,一年)要专注于某一领域,这样才能才能在某一领域内有积累和突破,不至于沦落为事事皆知但事事不精的泛泛之辈。我目前专注学习的是c++,之后是模式与架构。

5、在专注的基础上扩大自己的知识面,要了解当前IT技术正在发生哪些变化。

要做个“T”型IT人:既有深度,又有广度。

相关推荐