十年前,笔者还是一个刚毕业的大学生,对IT业只是停留在学校的编程知识领域。刚出社会,有很多需要学习的地方。在这十年间,笔者经历了程序员,技术经理,项目经理,部门经理等职位。本文就是要说说如何从程序员到部门经理的经验。

对于程序员,按笔者在《软件项目角色指南》一文中的称呼,应该称为软件工程师。大家可以去看看该系列中对软件工程师的职责等内容,希望大家能对该角色有一定的理解。软件工程师要做的事情还是比较多的,因为在项目中可能要涉及到很多方面的内容,所以,软件工程师往往身兼多职。软件工程师在项目中的作用也是很大的,因为项目最基本的编码工作就是由他进行处理,所以项目的基础就是要靠软件工程师的工作来进行。软件工程师要做很多事情,一方面是编码,另一方面也要积极的学习该领域的其它知识,以补充自身的相关的知识内容。对于工作,软件工程师要兢兢业业,努力把该做的事情做好。那么,软件工程师对于知识方面该积极的进行学习,笔者就是在工作之余,努力的去看一些相关的知识,比如.NET Framework的相关的类库内容,以及一些关于C#的一些知识内容等等。对于业务,软件工程师也要从需求中去学习该领域的内容,争取对该领域做到至少是理解的程度。总之,软件工程师就是要努力学习,争取做领域方面的专家,争取向上做软件设计师、架构师等职位。

对于技术经理,笔者也做了一些总结。技术经理要积极的对领域内的技术有一定的理解。技术经理在项目组中的作用还是比较明显的。有时候技术经理也要对系统的架构进行处理,也就是身兼架构师的职位。技术经理要对软件的编码规范提出方案,对整个系统的编码工作进行约束,提高系统代码的可读性、运行的稳定性和兼容性等问题。技术经理还要对技术文档提出方案,更好的对项目的文档可读性、规范性进行定义。技术经理也要对各种主流工具和技术文档有一定的理解程度,这样才能适应整个领域的发展。在工作上,技术经理要做的事情不是很多,但是都是非常重要的内容。在业务上,技术经理也要对整个业务领域的知识内容有一定的理解,这样才能做到该领域的专家程度,才能更好的对整个项目的技术和业务发展起到更好的作用。在管理方面,技术经理基本上就是对下面的软件工程师负责,对他们进行培训等方面的工作,起到团队中技术负责人的职责。在技术上,笔者就是对团队的相关组员进行相应的培训,或者提供相关的书籍给团队成员进行阅读,以期提高整个团队的技术水平。同时也对项目经理负责,把项目的进度和编码能力与项目经理沟通,让项目经理更好的对整个项目进行把控。

对于项目经理,笔者也有一定的经验。项目经理是整个团队的负责人和带头人。他要处理的事情还是比较多的。按照PMP中的说法,项目经理要处理10大领域中的相关内容。他要对整个项目组负责,还要对甲方负责人负责。在项目管理过程中,对整体的把控最能体现出项目经理的能力。还有就是对项目计划的规划和处理方面的内容同样也很重要。在工作上,项目经理同样要针对10大领域的内容开展工作,对整个项目组的工作进行管理。在业务上,项目经理要积极主动的去理解和获取该领域的业务内容,因为最了解业务的就是项目经理。可以说,项目经理是该领域的专家。在管理上,项目经理要对整个团队成员负责。要对整个团队建设起到积极主动的作用。这方面要配合技术经理进行,通过培训等方式对整个项目组成员的各方面的能力进行提高,起到技术牵头人的作用,这样才能提高整个团队的水平,提高整个团队的竞争力。笔者在做项目经理的时候,除了项目管理方面的内容,其实也涉及到实施方面的工作。同时也涉及到团队人员招聘的事情。

对于部门经理,笔者的经验也比较有限。部门经理是整个部门的负责人,对于整个部门的人员进行管理,同时也要对整个部门人员的能力提高起到积极主动的作用。在工作上,部门经理要积极的与公司领导进行沟通,以对公司的发展方向进行理解,这样才能对整个部门的发展方向做到心中有数,才能更好的服务于整个部门。在技术上,部门经理其实也是技术带头人的作用,要对部门的项目组的相关技术方向起到一个带头作用,就是对技术方向进行把控。在业务上,部门经理要积极的与甲方负责人和项目经理进行沟通,培养该领域的项目经理,提高各项目组项目经理的业务水平。这样也是提高项目经理能力的一种表现。在管理上,部门经理要对人员管理起到重要的作用,既要对团队的人员水平进行管理,又要对团队的士气进行管理。这样才能提高整个部门的士气和水平。笔者在做部门经理的时候,涉及到的方面是人员招聘,部门管理,项目管理,团队人员管理,还有项目的相关测试等内容。

上面概要说了下笔者在担任相关职位时所总结的经验,希望能对大家有一定的帮助。这里再强调一下,从软件工程师到部门经理,不是一蹴而就的事情,这个要有机会。就是说,你在做相关的职位时,可能对高职位做了积极准备,但是有时候没有机会而已。所以,笔者是通过跳槽的方式来进行职位的调整的。这里说下,大家不要频繁跳槽,一定要等到机会成熟了再进行,就是说要积极的对高职位的职责,工作内容有一定的理解之后再进行。总之,从低职位到高职位的个人职业道路的发展,需要个人做充足的准备,同时也要对职业道路做好规划(见笔者文:IT从业者的职业规划),同时也要做好学习规划(见笔者文:IT从业者的学习规划 - 学习者系列文章开篇)。这样才能在个人职业生涯中起到重要作用,才能更好的把控个人的职业道路。

ps.今天是周三,很久没写项目管理方面的文章了,仅以此文给在IT生涯中迷茫的人员以帮助。

IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章的更多相关文章

  1. 开篇——从程序员到IT经理

    2002年~2005年我在广州的广东水力电力职业技术学院求学,主修网络工程.求学期间,我从事最多的就是玩游戏,当时就是玩MU和CS,所以有一门编程课叫C语言的“肥佬”(广东话)了,要补考,没办法,于是 ...

  2. 程序员从技术到项目管理PM--思维转变

    对以往所做项目的经验做下总结,作为项目经理首先要对项目负责,思维要做下转变,要从项目全局角度考虑问题:     从个人成就到团队成就. 无论是做管理还是做技术,成就导向意识是优秀员工的基本素质.只有具 ...

  3. ***IT程序员自我修养和情商提升文章

    低情商的13个表现 --------------------------------------------------------------------- — THE END —

  4. PHP程序员7小时学会Kotlin系列 - 第一小时 背景

    基础知识 Kotlin简单的说是Java语言的改良版本,是一种静态类型编程语言,可运行于JVM.Andoid或JavaScript环境,于2016年2月15日发布1.0正式版.Kotlin定位于一门通 ...

  5. PHP程序员7小时学会Kotlin系列

    这是我尝试给自己一个目标去学会一门新语言的方法.正在创作中,敬请期待! 提纲 第一小时 概念 第二小时 基础 第三小时 函数 第四小时 类与对象 第五小时 类与对象二 第六小时 DSL 第七小时 工程 ...

  6. IT软件技术人员的职位路线(从程序员到技术总监) - 部门管理经验谈

    以前写过一个文(IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章),主要介绍笔者的职业发展之路,不过该文需要后续了,因为笔者现在从事的是“产品经理”一职.从笔者的导航文([置顶]博文快 ...

  7. PHP程序员遇到职业问题时,是离职?还是坚持?

    PHP程序员遇到职业问题时,是离职?还是坚持? 初级php程序员最担心在公司里遇到原本其他程序员开发的项目,他们“跑路”以后的工作就由新程序员完成.而新员工也不懂内部的逻辑,酱紫让程序员很难处理后续的 ...

  8. Java程序员如何选择未来的职业路线

    一.程序员的特性 技术出身的职场人特性很明显,与做市场.业务出身的职场人区别尤其明显.IT行业中常见的一些职场角色:老板.项目经理.产品经理.需求分析师.设计师.开发工程师.运维工程师等.开发工程师具 ...

  9. Java程序员的发展前景

    不知道什么时候开始,IT业初级程序员的工作性质与进城打工的"农民工"变得如此惊人的相似.很多IT公司的高管认为"人便宜,就是要用到坏掉,然后再找更便宜.更年轻的" ...

随机推荐

  1. (转)使用minicpan创建本地CPAN

    在临时的办公场所网络不畅,有时不能下载cpan上的软件包,所有只能自建一个cpan. 这里使用了工具'minicpan',简单地说:就是把互联网上的CPAN搬到自己的电脑里,它的最初想法来自Randa ...

  2. position:fixed和scroll实现div浮动【示例】

    前言 在自己建站的过程中,要实现一个div随滚动条浮动的效果,网上找了些示例不太好用,还是自己动手,丰衣足食,写的不好请大家谅解,毕竟我不是搞前端的,因为自己建站毕竟每一步都必须自己来,这边只是做个记 ...

  3. 把《c++ primer》读薄(4-2 c和c++的数组 和 指针初探)

    督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1.我们知道,将一个数组赋给另一个数组,就是将一个数组的元素逐个赋值给另一数组的对应元素,相应的,将一个vector 赋给另 ...

  4. ZOJ Problem Set - 1001 A + B Problem

    ZOJ ACM题集,编译环境VC6.0 #include <stdio.h> int main() { int a,b; while(scanf("%d%d",& ...

  5. SQL Server基础之《视图的概述和基本操作》

     数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用, ...

  6. HTML label标签的一点理解

    label标签为input元素定义标注. label元素不呈现任何特殊效果.不过他为鼠标用户改进了可用性.如果你在label元素内点击文本就会触发此控件.就是说当用户选择该标签是,浏览器就会自动的将焦 ...

  7. [VB.NET]调用API获取/设置键盘按键状态

    1.调用GetAsyncKeyState()获取指定按键的状态,GetActiveKey()检索指定范围内的按键状态 2.调用keybd_event()可合成一次击键事件,通常两次击键事件间需要设定时 ...

  8. Rafy 领域实体框架 - 领域模型设计器(建模工具)设计方案

    去年4月,我们为 Rafy 框架添加了领域模型设计器组件.时隔一年,谨以本文,简要说明该领域模型设计器的设计思想. 设计目标 Rafy 实体框架中以领域驱动设计作为指导思想.所以在开发时,以领域建模为 ...

  9. DOM官方定义

    DOM Document Object Model 文档对象模型 DOM的官方定义:W3C的DOM,可以使程序或者脚本(JS或AS\JScript),动态的访问或者操作文档的内容.结构.样式. DOM ...

  10. Lock、ReentrantLock、synchronized、ReentrantReadWriteLock使用

    先来看一段代码,实现如下打印效果: 1 2 A 3 4 B 5 6 C 7 8 D 9 10 E 11 12 F 13 14 G 15 16 H 17 18 I 19 20 J 21 22 K 23 ...