职业发展“阴谋”论
曾经为个人职业发展苦恼过,不愿意做救火队员,哪里需要哪里上,希望持续地、系统地发展个人能力,随着工作经验地增长,能够对大型系统的设计、开发过程有足够的认识,有能力主持软件项目开发。可惜往往事与愿违,哪能咱想做啥就做啥,那还要老板做什么?!
经过一段时间的交流沟通,一个小小的“阴谋”浮出水面,说服老板也许并不像想象中那么难。
首先,切忌刚刚有了模糊的想法就向老板去争取,不要告诉他(或她),都曝光了还能算阴谋吗?老板希望看到的是切实可行的解决方案,不要指望老板能够比你更加了解你的想法,更不要指望老板能帮你透彻地分析你的技术构想。这不是老板的工作。
很多时候,想法来源于困扰。系统的某个部分设计得异常蹩脚,开发总是受制于它,终于有一天,你有了一个天才想法,如果这样设计不就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了。
有了这些,应该可以开始我的第一个阴谋了吧:-)
下面就看我能不能沉得住气了。
其它文章: