人们期望随着年龄的增长和个人条件的限制,你会放弃现实中的一些工作,比如编程。然后转向更高的任务,例如管理团队或融资。在学术界这是真的,“真正的教授”决定细节,只留下“大局”。换句话说,组织适合垂直协作:高层管理人员在平行结构中管理一些(廉价)员工。在研究机构中,资深科学家提出想法,而初级科学家负责实施这些想法。久而久之,资深科学家可能不会做年轻科学家做的事情,但他们会成为融资方面的专家。因此,一个可扩展的模型出现了:高级科学家可以让中级科学家指导初级科学家等等。JorgeCham将这种模式称为Profzi计划,因为一旦资金充足,其表现就异常出色。同行之间的横向协作在这个模型中,资深科学家负责从构思到实施的所有工作。他们喜欢将尽可能多的家务自动化。协作主要是用来获得不同的视角和专业的互补点。这种模式在资金不足的前提下仍然可以很好地运作,但无法适应参与者过多的现象:横向协作关系过于紧密。每个模型支持不同类型的工作。在我看来,垂直协作有利于长期和可预测的工作。而横向协作促进了偶然的情况和“疯狂”的想法。我之所以愿意把宝贵的时间花在编程上,是因为我更赞成横向合作,这也是我老了还在编程的原因。这看起来很不寻常,有些人可能会对此感到疑惑。有些编程很花时间,我一年就花两三个月编程。虽然我的时间很宝贵,有钱也可以把工作外包出去,但我还是愿意自己一个人去做这样浪费精力的事情。为什么?在这里我引用DonaldKnuth的解释:从事更高层次和抽象思维的人常常错误地认为低层次的具体想法相对没有价值,很可能被遗忘。相反,最优秀的计算机科学家需要透彻理解计算机实际运行的基本概念,而计算机科学的本质在于能够同时理解多个抽象层次。但我也有自己的观点:我希望我的工作重要并有所作为。然而,即使是被广泛引用的研究论文也很少有人阅读,因为很少有研究论文具有重大影响。但是,从事与软件相关的工作更容易。例如,Facebook的一个团队最近在我发布的ApacheHive中集成了一个压缩位图索引库:基于Hadoop的数据仓库框架。我在ApacheHive中的压缩位图索引库之一:基于Hadoop框架的数据仓库。但我敢打赌,Facebook团队中没有人花时间阅读我写的关于这个软件的原始论文。一次次的实践经验只是为了让自己更好的理解自己的想法。很多时候,有些想法听起来很有道理,却无法通过实际手段实现。我也经常通过实施我的数学论证来发现错误。我可以将这项工作外包给其他人吗?或许。但结果预计不会很令人满意。随着时间的推移,您会越来越擅长编程并更加熟悉它。几十年来,我一直在磨练自己的专业技能。当您有一天从头开始并在几天内解决一个难题时,这种感觉很棒,尤其是当您知道其他人可能需要数周或数月才能解决该问题时。如果我的论点是正确的,甚至DonaldKnuth也支持它,为什么当我承认我是一名程序员科学家时人们仍然感到惊讶?我想可能大部分人都会拒绝编程这种低级的工作,这一点从《闲人阶级理论》可以得到印证。事实上,我们更倾向于追求名利而不是实用。为了最大限度地提高可信度,了解临时类的含义很重要:您的工作不能有实际用途。因此,担任CEO或政治家比担任护士或厨师带来更多的声望。远离现实世界的科学家更有声望。编程是做工具的活,有闲阶层的人不会喜欢。人们称自己为工程师、分析师或开发人员,但很少称自己为“程序员”,因为这太功利了。所以,并不是每个人都应该学习编程。这是一项耗时的活动。我编程了那么多,花了那么多时间,以至于我无法做很多令人兴奋的事情。老程序员怎么办?之前在《外刊IT评论》上看到一篇文章,讲的是一个55岁的程序员,老了之后的处境,非常难过的感慨。您的职业生涯可能会在您50多岁时成为一个问题。如果你技术好,如果有人录用你,你的头衔很高,或者你是专家,或者你人际关系好,你可能会找到新的职位。否则,你将从贫穷变成无家可归。这是真的。我今年55岁,我的简历让你感觉不错,而10年前我的收入高达100万美元。现在我是个流浪汉。我不是很健康,没有医疗保险,也没有牙医。我能找到的工作都是体力劳动,基本不需要技能,我也做不来。我不希望年轻的程序员以后变成这样,所以我只能给你以下建议:在职场上往上爬,不要停下来。成为某方面的专家——尽管保持足够广泛的技术广度也很重要,这样你就不会被淘汰。建立人际网络。扩大它。分散您的投资。有了工作,就一定要有医疗保险,这方面应该没有问题。如果你失业、没钱、没有医疗保险,那将是一个严重的问题。善待他人。但别傻了。大多数你帮助过的人都不会回报你。未雨绸缪,十有八九的生活是不如意的。程序员的出路在哪里?拥有10年软件行业从业经验,专注于Microsoft.NET技术和项目管理的徐红军,根据自己的现状,总结出3条出路,希望对大家有用。我也是一个程序员,整天coding调试,有时候我会想,哪天我真的写不下去了,或者公司更喜欢用年轻人来做这些东西,因为便宜又精力充沛,那怎么办我愿意?虽然国外有很多老程序员,像我认识的几个德国同事,年纪大了很多,还是个软件工程师,干得有滋有味。他们不在乎名利,一切都是为了利益。但我不一样!国内外环境也不同。经常去网上了解一些程序员的出路。综上,我觉得下面三种比较可行。出路一:向IT培训师转型分析:IT企业在招聘新员工后,一般都需要经过培训才能上岗。这种培训有时会在岗位上进行,由具有丰富实践经验的“老人”负责。想进入IT行业的年轻人必须接受这样的专业培训。如今,IT培训市场蛋糕巨大,利润空间可观,行业发展前景广阔。无论是在IT公司内部转型做培训工作,还是在IT培训机构做老师,都应该有发展空间。这种工作不会有太大的压力,也比较稳定,没有年龄要求。它没有离开这条线。优点:在本行业工作多年,有丰富的编程和项目经验,参与过很多成功案例。多年来积累的行业人脉也可以帮助我们开发企业客户,顺便承担市场拓展的作用。挑战:缺乏培训工作经验。如果你想转型成为一名培训师,你可能需要接受一些专业的培训,以提高你成为一名培训师的能力。Outlet2:向IT营销转型分析:IT不同于其他行业。由于其技术性强,营销人员一般都必须有很强的技术背景和丰富的经验。互联网公司、电子商务公司、软件公司目前需要技术背景的营销人员;此外,电子商务的回潮让传统企业开始重视电子商务营销,也需要有技术背景的营销人员。这种工作工资不低,加上提成应该能拿到比程序员高的工资,而且也比较稳定。优势:技术背景深厚,对各种编程软件和工具有丰富的经验,对IT行业有比较深入的了解,这些都是比较大的优势。挑战:程序员一般很少和人打交道,口才也不是很好,营销工作就是要和人打交道。这可能是最大的挑战,需要彻底改变工作方式,加强沟通技巧和人际交往能力;此外,营销工作会面临销售指标的压力,转型前必须深入考虑这些问题。出路三:向项目管理方向努力分析:如果说前两条出路涉及很多转型要素,那么项目管理可以说是一种更便捷的发展方式。目前,软件项目经理是人才市场最抢手的人才。经验丰富、外语流利的软件项目经理很抢手。在上海市劳动部门最新公布的2005年软件行业薪酬调查中,项目主管的薪酬在同级主管中最高,年薪高达211011元,平均年薪为109414元。最重要的是,一个优秀的项目经理能够长期在这个岗位上工作,并且有进一步晋升到高层的可能。优势:项目管理对于经验丰富、技术过硬、人脉广、能力强、参与过多个软件开发、有一定经验的人来说,无疑是一个很好的发展方向。挑战:可能有一些程序员参与过项目组,很少担任过项目负责人。很多公司招聘项目经理时,需要有带领团队进行项目开发的经验,这是一个劣势。***参加一些项目管理培训课程,自学相关知识,增加过程管理、沟通协调能力,积累资本,逐步走向项目管理岗位。
