http://www.nowamagic.net/librarys/news/detail/1400从 11 岁开始一个已经十分明确的事情就是,我要成为一名程序员。那一年我有了一台 Commodore 64 机器,开始在上面编写 BASIC 程序。我十分喜好编程,以致于不久以后用于编程的时间就超过了玩游戏的时间。编程中有一种美妙和纯粹的东西是现实生活中任何事情都不能替代的。即便要面对 bug,时间限制和失败沮丧,编程仍然是美妙的。程序员
我考入工程学院取得了计算机学位,以后几年又在本地的卑尔根大学里对计算机课程进行了深刻的理解。因而我开始讨厌作一名学生,去找了一份工做。web
在个人职业道路上,大部分时间我都是做为一名程序员。头两年在一个 web 设计公司里是一个纯技术员,作包括在服务端开发他们的发布系统(用 Perl 语言)和客户支持等全部事情。编程
以后我就和几个朋友一块儿注册了一个公司,开发一个大型多人在线游戏。咱们花了 9 年时间开发了 Darkfall ,在汗水中学到了从无到有开发出一个大型游戏意味着什么。那是玩命的苦干,但我学到了不少。安全
4 年前我开始以顾问的身份加入本地一家至关大的顾问公司,就在去年,我找到机会,和一些好朋友和同事开办了一个新的 IT 顾问公司( Sonat Consulting AS )架构
那如今的状况?我将要进入个人下一个 40 年。我在思考目前为止完成了什么,以及从如今开始从此的发展方向。学习
大多数的程序员在 30 岁时达到事业的顶峰。这个时候你仍然有动力去学习,积攒了足够的经验能让你对工做上的事情提出直觉上的方案,这是你余下的职业生涯里的安全保障——若是你继续从事这个领域。优化
有些程序员能继续编程到 40 多岁,他们要么是仍有对编程持有热情,要么是有足够自由支配时间来作这些。.net
但从某种程度上看,基本上全部的程序员都会经历顶峰,而后失去动力,开始寻找其它的出路。程序员有哪些能够进一步发展的方向?传统的思惟是程序员能够转向项目经理或架构师。我相信还有第三条路能让你得到最佳的职业发展。设计
这第三条路就是培养 BPI(Business process improvement,流程改进)技能。游戏
做为程序员,你去实现新系统,升级现有系统。这其中的一些工做就须要和业务专家,产品客户和潜在客户打交道。随着经验的增长,你会发现本身发生了变化,你能更轻松的找到更好的解决方案。你会发现了解业务大背景对问题的解决有很大的帮助。
个人建议是眼界放开阔,退后一步看事情全貌。你须要认识到你如今研究的系统只是业务流程中的一部分,一种支持系统。使用 Lean 或 Six Sigma 等 BPI 方法,你能够去分析业务流程,看看是否有方法优化它们,而后开发出能更好跟业务集成的系统。
不少的企业有愿意聘请一个 BPI 专家来对优化和改进他们的生产和整个公司的流程提出建议,而后找一些程序员来开发或提高他们的系统来支持优化后的流程,但不多这两种能合二为一的。
程序员增长 BPI 技能并非一个新的或极端的思想,但这一般不是做为一个职业发展方向的选项。只是你有了这些技能,你的老板或客户会更高兴而已。而个人经验是,咱们应该认识到这是一个可让你赖以生存的职业方向,是各类公司和组织都在寻找的本领。
会编程、懂业务的 IT 顾问对任何一个公司来讲都是煊赫一时的,能获得更高的收入待遇。仅是养成了能从不一样的角度来看一个系统的习惯,这一足以让你成为一个更好的程序员,更不用说是否直接或间接的运用了 BPI 技术。
拥有了 Lean, Kanban, Six Sigma 等方法技巧,加之总体看问题的视角和坚持不懈的改进系统和流程的努力,你就能得到信任和尊重。若是作的正确,你的意见在项目计划会上就会得到高度的关注,你就能在公司的发展变化上得到更大的积极方向的影响力,而不是一个纯的技术人员。
一样,这样的技术力量通常不会被公司外包的,由于这种人才通常是用来监管外包项目。
你也许会想:“为何我要学习这些业务过程方面的技能,我只想遍代码!”这没问题。当我掌握了更多的 BPI 知识时,你编程生涯达到顶峰,而后开始过期落伍,被外包。;-)
英文原文:Maturing as a programmer – How to supercharge your career