从程序员到技术领导者
入行
你为什么要当程序员?每当我问起很多人入行的人,回答各不相同。
有很多人是因为喜欢。谁说过:热爱是最好的老师。当然,关键是热爱是否能支撑自己把爱好做成一份职业。但不论做多久,因为热爱或曾经热爱,这个理由就足够了。你不能希望撒一粒种子,都变成参天大树。所以,对进来和离开的人,我们都应该鼓励。
新入行的人,建议他们用1-2年来适应、评估程序员的生活状态。不论满怀希望还是充满失落,这些时间都不会浪费。在如今信息时代,曾经的经历,都会使有这方面经历的人拥有独特的眼光,很容易在其他领域内,引入新的思考。
进入软件行业,还是其他行业,其实,对一个新人来说,最重要的东西不是行业本身。而是,你自己得明白:你是什么样的人?你喜欢做什么?你希望做什么?你希望成为什么?你希望现在如何?你希望几年后又是怎么样?最关键的还有:你现在能做什么?
当然,你不可能凭空乱想,如果你自己都觉得目标遥远,那就仔细倾听内心的感受。你随时得问自己:我到底要什么?
有一定的方向感,就可以上路了,不必患得患失。
技能
作为立身之本,绝大多数的程序员首先关注的是编程知识、技能。他们大多容易忽视自己在从小到大的学习中,已经发展出来的能力:学习的能力、沟通的能力。这些能力虽然并不能马上换来高薪,但是,却对一个人后来的发展,有长远的影响。
程序员的工作,编码只是一个技能的部分,这种把知识转化为成果的技能非常重要。一个优秀的程序员所产生的绩效,是一般的程序员的几倍和几十倍。对一个软件公司而言,好的程序员仍然是公司的核心资产。
新入行的程序员都应该首先把精力都集中在技能的提高上。随着技能的提高,工作能力的增强,自信也会提高。
但是,不要光埋头干活,不抬头看路。如果你在一个不太正规的公司,你所做的东西和接触到东西,不太规范、有效的话,你可能在这个行业做了很多年,都算不上入行,就是说专业的起点太低。即使你有足够的时间学习,但是由于没有实践的平台,你要走的弯路就太多了。这样,你需要仔细的评估自己的选择了。
程序员普遍都有一种激情:希望自己做的产品,能为成千上万的用户使用。这种职业的自豪感,激励着每一个程序员的创造力和想象力。
即使程序员的工作能为你带来很好的收入,但你对自己所做的东西,毫无成就感,或者跟你的价值取向冲突的话,我想,你也应该考虑重新选择自己的职业生涯。
我认为,程序员的自律性都是比较高的。他们大多数人都热爱自己的工作,自己学习专业知识,努力提高工作技能。
除了对专业知识的把握以外,程序员还应该拓展自己的视野,程序员要学习关注自己的生存环境,随时审视未来的发展空间,选择自己的发展道路。仍然要问:我要什么?我要到哪里去?
总的说来,程序员生存的空间比较直接、单纯。程序员普遍不喜欢工作时受人打扰,这一切都在情理之中。
技术管理者
技术管理者和程序员,他们服务的对象和工作方式完全不同。
程序员是大我,主要是完成任务,所有的事情主要靠自己完成,目标就是完成技术思考和转化。
技术管理者是小我,服务的对象是团队,目标是组织和连接流程。用俗话说,就是要当“万金油”。
技术管理者,不论是项目经理,还是技术总监,首先要会选人和用人。要完成什么样的任务,选什么样的人,是领导的基本功。
技术管理者跟程序员最大的不同在于知道在有限资源的情况下,如何做出最合理的选择,不一定是最好的选择。领导者知道,用人用其长,而不会去苛求每个人都达到完美。
程序员可以谈论品味,像艺术家一样看待工作;而技术管理者谈论效果,是现实主义者。好的技术管理者,能在长期的理想和现实的结果中找到一个好的平衡。
技术管理者,关心的是外部目标、内部人员绩效和激励、质量控制、产品服务等一系列的活动,监督、评估并推进项目或产品的流程,直到产生一个可以交付的外部结果。
技术管理者的工作重心在人,在团队。他的绩效是通过组织和团队的绩效体现出来的。
从程序员到技术管理者
中国有句古话:劳心者治人,劳力者治于人。很多时候容易理解为:程序员劳力,技术管理者劳心。这种想法最容易造成程序员内心的不平衡。我想,现在的知识社会,大多既要劳心,又要劳力。只劳心,不劳力的人,有知识,没有执行和转换能力,这样的人,很难驾驭和管理真正的技术团队;只劳力,不劳心的人,不会提高自己的竞争力,自己也不会满意。
做程序员,还是技术管理者,这只是分工不同,并没有高低贵贱之分。可以看见,由于程序员和技术管理者定位和服务对象的不同,他们的知识结构的要求也有所不同。程序员看起来更技术化,便于评估,比较深入,技术管理者看起来更行政化,似乎表面,宽泛化,但都需要专业的素养和才干。
程序员也可以成为好的技术管理者,但需要积累和调整自己的知识结构和心态:要能勇敢地获取外部的力量。因为管理者的目标并不意味着他有多大的能力,而是他的团队有没有能力,有没有成效。那种认为管理者不劳而获的想法,是一种偏见。大家职责不同,责任不同。
一个优秀的技术人才,一定要选择一个优秀的团队。一个好的技术管理者,也要充分发挥技术人才的优势,这样,只有团队的力量,才可以把自己的才能成百上千地放大。
从外部来看待成长
从程序员到技术管理者,是一个众说纷纭的话题。但是,这不应该是一个非此即彼,孰优孰劣的问题。我更愿意看成是一个组织环境中,不同环节上不同的位置和选择,跟定位和特长有关。站在组织的观点来看,在一个团队的内部,是没有绩效可言的。只有团队,对外产生了价值,个人才有价值。
或许并不是所有的人都能接受这一点。
所以,当你问自己得到了什么的时候?你也应该问自己奉献了什么?什么是应该体现你的报酬?你的报酬是否体现了你的责任和承担的风险?
很多时候,不是你是否值多少钱的问题,而是在一个商业的环境中,没有贡献,就没有价值。
一个人要客观地看待自己,不论是程序员还是管理者,都不要不可一世或忘自菲薄。天生我才必有用。一个人的成长,应该从外部的趋势和影响,来学习、选择和发展。把更多时间和精力,放在建立自己的核心竞争力,找到自己事业的伙伴上。
请勇往直前,不要患得患失,不要怨天尤人,命运就掌握在自己的手中!
幸福和健康
没有任何正当的理由,让人用幸福和健康来交换所谓的前途。永远牢记:身体是革命的本钱。
转自疯狂软件