程序员,你的路好走吗?(六)

原载:http://blog.csdn.net/netcasper/article/details/190004

职业发展“阴谋”论

曾经为个人职业发展苦恼过,不愿意做救火队员,哪里需要哪里上,希望持续地、系统地发展个人能力,随着工作经验地增长,能够对大型系统的设计、开发过程有足够的认识,有能力主持软件项目开发。可惜往往事与愿违,哪能咱想做啥就做啥,那还要老板做什么?!

经过一段时间的交流沟通,一个小小的“阴谋”浮出水面,说服老板也许并不像想象中那么难。

首先,切忌刚刚有了模糊的想法就向老板去争取,不要告诉他(或她),都曝光了还能算阴谋吗?老板希望看到的是切实可行的解决方案,不要指望老板能够比你更加了解你的想法,更不要指望老板能帮你透彻地分析你的技术构想。这不是老板的工作。

很多时候,想法来源于困扰。系统的某个部分设计得异常蹩脚,开发总是受制于它,终于有一天,你有了一个天才想法,如果这样设计不就ok啦!然而,抽象的思考往往忽略现实问题,那就是无处不在的、紧密的耦合。再好的设计,却无法溶入到系统当中,也是白费。

这时,就需要我们多做一些试验。与其说是为了说服老板,不如说是为了自己的将来负责,我们必须对自己努力争取来的机会有充分的信心,而不应该将其当成一场赌博。因为那关乎我们的声誉,而声誉又能为我们争取到更多更大机会。

从某种程度上说,试验的结果并不重要,重要的是我们在这个过程中学到了“什么是可以做的,什么是不能做的,或者是暂时无法做到的”。我们对整个系统有了更深刻的认识,这时可以把试验的过程、结果与大家分享,一方面可以避免重复劳动,更可以群策群力寻求突破。如果试验的结果是正面的,就可以向老板提出实施该方案。不过,技术上的可行性只是老板批准的必要条件,还要考虑投入产出是否合理,以及任务的优先级等等。所以能够如愿以偿还是要靠一点运气啊。

当然这些都是后话,重要的还是“阴谋”的实施过程。要沉得住气,尽可能做得详细周密些,当阴谋曝光时设计应该实现的差不多了,可以留一些琐碎的、打扫战场一类的工作,但设计涉及到的主要方面一定要尽可能地挖掘。还要注意时间分配,别让老板觉得你成天不干正事也不知道在瞎搞些什么。一天做一点点,细水常流,这是我从一个同事那里学到的。要善于利用开发工具,所有的试验都是我们的宝贵财富,不能像狗熊掰玉米,掰一个丢一个,要学会搜集、整理、归类。

当我有了这些想法之后,就开始着手搭建自己的开发环境。阴谋嘛,总不能用公司的cvs server和tracker。在自己的工作机上装了fedora 2,然后搭建cvs server,ext的连接方式。不过每次输入密码很烦(连cvs diff一下都要输入密码),就尝试了SSH的RSA认证,通过应用ssh-agent和ssh-add,只需要输入一次passphrase(不是密码)就够了。然后又装了cppunit和bugzilla,bugzilla又需要apache、postfix和MySQL。我一一把它们装好,可是费了不少劲,很多时候设置失败都是因为权限问题,毕竟咱不是土生土长的Linux developer,只算有点业余爱好而已。另外,我喜欢用Emacs的diary做一些日常的记录,于是把diary文件也import到cvs server上,这样就可以在几台机器上共享一个diary了。

有了这些,应该可以开始我的第一个阴谋了吧:-)

下面就看我能不能沉得住气了。

程序员,你的路好走吗?(五)

原载:http://blog.csdn.net/netcasper/article/details/174144

当工作成为一种负担

最近读到一篇文章——《目标管理,从谁的目标着手?》(哈佛商业评论2004年第10期),其中一段是这样的,“公司有公司的考虑,而且公司认为员工必定有兴趣完成公司的事而不是自己的事。实际上这是不可能的。每个人的工作目标总是要满足自己的心理需求。如果有人不这样认为,而认为这种内心的强大力量可以完全不予理会或者可以长期用钱打发掉,他便是在自欺欺人。”(P132-133)

不知从哪天开始,对工作感到厌倦。其实也不是不想工作就想成天待在家里,而是厌倦了一直从事调试信息相关的工作。当初一起做调试信息的几个同事由于各种原因离开了,只剩我一个人撑在这里。刚开始的时候还是很有激情的,觉得编译、调试都是很神奇的东西。一年半过去了,该知道的都知道了,不知道的一时半会也知道不了,从抽象的角度来说,对调试已经没有神秘感了。剩下的就是实现的问题了。最初的框架搭得并不好,不够抽象,正好其他人也走了,就我一人,自己说了算,于是把原来的框架推倒重来,顺便锻炼一下自己的设计能力,看看自己对设计模式的理解到底到了什么程度,能不能熟练地运用。忙忙碌碌两个月下来,亲手设计并实现的框架新鲜出炉了,可没兴奋两天就厌倦了,像成天吃肉的人终于有一天受不了了,要吃青菜。我也想换点事情做做。

这也正是让我苦恼的地方。当我在这个领域做出了点成绩,却怎么也跳不出当初选择的跳板了,这种工作算是彻底长在我身上了。有bug要我去fix,有feature要我去实现,根本不做第二人想。其实也并不能说这里面没有什么可做的了,至少,在框架的搭建上仍有很多潜力可挖,我也并不是想以后再也不做这方面的工作了。但我真的很想用两个月的时间做点别的,而且已经有了具体的想法。可是无形中有一种压力,让人不能随心所欲,仿佛我不做调试信息就是不务正业,尽管谁都不会真正说出口。客户需求要满足,还有bug等着fix,任务列表一长串,而且哪个都不能等,都很急!

前两天和老板谈了自己的感受和想法,老板表示理解,但也希望我能先把项目急需的事情做好,让手头上的工作告一个段落,再想其它的也不迟。从敬业的角度来说,老板这么说一点都不算过份,就算老板不说,我自己也是这么打算的,毕竟拿人钱财替人消灾。但从感情的角度来说,我真的受够了,现在是身在曹营心在汉,静不下心来做手头的工作,老是想着另外的事情该怎么做。我相信,真要是让我先去做别的事情,等回过头来再做调试信息,我会像当初一样拥有激情。

当然,抱怨是没有用的,一方面把手头的事做好,另一方面也要积极去争取自己想做的事情,一时做不了可以等等,可以利用这段时间再多想想,准备地更充分一点,如果将来能够顺利完成的话,也能为下次提出类似要求增加得到批准的砝码。

最后再引用这篇文章里最触动我的一段,抒发郁闷。“而这些年轻人关心的是:我和我自己的需求怎么办?谁会倾听?管理层会为我提供多大的帮助,让我在实现管理层目标的同时也满足我的个人需求?”(P134)