当我在写这篇文章的时候,有程序员正在开发第一个能使他们成为百万富翁的项目。很不错,这样的财富足够让他支撑一个小的公司,并激励他开创下一个项目。与此同时,另外一些程序员正在谷歌Play商店或苹果应用商店或其它网站上发布他们具有革命性的应用或游戏。前景光明,道理曲折。可能就改变了自己的人生。也许只是一个挣钱的小玩意,也许就一炮走红,影响到所有人的生 活。不单单看这些新的软件革新能简化我们的生活,从这些创造者的角度看,对于创作出的这些东西人,人们会说“谢谢你的创造!!”或“你让我们节省了很多时 间!”。
中场开球了
可程序员需要有个起点。他需要以辛苦的方式学习解决各种容易被忽略的问题的方法。大多数情况是,他们将在能给他们一定报酬的第一个公司里学习这 些东西。这样他们就开始了作为程序员的职业生涯。依我的个人经验,这是一条漫长的道理。我看到过大量的代码,也提交过大量的代码(只有很少的部分放到了远程VCS上)。我觉得需要去分享我的这些经验。不是想从某些人身上得到什么或在其他程序员面前炫耀。很简单,我怀念那些最初作为初学者的日子。曲折且急躁。
这听起来有点是陈词滥调老生常谈,但我必须要再谈一回。在家中的软件开发和在公司里的软件开发是完全的两码事。当程序员进入到企业环境中,他直 接的就被丢到了油锅里,煎板上。如果不是从煎板上跳出去而是历练,那他很有可能在以后经历的一些事情中存活下来。问题是以后会遇到什么?为什么大部分的程 序员宁愿接受这些不值得的待遇?这不仅仅因为他们是程序员,更因为他们是人,如果进一步研究,我们在第一次坐在工位上时就要明白,就在墙的后面,很有可能 是一帮患有金钱饥饿症的人正虎视眈眈的看着你,你是他们的资源(或人才)。这里面没有多少的爱心(ok,不属于这种情感)。这听起来很负面,有点过分。这 把所有的经理、老板、管理人员都放到了一个篮子里。当然,我相信确实有非常和善、很有爱心的老板,我也知道在我工作过的5个公司中只有一个在性格上表现的 还算通情达理,在我生病时,或需求去银行处理一些私事事,或骑自行车出事故时,只有他的表现让我舒服一些。当然会有一些好的和善的老板是值得受到我的尊敬 的,但事情还有另外一面。
了解它
不知道你的老板是否知道这个事实,但你要知道。他们做错了。你要对此保持沉默吗?你去工作,看见他犯的这些错误,你领你的薪水,做你的事,回 家,吃饭,睡觉,一直跟这样的肿瘤生活在一起,直到有一天发现你的事业全被它给吞噬了。是的,不要这样。直接去告诉他他的问题。他们也许不认可,但很有可 能的是,他会改变对昨天谈话时还很沉默、服从的这个员工的看法。你需要有人这样在意你吗?从个人的观点,我不能对此不在乎。为什么?因为在多年之后当你从 职位上辞退了,很大的可能性是没有人还能记着你。也许是个痛苦的事,但这是事实。如果你没有发明出这互联网上下一个传奇,或组装出人们从未见过的安卓平板 电脑,你两天内就会被人遗忘。没有人会在意你。
诚实的对待你在工作环境中看到的错误、问题,这是很重要的事,你应该随时跟你的老板说出这些问题。这不仅仅是关系老板个人的问题,而是一个对整 个公司有益的事情。公司会为此而受益,你也同样,更重要的是,这是共赢。人就应该一直指出他人犯的错误。不是为了拿他们取笑,而是为了要告诉他们犯的错 误。如果按你的方式来做这太阳系中最温顺的程序员,那公司糟糕的经营策略,糟糕的行动实施就会出现在你面前,还有糟糕的项目管理和掺水的牛奶。在公众场合 说出你的观点,这是能改变这些最好的方式。它比你在空闲时间发牢骚或什么事都不做要强的多。(敲锣打鼓的跳到桌面上批评问题也不是我推荐的。)
当我作为C++程序员开发我的第一个大型项目时,(这是一个多平台的桌面应用程序,我作为新手的参与的第一个比较正式的项目,)我发现领导项目 的经理总是不重视其它开发人员(除了资深程序员)的建议。为什么这样,我不知道,但我不会保持沉默。我试图在会议上提出这个问题,我公开的说出这个问题, 我认为这是项目中让人担忧的事。我并不是一定正确,但是,随着时间的流逝,事实证明,很多时候我做对了。经验少的人说的事情很难获得资深的管理者的重视。 永远重视每个人的建议,就像是你希望你的观点被别人重视一样。如果你在项目中有什么见解,或关于项目计划,或关于项目管理,说出来,即使可能不被采纳。毕 竟,你的专业决策能力是在做一些让公司受益的决策中锻炼出来的。
惩罚
惩罚会创造世界末日。
惩罚产生恼怒,恼怒转变成怨恨。为什么你喜欢让员工不满?不知道。可是我认为你应该让你的员工高高兴兴才是。因为他们是你的产品链上的最重要的一环。请让你的骆驼在沙漠中有水喝。
在我上面提到的那家公司工作的时候,有一次我被老板叫到办公室,他要我删除微博上关于其他公司招人的消息。我被警告说,如果不这样做会被停职, 甚至以在网上毁坏公司声誉的理由解雇我。几周后我辞职了。为什么?因为我受够了他们无视我的存在,受够了他们高高在上的那副嘴脸,受够了他们解决问题的方 式。
永远不要用惩罚来迫使人们去正确的做工作。管理者应该和员工沟通,而不是作出一些让员工觉得在集体中不受重视的愚蠢举动。当然,我并不是说程序员或其他人员不会犯错误。但我们是高级动物,我相信会有更多文明社会方式解决类似这样的问题。