工作近十年了。[软件project师] 一直是我职业 title 的中心词,仅仅是前面的修饰语在不断变化,从0基础、中级、高级到资深。

事实上 [软件project师] 是一个非常泛化的定义。工作现实中软件project师是被详细分工的。形成了详细定义的project师。

定义

软件project师是以下这些详细project师的整体概括:

  • 开发project师
  • 測试project师
  • UIproject师(又称设计师)
  • 产品project师(尽管如今多称产品经理,但实际的工作内容更偏向project师性质)
  • 运维project师

或许还有些其它分工的详细project师定义。这里就不一一列举了。

我仅仅是偶然发现全部这些详细分工的project师都能够归类到几个不同的属性上,那么这些属性又是什么?

属性

玩过游戏的人都了解,游戏角色一般有两种主要属性:攻击属性和防御属性。

一般为了游戏平衡性而言,不同角色有的会偏向攻击属性、有的偏向防御属性。这在组队游戏中特别明显。

而软件开发本身就是一个组队活动,因此各类分工的project师也体现出了这两种属性。

以上详细分工的project师中。运维project师和专职维护线上系统的开发project师更偏向于防御属性。其它则是偏向攻击属性。

攻防属性的区分是和上述project师工作性质的自然联想。防御就是守住阵地(维护已有系统)。攻击则是开辟新的战场(新产品、新系统)。

在团队中另一些其它角色。如:项目经理、架构师等。这类角色的工作属性会更复杂一些。

项目经理协调资源、控制进度,若是在开辟新战场的项目中则像是萧何一类角色。

架构师则像是将军。刘邦项羽中原争霸,将军不止一个。但萧何却仅仅有一个。所以一个大项目。项目经理就一个。架构师却不止一个。

不同专注领域的架构师充当了不同类型将军角色,有擅长打冲锋的,有擅长打阵地。各有不同。此时架构师的角色属性为攻击型。

系统业务量高速增长。老系统变得不再稳定,维护升级困难。然后启动架构升级,此类项目中的架构师和开发project师都属于防御型。

而项目经理在这两类项目中既不属于攻也不属于防。而是另一类型:加成属性。

在游戏中也有相似的角色。这类角色帮助提升团队的群体属性,比如攻击光环、群体回血之类的。

管理角色的最大价值就在于群体的加成属性,当然这类加成属性能够是正的也能够是负的,取决于管理本身的带来效果。

发展

《冰与火之歌》里有一道长城(The Wall),绵延 300 英里,它将近有 700 英尺那么高。

十年差点儿相同也会碰到职业发展的一道长城,假设十年还没碰到那么非常可能说明你没有一直沿着大致同样的方向在走。

从project师到架构师。继续加强攻击属性。提升技术瑞丽度,进入技术专家领域。

瑞丽意味着更窄更尖。从众行到独行。

防御属性的提升突破须要足够生命周期的产品、足够规模的系统,和攻击属性一样终于殊途同归。

而加成属性的提升看上去的路径是从project师到培训师到技术顾问。被加成项目、团队或公司的成功是自己品牌力,影响力的最好背书。

不管从哪个方向去攀登长城,终于成功翻越的经验正如《冰与火之歌》所说 “别低头看以下”。

而是否能翻越长城可能也是我下一个十年的最大挑战。


以下是我自己开的一个微信公众号 [瞬息之间]。除了写技术的文章、还有产品的、行业和人生的思考。希望能和很多其它走在这条路上同行者交流。有兴趣可关注一下。谢谢。

$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

软件project师的属性与发展的更多相关文章

  1. 优秀软件project师必备的7大特性

    不是每个程序猿都能成为优秀的软件project师. 在过去的6年时间里,我在Ooyala.Quora和now Quip这3个创业公司面试过许很多多挺有发展潜力的"种子选手".他们都 ...

  2. Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结

    Atitit.  高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...

  3. 软件project师周兆熊给IT学子的倾情奉献

    [来信] 贺老师: 你好,我是中兴通讯的一名软件开发project师,名叫周兆熊. 近期看了您的新书<逆袭大学:传给IT学子的正能量>,感觉你真心为当代学子答疑解惑.非常值得敬佩! 从上大 ...

  4. 招一位安防软件project师,嵌入式开发project师

    岗位职责 1.负责海思平台IPC产品应用层软件设计及维护 2.私有平台协议对接及为第三方提供技术支持. 任职资格: 1.较强的学习.领悟能力,能够高速熟悉公司现有代码. 2.熟练掌握C.C++开发语言 ...

  5. 2014年java软件project师面试题收集

    如果页面中于五个li标签.写个js使点击每个li返回他的index <!doctype html> <html> <head> <style> li{c ...

  6. 美国程序猿(软件project师)平均年薪状况调查

    来源站点:Indeed.com&computerengineeringsalarydata.com Average Software Engineer Salary by 50 States ...

  7. 全栈project师的悲与欢

    从小米辞职出来创业的两个多月里,通过猎头或自己投简历,先后面试了知乎,今日头条,豌豆荚,美团,百度,App Annie,去哪儿,滴滴打车等技术团队,一二面(技术面)差点儿都轻松的过了,三面却没有毕业那 ...

  8. 全栈project师的毁与誉

    全栈(Full Stack)project师.也能够叫全端project师,不管是前端知识,还是后端架构你都要了解.甚至有些调皮的程序猿这样理解全栈project师:全栈project师 = 屌丝战斗 ...

  9. 软件project—思考项目开发那些事(一)

    阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...

随机推荐

  1. codeforces 559A(Gerald's Hexagon)

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u   Description Gera ...

  2. BZOJ 1230: [Usaco2008 Nov]lites 开关灯( 线段树 )

    线段树.. --------------------------------------------------------------------------------- #include< ...

  3. matlab之kmeans聚类用法

    kmeans函数用法如下: [IDX,C,sumd,D] = kmeans(X,2,'Distance','city','Replicates',5,'Options',opts); 参数含义如下:I ...

  4. python--内建函数(1)

    Python中,按照对象是否可变,将类型分类为: 不可变类型:对象的内容不能够改变(not mutable),这些类型中主要有数值类型(整数,浮点数,复数),字符串类型,元组等 可变类型:对象的内容能 ...

  5. C的memset,memcpy,strcpy 的区别 及memset memcpy memmove源码

    extern void *memcpy(void *dest,void *src,unsigned int count);#include <string.h>   功能:由src所指内存 ...

  6. C# 计算器 如果设置键盘输入的监听事件

    这个事情困扰了我好久,之前java写的计算器程序可以正常运行了,但是因为打包问题(尝试过多次,感觉好麻烦,个人比较崇尚“点子”,注重创新,思来想去之后,决定试试C#模仿java再写一遍),想要用C#模 ...

  7. 多线程wait()和sleep()以及InterruptedException异常

    1.核心区别: sleep用于线程控制,wait用于线程间的通信. sleep是Thread类的方法,是让线程休息一段时间,然后自动恢复运行,与其他线程无关,与同步无关,也与锁无关(拿锁时不会释放锁) ...

  8. css 基础(一)

    一.css样式表的分类 首先介绍一下css中的样式表  a.外部样式表  将需要的样式放在单独的外部文件中,需要使用是直接调用,通常放在.css文件中.例如:/*以下部分是放在(my.css)自定义名 ...

  9. 直播时代--IOS直播客户端SDK,美艳直播【开源】

    看到该文章我非常喜欢,为了方便自己查看和参考所以将其复制过来,源文地址:http://www.cnblogs.com/runner42/p/5241407.html 请支持原作者.原作者如看到请原谅复 ...

  10. spark sql 以JDBC为数据源

    一.环境准备: 安装mysql后,进入mysql命令行,创建测试表.数据: 将 mysql-connector-java 的jar文件拷贝到 \spark_home\lib\下,你可以使用最新版本,下 ...