第一篇:从编程到管理——程序员的晋升之路(范文模版)
从编程到管理——程序员的晋升之路
与任何职业一样,软件开发工作同样存在着领导者与生产者的划分。具体来讲,我们要么是Steve Jobs,要么是Woz。这是两种完全不同的发展方向,但都足以将大家引导至辉煌的成功。
有才华的工程师常常会把管理技术团队作为职业生涯的下一个发展目标。因此,如果大家正在朝着这一方向进发,那么需要做出哪些转变来促成这项进展?在今天的文章中,我们会探讨一些具备可行性的方法、过程中常见的陷阱以及相关解决方案。
这里提出的第一个问题是,您是否愿意为了迈入管理层而迎接彻底的职业颠覆?您是否属于像Woz那样的技术型人才?了解自己的特性以及希望迈入怎样的管理岗位绝对是最值得大家认真反思的首要议题。
您需要考量自己对工作当中的哪个方面最感兴趣,而哪方面内容是您希望尽可能避免的,”彭博资讯公司基础应用工程技术负责人Adam Wolf指出。如果大家真正偏好的是带领团队中的每位成员共同解决问题,或者构建愿景并引导大家为之不懈努力,那么管理岗位绝对是各位冲击人生新高度的绝 佳机遇。” 全面地考量管理岗位转型
管理工作的起点就在我们当前的位置,或者说现有岗位当中。管理者需要承担更多责任,与团队中的其他成员沟通并让自己成为人们的关注焦点。通过这种方式,大家可能会建立起良好的第一印象,并引导其他成员对我们寄予更多期望,当然具体效果还不只这些。美国太平洋大学临床分析教授Rick Hutley建议称,如果打算在管理岗位上有所作为,大家不妨先看看自己的脸皮有多厚。
证明自己能够在目前的工作职责基础上建立起信任感,这代表着我们可以承担起更多责任。”--Chef公司工程技术副总裁James Casey 问问自己您能否承受得住风险以及批评,”英国电信公司前任CIO、现任思科系统公司创新事务副总裁Hutley表示。坦率地讲,当一位幸福的基层工 作者要比作个痛苦的领导者更好。也就是说,大家要积极迎接更广阔的视野。我们应该有勇气走出舒适的现状,主动承担起更多责任。”
管理他人往往也会带来诸多尴尬的状况,这种别扭的职业生涯也可能会让当事者烦恼不已。优秀的管理者应该受到自身领导他人及理解他人的渴望所驱动--一味批评虽然能够影响他人,但却无法帮我们赢得朋友。
领导地位意味着在某些场合下作出艰难的决定--包括与那些自己曾经的同事发生争执甚至冲突--而且这很可能是一条孤独的职业道路,”Hutley强调称。我们走得越高,遭遇失败的可能性也就越大--特别是在某些人看来。”
西雅图企业级软件供应商Chef公司工程技术副总裁James Casey指出,我们可以传达自身对于担当管理者的渴望--这一点非常重要--同时不失时机地展示自身成为优秀领袖的各种素质。领导与引导是这份素质清单中的核心项目--甚至足以决定一切,”Casey表示。我经常会问自己,'团队中的同事希望我统领这支队伍吗?为什么是? 又为什么不是?'在考虑如何实现晋升的过程中,大家需要首先把当前的工作做好--这表明我们能够以现有职责为基础积累起充分的信任感,这代表着我们可以承 担起更多责任。” 但如果大家此前从未有过管理经验,那么怎样确定自己擅长这方面的工作呢?Hutley就此给出了建议:您是否是那些会着眼于当前任务之外,更多关注 社交影响而非仅仅是工作本身的员工吗?您是否会提出更理想的解决方案,或者挑战存在缺陷的固有成规?其他同事是否会寻求您的想法或者指导?如果答案是肯定 的,那么您就是一位天生的领导者--而其他人也会承认这一点。”
全面地考量管理岗位转型
如果大家希望通过努力工作及对细节的专注来加快自己晋升的步伐,那么传达自己的规划将变得非常重要。向管理层的这步飞跃意味着我们的日常工作将面对全新设计。不过作为第一步,我们首先需要将自己的意图传递给顶头上司。
硅谷行政管理培训师Jennifer Selby Long在过去二十年中一直在帮助软件开发人员走上管理岗位,并指导他们更加高效地统领相关团队。Long表示,出色的工作成果尚不足以发出强烈的信号--我们还需要做得更多、想得更远。而这绝不像表面上看起来那么简单。
寻找规模扩展速度最快的业务,因为这些领域将提供大量机会、帮助各位站出来承担本职工作之外的责任。”
--Lever公司联合创始人兼CEO Sarah Nahm 几乎每一位软件工程师都希望继续自己的软件开发之路,因为除非我们坦率表达自己的愿望,否则顶头上司根本意识不到我们涉足管理工作的意向,”Long指出。积极讨论自己为企业做出更多贡献的愿望,并乐于接受新的挑战,而不能单纯将着眼点放在自己的现有职业发展路线之上。”
业绩审查与其它一对一面谈正是我们表达迈入管理层的最佳时机。而且大家的顶头上司也许正好有能力帮助各位了解需要充实自己的哪些技能储备来实现晋升理想,Chef公司工程技术副总裁Casey解释道。
无论所在企业使用哪种系统来记录大家的职业抱负与发展方向,与顶头上司之间的一对一谈话都是从细节入手探讨晋升目标的最佳时机,”Casey补充 称。如果大家和自己的顶头上司都看好同一条管理职责拓展途径,那么对方将成为我们最大的导师兼敦促者,而这也是实现成功的理想方式。” 除了上述提示之外,如果大家希望从当下开始采取措施,那么这种微妙但又艰难的变化可能会给我们的日常办公流程带来影响。这显然是种个人选择,而且除了Mark Zuckerberg,其他管理者必须得放弃个人购物时间来主持业务例会。我曾经得到过的最好的建议是:'如果你打算拿下某个岗位--首先要让自己看起来像是拥有该岗位的人员,'”Hutley表示。当一家企业打算为某个 职位寻找人选时,他们会首先梳理心理关系网、搜索那些看起来像是能够用途该工作的人员。在招聘广告登出之后才开始行动已然为时太晚,我们需要在此之前就在 行动上表现出自己对该岗位当仁不让的决心。” 而这种微妙的转变--以及让自己脱颖而出的过程--往往会在当前工作环境中引发摩擦。
作为一名管理者,我们的工作当中约有九成的内容是对他人造成影响,而这是一项与逻辑无关的任务。”
--行政管理培训师Jennifer Selby Long 以潜在管理者的形象出现本身可能会产生一些不便。穿着整洁的下装与干净的衬衫显然会让大家在充斥着牛仔裤与运动鞋搭配的办公室里看起来有些格格不 入,”Hutley指出。如果如果始终以基层员工的面貌出现,大家永远无法顺利实现晋升--您必须以自己的方式达成鹤立鸡群的效果,包括言谈与行为。” 尽可能借力于一切因素
当然,大家可以申请MBA学位并通过在线或者在职方式完成相关课业。专业人士指出,公开演讲课程能够帮助我们逐步熟悉预算培训、自我评估,并掌握多样性及包容性的相关内容。但在办公室当中,我们同时拥有大量足以帮助自身向正确方向迈进的机会。
我其实应该以自己没有MBA学位为理由否定上述观点,”彭博资讯公司的Wolf指出。在我看来,我在成为管理者之后通过实践学到了更多,而并非以管 理角色作为着眼点进行系统培训。我确实接受过与管理相关的课程并读过不少书籍,但我发现帮助最大的还是来自同事、管理者以及整个团队的反馈意见,我也通过 审视角色模型并了解其为何能够确切起效而得到了切实助益。”
积极寻找导师,”Hutley表示赞同。所谓导师并不一定非要以正式角度委任--当然,专业导师也很不错。找到能够与自己产生共鸣的领导者--从对 方身上学习自己欣赏且希望拥有的宝贵品质。接下来,在理解了自己钦佩对方的理由后认真进行观察:他们在面对特定情况时会如何处理,他们如何着装、交流及行 动等等。”
在相关领域获取资质认证也能够表明我们希望晋升的意愿,招聘服务企业HireStrategy公司常务董事Eric Klein指出。而且大家可以通过帮助新人或者大学毕业生的方式展示自己的领导才能。
大家必须适应立足于幕后审视团队当前工作成果的感觉。”--彭博资讯公司基础应用工程技术负责人Adam Wolf 当某位同事在开发工作中陷入困境时,不妨从同事的角度帮助其进行代码审查,”Klein指出。除了管理项目与统领团队,指导新人员工与同行也能够证明我们有能力承担起领导任务。” 谷歌公司前Chrome开发团队成员Sarah Nahm给出的建议是,我们应当从目前增长速度最快的业务领域处寻找机会。
工程师应当关注身边的业务发展趋势,”Nahm指出,目前她领导着Lever公司--一家专门帮助企业随业务扩展招聘员工的硅谷企业。寻找规模扩展 速度最快的业务,因为这些领域将提供大量机会、帮助各位站出来承担本职工作之外的责任。以志愿者角色参与到更多面试中来,并在战略决策的制定会议中坐在前 排。如此一来,大家将更为明确地了解到哪些元素会给工程技术组织带来深远影响,同时为未来统领团队并需要雇用更多工程技术人员的情况储备关键性技能。” 作出转变
一位专家指出,管理岗位会给从业者带来大量同样的挑战与不确定因素。他随后补充称,我们绝对不能采取直白的表达方式--否则必然招致被整个团队所疏远的风险。有鉴于此,类比与提醒才是最理想的沟通手段,而这正是作为职业转变的基础性蓝图。
首先,做好准备迎接全面且彻底的职业生涯转变,”行政管理培训师Long表示。在人力方面,我们没有产品规范或者算法可供参考。作为管理者,大家的 工作有九成内容都是在影响他人,而这显然是一项与逻辑无关的任务。另外我们还需要处理带有模糊属性的业务并通过他人产生结果,而这项工作也无法单靠逻辑以 及理由来实现。” 接下来才是真正困难的部分。大家准备好接过控制权,并保证整个团队继续顺利完成既定工作目标了吗?
在技术这个只问'你最近为我做了什么'的残酷行业当中,大家的通行证……就是自己的技能储备。如果失去了这一点,我们的立足根基也将分崩离析。”--WinterWyman公司首席顾问Mark Stagno 只有最糟糕的管理者才会过分施加控制,”Long指出。但这些事必躬亲的领导总以为自己是在做正确的事。您能将自己的全部精力用于指导、支持、点拨以及鼓励他人吗?这种心态是最基本的前提。总之,请确保自己做好了登上这辆过山车的全部心理准备。” 另外,如果团队当中存在着来自原本工作组的同事,您会如何处理与这些同事之间的工作关系?
大家必须保持理想的客观心态,并以坦诚的方式传达令人较难接受的决定,”Hutley指出。如实传达这种负面反馈确实非常困难--而且双方都会因此而饱受折磨,而不仅仅是管理者一方。也就是说,大家用不着刻意回避自己的这些老战友。” 引导团队成员拓展自己的技能,各位专业人士一致指出,同时准备好在遭遇失败时经受应有的教训。再次强调,这些技能--包括高效沟通、增强说服力以及在面对不确定因素时保持冷静--往往并非天生就能具备,不过我们可以通过学习来获取。
领导者要做的就是引导与培训,然后让下属们去自由发挥,”Hutley表示。当事情按既定计划发展时,我们需要及时作出表扬和鼓励;但当情况出错时--我们难免要忙中出错--时表达支持与理解。”
彭博资讯公司的Wolf表示认同,并建议新任管理者能为所统领的团队提供与以往一样的自主发挥权利。
大家不要因为好高骛远而放弃责任,”Wolf指出。大家必须适应立足于幕后审视团队当前工作成果的感觉。我发现将重点放在向团队提出确切相关的问题并敦促其找出正确答案方面能够带来良好的收效。”
另外,不要放弃长久以来推动我们获得领导岗位的固有特质。换言之,被收回职权的最快方式就是遗忘了自己引以为傲的技能储备。
使用主流技术方案能够保证我们在离开一家企业后,迅速在其它业务环境中上手工作,”职业介绍企业WinterWyman公司首席顾问Mark Stagno表示。在技术这个只问'你最近为我做了什么'的残酷行业当中,大家的通行证……就是自己的技能储备。如果失去了这一点,我们的立足根基也将分 崩离析。而且如果情况发生转变--公司处境较为艰难或者工作得不太顺心--如果没有拿得出手的技能亮点,大家将很难找到新工作。” 关于是否继续关注原有专业的争论 我们还认为,成功实现晋升后的工程技术人员不妨偶尔回顾过往,审视将代码构建与部署作为核心工作--而非管理产品、预算与团队--的那段时光。HireStrategy公司的Klein表示,他有时候会听到那些由工程师晋升为管理者的同事抱怨他们错过了大量编程工作。随着技术的不断变化与 发展,管理者们同样需要关注自己的技术性技能,甚至可以将其作为管理技能的一部分纳入提升议程,”Klein指出。我们会提醒指出,当职业生涯走向终点 时,每个人都会找到其中最令自己振奋的部分。单纯从技术入手仍然可以让职业经历变得丰富多彩,而不一定非要执着于踏入管理领域。”
作为一位管理者,大家的职责将较少专注于工作,而更多集中在帮助他人获得成功上。”--Geneca公司首席架构师Michael de Groot 很多工程师都喜欢以独立方式解决问题,软件产品开发商Geneca公司首席架构师Michael de Groot指出,并以自豪的情绪拿出自己的全新解决方案。
作为一位管理者,大家的职责将较少专注于工作,而更多集中在帮助他人获得成功上,”de Groot表示。大家必须处理他人的行为、态度--以及工作偷方面的差异。” 下面来看最后一项与晋升相关的议题。当明星开发人员难于寻觅时,转型当老板也不一定主能带来更好的收益。时至今日,我们已经不可能再像Woz当年那 样环顾身处惠普且忙于制造计算器产品的同事而认定自己找到了值得为之奋斗终生的事业。在如今的市场上,那些能够实现创新的员工都是要开出大价钱的。
高端市场上的工程师其实很少有转型涉足管理岗位的,”WinterWyman公司的Stagno指出。因此在选择新的发展方向之前,请多花点时间认 真考量一番。参考以上各项意见,确定自己拥有转变方向的正当理由--换言之,证明自己确实想成为一位领导者,而不仅仅是希望靠这种方式实现职级晋升。”
原文标题:The programmer's guide to peaking into management 【编辑推荐】
程序员学习编程需要攻克的8个障碍
全球最受欢迎的计算机编程语言
如何在编程生涯中有一个好的开端
我2年学习编程的经验总结
白板编程浅谈——Why, What, How
程序员获取新编程技能必备这些技巧
第二篇:android从程序员到架构师之路介绍
麦可网http:/// 高端android体系化学习
Android:从程序员到架构师之路
Android发展多年的今天,很多工程师都遇到职业发展瓶颈了,不知道如何向上走,因此麦可网携手台湾Android教父高焕堂老师推出了《Android架构师之路》这套国内唯一的课程,通过这套课程学习,学员们会学习高老师提出的EIT架构设计模式,能从普通Android工程师往Android架构设计师这个新的台阶攀登,同时更加熟悉Android本身体系结构设计,也可以换位以Android系统的设计师角度来思考问题。
由于Android是开源开放的平台,国内开发者不仅涉及App应用开发,也深入到底层软硬整合开发。
随着Android产业急速扩大,上下层模块日益增多,复杂性增高。无论是软硬件开发者都需要优越的架构思维、模式和方法,来支撑复杂的软硬整合、跨平台和自动化测试问题。
本课程解析移动应用开发的架构思维、模式和方法;并落实为Android的多层框架体系;所介绍的架构设计决策,都能落实为代码,为一个非常务实的课程。
随着这套课程的推出,麦可网已经有了高级应用,Framework,底层嵌入式,架构师之路等一系列互补系统的Android课程,全面覆盖纵横领域。毫无悬念的麦可网已经具备了国内最强大,系统,专业的Android课程体系。
这套课程的针对人群: Android开发已经有至少两年经验的IT工程师,多年开发经验想深入了解Android这个开源平台的资深工程师,Android项目团队的技术管理者。
我们不建议:不建议Android初学者学习这套课程;不建议没有项目经验者学习这套课程;不建议没有遇到瓶颈者学习这套课程。
有人问:架构课程是否会讲解的很虚? 这套课程有超过2/5 都是案例,结合代码和UML案例来分析各个设计场景,所以大可放心,欢迎点击我们的试听课程。
第三篇:从施工员到项目经理七年晋升之路
从施工员到项目经理七年晋升之路
有工程人曾说:工程类单位(中铁、中建、中交等等)发展轨迹有很多种,要是说单靠搞技术一步一步走上去,那是一个漫长的过程,给你说一种比较理想的情况:
第一年,刚刚本科毕业,作为施工单位的菜鸟也就是学员,属于试用阶段,工资2000元上下,没有任何福利待遇,跟着师傅学习。
第二年,本科毕业一年,学员转为技术员(技术主管),基本工资带补贴,给单位提交报告职称,升为助理工程师。
第三年,一个工地结束,第二个工地开始。升为工程部副部长,担任技术负责工作,工资比技术员多拿几百块。
第四年,担任工程部长,工资上浮一级,基本能拿到6000元/月,主要负责工地整体管理,工程部包括测量班、试验室、技术部,你是总管,最辛苦也是最委屈的。
第五年,担任工程部长兼任副总工,给单位提交论文及助理工程师转工程师论文,主要负责工程部及配合总工程师管理项目技术工作。
第六年,担任总工程师,工资上升为年薪制,月工资基本达到7000元/月,工程技术总负责阶段,处理各种变更及对外协调技术解释工作,配合项目经理管理施工。
第七年,成功由总工程师变身项目经理,工资年薪制,每月工资8000+,主要负责项目总体布控把握及对外协调工作,与甲方要账,劳务队材料商周旋,与各种政府单位沟通确保项目顺利进行。
这是理想状态下的晋升之路,但实际情况下,个人能力除非特别出众并且人际交往能力超强,各种机遇都遇到的情况下才有可能出现这种晋升状态,多数人多半会埋没在人群当中,在技术主管的位置或者工程部长的位置一干就是七八年。不同单位,不同职位,不同人都有差别,机会可以一手掌握,也可能转瞬即逝!
第四篇:java程序员到架构师之路
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类
对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。
2、《Agile Java》中文版
这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。
虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点,我自己也准备有空的时候翻翻这本书,学习学习。
二、Java编程进阶类
打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
1、《重构 改善既有代码的设计》
这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对你产生影响是潜移默化的。
2、《测试驱动开发 by Example》
本书最大特点是很薄,看起来没有什么负担。你可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。
三、Java架构师之路
到这个阶段,你应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是你可能还缺乏对应用软件整体架构的把握,现在就是你迈向架构师的第一步。
1、《Expert One-on-One J2EE Design and Development》
这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。
2、《Expert One-on-One J2EE Development without EJB》
这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。
以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。在我所推荐的这些书籍当中,是我看过的最仔细,最认真的书,我当时读这本书几乎是废寝忘食的一气读完的,有小时候挑灯夜读金庸武侠小说的劲头,书中所讲内容和自己的经验知识一一印证,又被无比精辟的总结出来,读完这本书以后,我有种被打通经脉,功力爆增的感觉。
但是后来我看过一些其他人的评价,似乎阅读体验并没有我那么high,也许是因为每个人的知识积累和经验不同导致的。我那个时候刚好是经验知识积累已经足够丰富,但是还没有系统的整理成型,让这本书一梳理,立刻形成完整的知识体系了。
3、《企业应用架构模式》
Martin的又一本名著,但这本书我只是泛泛的看了一遍,并没有仔细看。这本书似乎更适合做框架的人去看,例如如果你打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,我还是推荐认真看看,会让你知道框架为什么要这样设计,这样你的层次可以晋升到框架设计者的角度去思考问题。Martin的书我向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。
4、《敏捷软件开发原则、模式与实践》
Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。
四、软件开发过程
了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。
2、《解析极限编程 拥抱变化》XP
这是Kent Beck名著的第二版,中英文对照。没什么好说的,必读书籍。
3、《统一软件开发过程》UP
其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得你去读,毕竟在中国真正接受敏捷的企业很少,你还是需要用UP来武装一下自己的,哪怕是披着UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,这本书非常的progmatic,告诉你怎么既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。你可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么你也可以去写书了。
五、软件项目管理
如果你突然被领导提拔为项目经理,而你完全没有项目管理经验,你肯定会心里没底;如果你觉得自己管理项目不善,很想改善你的项目管理能力,那么去考PMP肯定是远水不解近渴的。
1、《快速软件开发》
这也是一本名著。可以这样说,有本书在手,你就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,你只需要稍加变通,找方抓药就行了。
六、总结
在这份推荐阅读书籍的名单中,我没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Spring之类,也没有列举AJAX方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得你去购买和收藏。
第五篇:程序员晋升
作为程序员,你应该知道的职场晋升之路
编者按:职业规划非常重要的一点是要学会角色分析能力。大部分人在长期的工作中趋于麻木,对自己的角色并不清晰。但是,在职者必须让自己有一些过人之处,让自己的价值和成绩得以体现并受到认可。《职场晋升路线图》旨在探寻不同行业的发展规律,为职场人士提供晋升的方法。
程序员篇:做一个程序员很忙,你需要去写代码,去创建meme,去进行测试。那么你为何还要做程序员呢?
1、为了写出优雅的Ruby程序。
2、为了用我喜欢的语言开发出一款人们喜欢的产品。
3、给人们遇到的现实的问题找到解决方案,对于我来说,我喜欢做我所做的。
4、去创造,或去组成能让人们生活更方便的东西或事物。
5、让我创造的东西能产生积极正面的影响,针对我,也针对他人。
6、快乐。我自己,还有那些直接或间接关注我和我的作品的人。
这些问题帮助你明白了自己为何要选择这条道路了吗?那么作为一名程序员,你知道自己未来的发展之路吗? 【一】程序员通常的发展路线是怎样的? 【二】综合才能型发展路线图
【三】初入职场,程序员的上升空间在哪里 【四】总结与提升 【五】职场榜样——雷军:从程序员到金山CEO
【一】程序员通常的发展路线是怎样的?
程序员通常的发展路线是怎样的?可以看看这个图,当一个初步的职业规划方案已经成型时,如果制订者目前已在一个软件公司工作,那么,对他来说进一步的提升非常重要。首先要做的则是进行角色分析,反思一下这个职业环境对个人的要求和期望是什么,如何使自己在单位中脱颖而出。
通常,软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型到技术型销售、技术支持等;随着技术成长,从技术性管理到高级管理。这是大家都看得清楚的方向,也都在向这些方向的金字塔尖努力。
就像烹饪一样,每一个阶段目标都需要你进行角色分析,找出这一角色需要的‘配料’,当你注意收集技术、素养等相关‘配料’后,就会成功烹饪出你所需要的目标鱼。前提是你一定要了解自己的特点和优势,就好比黄瓜种子是不可能培育成西瓜一样。
这归根结底,都是以技术为基础。在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力,又打算专注于技术开发,架构师是个好的选择;如果 性格更适合做管理,情商能力突出,技术型管理应该是下一步的方向。这种发展规划属于‘瘸腿走路’的类型,各有侧重主攻发展的职业方向,也是目前一般程序员 普遍采用的发展路线规划。
决胜点在于长期的点滴积累,认证证书、成绩、丰富的经历是求职的表面文章,在目前软件行业里不是很看中这个,真正的‘内功’是需要规划的。至于培训,我倒 是很建议直接加入软件公司,你就会学到很多实际的东西。不过,学历教育虽然在职业生涯里不是主要的,但是随着职位的提升却有很重要的意义,能辅助拓展你的 职业发展空间,而不是以此为阻碍从而失去更多的机会。
已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是 Java、.NET还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师。尽管架构师的职位可以工作一辈子,待遇也非常好,对于科班出身的程序 员最为适合,但这种工作职位非常有限,因为在中国目前的IT行业,架构师需要的条件比较复杂,而且需求量也比较少,这也是我国软件行业走向国际并有待成熟 的因素之一。
【二】综合才能型发展路线图
目前国内缺乏的是管理能力和专业知识技能并驾齐驱的IT人才。特别是懂得运用目标管理技术的项目管理人才,既掌握核心技术又有全局掌控能力的项目管理人才,非常难找。我建议对于大多数人来说,首先是要专,只有在技术方向上做得比较深入,才能适当做工作调整,把自己转变为某个领域的专家。
根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可能就会走向管理,这和 个人性格与情商有关。软件优秀的管理者都必须懂得技术,掌握核心技能的人才向管理岗位转型有很大的优势,因而提升管理能力成了转型的关键。譬如,当唐骏还 是微软一名普通程序员时,就从公司发展的角度考虑,向老板提议开发了中文版Windows,最终使他从几万名工程师中脱颖而出,成为部门经理。正如他所 说,虽然是程序员,但自己不能只把自己当程序员,你可以为老板和公司着想。
调查研究后,带着解决方案去找老板,就会得到老板的重视和信任,所以一定要增强工作主动性和参与性。无论是软件开发还是项目管理,国内员工大多只是做好份内事或完成交派任务,很少能主动发现问题。其实,只有拥有更高眼界,才能谋取大发展。
总之,程序员要根据本身的基本素质、技术能力选择开发层次,由低到高,逐步发展。也是一名程序员本身具备相应素质的循序渐进的发展轨迹,包括很强的技术背景和综合管理才能等素养,这也就是所谓‘两条腿走路’的职业规划发展路线。
在未来发展上首先确定自己的发展方向和研究方向,在学习技术的同时还要为以后做准备,做好以后的技术转型。广度和深度是相对的,先广还是先深实质上从某种 意义来说取决你的工作性质,如果你是从事单一工作的,多半你会短暂先深,因为这是你立足的根本;而如果你选择的职业是综合性的,比如管理、讲师等,那么你 必然要先有广度才可以,但一段时间后,你都要转入深度,只有你在某一方面或领域有一定的深度后,你才能继续寻求广度,否则,你将什么都会,但什么都不精,这样的人在市场上是最难以立足的。
【三】初入职场,程序员的上升空间在哪里
1、技术上的反思和提高
无论程序员个体之间差异有多大,我认为程序员上升空间在于技术上的反思和提高。程序员到了成熟阶段,往往有一种狂奔到终点后的那种感觉,身体疲乏无力,特别需要休整再战。要知道程序员在“奔跑”的时候,一般是在使用自己的体力,很少用到跑步的技术和技巧。尤其是到最后,更是依靠体力来支撑。从技术提高的曲线来看,新手的技术提高速度最快,无论从时间还是急迫性两个方面对新手的压力挺大的。而到了成熟阶段,其编程时间也大大缩短了和学习技术的迫切性也降低了,所以技术提高速度就慢下来许多。在现实中,我们真的看到有些年轻的程序员还看不起那些程序员的技术水平呢,就是这个道理。因此,成熟的程序员在安顿之后,一定要坐下来反思自己,看看自己的技术发展之路,哪些走的比较踏实,哪些走的比较急促;哪些是自己的技术特长,哪些是自己的 技术薄弱环节。反思后一定要抽出时间抓紧学习,把自己的技术上明显不足的地方给补上,这样程序员的技术水平加上丰富经验和工作能力会使得自己更加具有实 力,可以应付各种挑战,为今后的发展铺平道路。
而那些顺其自然的思想,使得程序员缺少技术提高的主动性,程序员有明显的技术上的问题,也不主动去解决,而是拖之再拖,从而使得程序员的成熟度大打了折扣。
2、走向软件设计师
其实很多程序员走到这个阶段已经在做软件设计师工作了。这是绝大多数程序员发展的必经之路。因为,程序员在编程序的时候,一方面会实现设计的功能,另一方面 也在对设计有一个理解、认识、熟知的过程。进而慢慢地从学习别人设计,转向到自己参与或独立设计。如果这个程序员真的非常非常喜欢程序员这个职业,则可以 转向软件设计师。这个转变很大程度是程序员意识的转变,就是说要把编程的时间,逐步分摊到软件设计上,要把重点从编程实现转变到项目的功能设计上。我这里 强调的是“逐步”的一个过程,程序员要逐步减少编程的时间,增加设计的时间,要克服编程的强大吸引力,要主动地攀上设计这个台阶。很难有一个设计师是完全 不编程的,而且我认为,会编程的设计师才是真正的设计师。一般这种转变需要花上一到两年时间。
3、走向项目经理
也有一些程序员工作机遇比较好,不但负责了项目的设计工作,而且负责了项目管理工作。对项目经理这个工作有了一定的尝试。因此,这类程序员可以审视一下自 己,是否合适这项工作。如果自己对这种工作比较满意,而且具备项目经理的要求,则可以向项目经理这个方向发展。项目经理承担着项目管理的职责,对项目负主 要责任。它和程序员的作用也不相同,项目经理的重点已经从编程转移到对人、对技术、对进度、对项目的管理。由于软件的项目经理与软件项目的相关性太大,因 此,他必须要了解软件开发的各个环节、了解开发的各种技术和运用、了解开发队伍人员的水平和特点。所以他依旧和程序员脱不了干系。从程序员到项目经理可以 使得项目经理更好地理解程序员在项目中的地位和作用,了解软件开发的各种规律性的东西。从而保证项目的正常完成。而且,项目经理的收入在公司中的地位也是 比较高的。因此,我认为走向项目经理是程序员的另一个发展空间。我想提醒一下,程序员在担任项目经理之前最好要把软件设计工作做好,这样在做项目经理的时 候,就会有很好的基础。
4、走向管理者
很多程序员希望自己能成为公司中的主管、经理、老总、老板,这样无论是收入和在公司的地位都相对比较高一些。另外,一方面程序员可能厌倦了年复一年的编程工 作,对工作产生了抵触情绪,希望能摆脱这种步步紧逼的工作状态。走向管理者其实要求程序员要比一般人做更多的准备,要做更多的转型工作,并不是想当管理者 就能成为管理者的。但是,如果程序员有这个志向和爱好,有积累了这方面的工作经验,自己也感觉在这个方面能够发展,更重要的是有这样的机会,走向管理者也 是可能的。由于软件公司的管理者毕竟不同于一般公司的管理者,专业能力越强,管理起来就越得心应手的,没有专业能力的管理,遇到的问题很多,也很难解决。因此,我的建议程序员最好要把编程、项目设计、项目管理等基础打打好。这样转型到管理者成功率就会高一些。
5、走向软件营销
我一直说,程序员最大的缺点之一,就是眼光只盯在技术上。程序员在入门阶段和成长阶段,这种情况还是属于正常的。但是,到了成熟阶段这种缺点将严重影响了程 序员的发展。程序员在工作中不免会接触到用户,不免会了解到用户的需求。从而了解到软件实际发挥的作用,进而了解了自身的工作价值所在。有的程序员则固步 自封,不愿意和外界打交道,从内心里坚守技术底线。有的程序员则喜欢和外人交流,喜欢把自己的软件推荐给用户,而且用户也乐意接受这种专业的介绍,用户的 接受是程序员价值的直接实现,程序员因此获得了工作成就感。这类的程序员可以将自己的专业知识和产品营销结合在一起,推动软件的销售和服务,转向软件营销 职业。这个职业将是一个比程序员更有发展的职业,它可以直接反应程序员的工作能力和工作成果,程序员的收入和销售会直接挂钩。因此,可以让有才华的程序员 获得更高的收入,接触到更大的软件市场,看到更广的个人发展空间。
6、原地发展
当 然也有一些程序员惰性比较大,满足于现状,享受着眼前的胜利果实,也无可非议。对待这些程序员,我们不要强求他们改变自己的想法,我建议是原地发展,把本 职工作做得更好,把自己的技术水平往上再提高一步。在这个过程中他们的能力和自信心都会得到提高,他们的想法不会一直一成不变的。磨刀不误砍柴功,刀快了 自然会去砍柴的。
7、跳槽走人
还 有一种情况,程序员工作很努力,技术水平也有很大的提高,工作成绩也很突出,但是,公司的工作环境让他感觉不好,例如,收入和付出差距很大,而且短期内看 不到加薪的可能;自己的技术水平已经超出公司开发所需,英雄无用武之地;公司的经营状况比较差、看不到公司未来;公司的人际关系紧张,小人当道,自己得不 到重用等。他可以选择跳槽走人。要说明的是,这个时候跳槽走人你是有本钱的,这个本钱就是你积累的工作业绩、技术水平和工作能力。
程序员在成熟期面临着上升空间的选择,是上还是不上往往决定了程序员今后的发展。水往低处流,人往高处走,只要程序员有向上的意识,不满足于现状,根据自身的特点和资源选择发展方向,我想程序员一定会有很好的发展前途。
【四】总结与提升
成功与失败的区别在于,成功者选择了正确而失败者选择了错误。因此,我们常常能够看到一些天赋相差无几的人,由于选择了不同的方向,人生却迥然相异。选择正确的方向尤为重要,希望不同的程序员根据自己不同的优势和特点能画出适合自己的程序员职业规划图。
软件开发也是有层次区别的,比如,按层次从高到低通常可分为: 系统开发:如操作系统、数据库系统、服务器系统开发; 专业开发:如网络安全、游戏、人工智能开发; 应用开发:如MIS、BI、ERP等系统开发; 普通开发:如网站、简单应用系统开发。
不同的层次,难度系数不一样,对技术要求、个人素质要求也不一样。要成为系统开发者、专 业开发者、高级应用开发者,需要有很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础,同时具有较大的提升潜力。而要成为简单开发 者和初级应用开发者则相对容易些,正是这样,才使很多人走上了软件开发的道路。
【五】职场榜样
雷军:从程序员到金山CEO
人物简介
今年39岁的雷军祖籍仙桃,在武汉度过了自己的大学时光。1992年加盟金山公司,从程序员做起,到几年后的高级管理者,再到执掌金山近10年的CEO。
在百度上搜索“雷军”的名字,相关的网页达到了250多万个。可以说,无论是在IT界还是民间,对雷军的关注度都是巨大的。
历经多年艰辛,雷军带领金山走上了发展的快车道,同时也为自己铸就了“最勤奋CEO”、“金牌CEO”、“中国最好的职业经理人”的荣耀,在中国IT史上留下了自己的传奇。
2007年底,雷军宣布辞去所有在金山一线的管理职务,只保留了副董事长和战略委员会主席的职务。结缘IT行业
中学毕业前,雷军从没想过自己的未来会跟计算机扯上关系。
高考填写志愿时,好朋友选择了计算机系,“为了日后和好友仍有共同语言”的雷军也填了同样的专业,并以优异的成绩考入武汉大学计算机系。
从小学到中学,雷军的成绩一直都很拔尖。“在我的印象中,闻一多等很多名人都是在大学成名的,我当时也想利用大学的机会证明我的优秀。”
进大学的第一个晚上,其他同学还沉浸在兴奋之中时,雷军却默默地去教室自修。
以后每一天,早上7点,他都会第一个冲进教室占座位,坐在最前排听课;周末他喜欢看电影,但经常要自习到九、十点钟以后看晚间场。
回忆那段大学生涯,雷军说:“我特别害怕落后,怕一旦落后,我就追不上,我不是一个善于在逆境中生存的人。我会先把一个事情想得非常透彻,目的就是不让自己陷入逆境,我是首先让自己立于不败之地,然后再出发的人。” 为了不落后于人,雷军戒掉了午睡的习惯,把时间分割成以半小时为单位,为自己制定好每半小时的学习计划,最终,雷军大一写的程序,等他上大二的时候,已经被编进大一教材里了。
雷军家里并不富裕。大学期间,雷军父母的工资加起来不到300块,家里还有一个姐姐也在上大学,雷军每个月要从家里拿走150块钱,他知道自己这是拿走 了家里的一半收入,父母会过得很艰难,心里很不是滋味。于是,他千方百计找各种兼职挣钱。当时,向各媒体投稿赚取稿费是他收入的主要来源。他还时常在武汉 的电子一条街走动,有时倒卖点产品,有时替别人维修机器,有时动手编一点小软件。
不过,这一切并未影响雷军的学业,相反,他在计算机的世界里如鱼得水,只用2年就修完了大学4年的课程。初次创业以失败告终
刚开始接触计算机编程的那会儿,雷军就很快被这种可以操纵计算机的感觉所吸引,“你会觉得在做软件开发的过程中,你就是你自己领地上的国王”。
大一开设的第一门课叫PASCAL程序设计,雷军经常因为程序设计出众,受到老师的表扬。大二时,这位老师将雷军写的程序编进了教材。由于小有名气,人 又踏实好学,其他老师想找他帮忙做事,也会主动把计算机房钥匙交给他,在那个计算机是个宝的年代,他最多竟同时拥有3个机房的钥匙!
当时有一本非常出名的书叫《硅谷之火》,这样一本讲述IT人创业的著作激励着雷军,更令他狂热。也就是在那时,雷军起了一个念头:创办一家世界级软件企业,让自己做的软件在世界的每一台电脑上运行。上世纪80年代末90年代初,正是中国互联网和软件业刚刚开始起步的阶段。越来越强烈的实践冲动,让雷军不再甘于纸上谈兵,临近毕业时开始自己创业。
大四那年,雷军和另外3个志同道合的同学,用卖电脑的四五千块钱,开办了自己的“三色”软件公司,开发出国内很早的杀毒软件“免疫90”。
然而半年不到,既没有社会资源,又不曾受过系统商业训练的雷军就感到力不从心。最初的创业梦以失败告终。初次的创业经历也让雷军收获很多。他更清醒地认识了自己的优势和劣势,这使他在以后的创业历程中变得更加谨慎;他对企业运作有了初步的了解,这为他日后向企业高层管理者的转型奠定了基础。
立足金山踏响时代节拍
大学毕业后,雷军被分配到航天部,但他内心并不喜欢那样的工作氛围。1992年7月,带着大学时的激情与梦想,雷军在金山软件公司开始了新的旅程。
从1988年到1995年,金山WPS曾凭技术领先横扫大江南北。然而,“前有微软,后有盗版”,90年代中期,这一行业背景让金山陷入前所未有的困境。
1997年,雷军果断提出“立足办公软件市场,全方位进军家用软件市场”。此后,随着国内首套商业PC游戏《中关村启示录》、VCD全屏播放软件《金山影霸》及计算机学习软件《电脑入门》等产品的问世,人们记住了金山的名字。
不久,金山还相继推出了国内第一套大型武侠RPG游戏《剑侠情缘》、《WPS97》和《金山词霸》等产品。金山一举成了中国软件市场上最耀眼的明星。而与金山同一时代创业的一大批软件公司,则在微软和盗版双重夹击下日渐式微。
新世纪到来,伴着软件业黄金时代的黯淡,中国以互联网为主导的时代来临。雷军敏锐地感到,互联网时代的传统软件企业必须应时革命,否则就会像恐龙一样消 亡。2000年,他看好电子商务这一模式,并创办了后来成为行业旗舰企业的卓越网;2003年“非典”后,雷军又带领金山进军网游(网络游戏)。从WPS到网络游戏,在国产软件步履维艰的现实条件下,金山走出了一条曲线救国之路。2007年10月9日,金山正式在香港联交所上市。
从1992年加盟金山,到2007年金山上市,雷军在金山16年如一日,身上洋溢着的始终是最初的梦想与激情。金山,也成为民族软件产业的一面旗帜。