从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去各个公司应聘,到现在开始面试那些战战兢兢的小程序员,回想起这近十年来的经验,看着还是朝气蓬勃的菜菜们,想谈谈自己对与DotNet程序员的职业规划的看法。
先说开发语言
         .Net是一个开发框架,包容性也比较强,可以做b/s结构的网站,可以做Windows phone的手机开发,可以做Windows下的桌面软件开发。
         其中,b/s结构的软件,又包括了企业级软件如ERP、CRM,也可以是互联网网站。这篇文章,主要是谈谈b/s结构的互联网开发工程师的职业规划。
正文
发展路线(图-路线图)
在一个互联网公司中,当以软件开发工程师的职能进入公司,那么大体上,他的职业发展中,可以有三种发展方式。首先我来大体规划一下:
初级开发工程师→中级开发工程师→高级开发工程师→项目主管→网站架构设计师→大项目经理→资深专家→首席技术官(CTO)
初级开发工程师→中级开发工程师→产品专员→产品策划→产品经理→产品总监→副总裁(副总经理)→总经理(总裁CEO)
初级开发工程师→中级开发工程师→网站运营专员→运营主管→运营经理→运营总监→副总裁(副总经理)→总经理(总裁CEO)
路线图,

(图片版权 六座网)
路线描述
路线1:
       这是一条开发技术专精的路线。如果你对开发有兴趣,喜欢从无到有进行产品制造的工作,那么这条路线最适合不过了。
这条路线的优势就是在到达中层职位之前,基本上,不用考虑“乱七八糟”的事情,只要你肯努力,肯学习,而且不是特别不会做人,那么基本上,在初级职位时,只要肯下功夫,还是升职、加薪非常快的。
        这条路线的劣势,就是进入中层后,会涉及到团队管理,和其他部门、用户要进行“工艺对接”,这个时候,“程序员”特有的木纳、交流方面的问题就会体现出来了,喜欢说“专业名词”的程序员,会让对方感觉一头雾水,让沟通很困难。同时对团队管理和对于在管理中,驾驭下属,清晰的对上级汇报,以及团队成员合理工作任务安排时,会出现弱项。
路线2:
       当感觉技术不是很适合自己发展的时候,可以及时的转型。也就是在达到中级程序员时,就可以判断了,要么就是感觉编程的学习太累,而且感觉出瓶颈了(比如学习算法时非常困难),并且在产品开发时,发现自己对于产品的策划,更加感兴趣,感觉琢磨用户体验,更加好的设计一个产品是自己的追求,那么这个时候,就可以转型了。同时说明:不要在刚刚入行的时候就转型,因为你还是初级工程师的时候,可以说对于工程师这个职业,根本就没有任何感觉,如果马上转型,就完全浪费这次职能。
      这条路线的优势就是:由于对于技术的了解,当走向产品策划的时候,对于产品的需求和风险定位可以更加贴切实际。
      劣势也很明显,就是技术是定性的逻辑思维。而产品研发,更加注重于用户体验,根据用户体验和反馈,合理的对产品进行创造或改进。其中设计到了用户体验,数据分析等等的发散型思维方式,会让刚刚转型的程序员,停滞一段时间。
路线3:
       当感觉技术不是很适合自己发展的时候,可以及时的转型。也就是在达到中级程序员时,就可以判断了,要么就是感觉编程的学习太累,而且感觉出瓶颈了(比如学习算法时非常困难),并且在产品开发时,发现对于数据分析更加敏感,总是能够从市场、产品那边收集来的数据,来判断出合适的运行方式,那么,恭喜你,转型做运营吧,网站运营才是你的光明前景。
        这条路线的优势很明显:对于从技术转型的从业者,在运营中,对已经出现的问题,能够有更加贴切的解决方案,同时也对于可能出现的问题的预估更加准确。
        劣势同样存在:运营中,更加注重于反馈数据收集,根据不同的反馈,对于运营策略进行改进,一味的埋头苦干在运营中是非常愚蠢的
所需技能
       必须说明的是,其实到了中层管理中,再往高层管理进步时,技能的优势已经不明显了,需要更多的是人脉的设计,和人际相处,并且商业布局的眼光也很重要。
       所以,我只列举一下各条路线到达中层所需要的技能,同时说明,有些技能看似没用,但是确实是进入高层所必须的,不到这个层次,是感觉不出来的,比如数据结构,在初、中级工程师作用不是很明显,但是到高级以后,就会明显的显示出来他的作用了:
路线1所需技能:
UML建模语言
ASP.NET MVC 编程开发
SQL Server数据库应用
C#程序设计
常用Javascript框架
设计模式
Linq语言
JavaScript脚本基础
软件技术文档编写能力
oracle数据库
XHTML网页设计技术
常用算法
路线2所需技能
数据分析
预算管理
数据挖掘
界面交互式系统设计
Microsoft Office Visio
互联网产品需求文档写作
经济学原理
概率论
Office办公软件应用
信息架构
用户体验设计
用户心理体验
消费者行为学
高效能分析和解决问题能力
组织管理学
团队合作与沟通能力
路线3所需技能:
流程管理
数据挖掘
营销管理
用户体验设计
数据分析
公司战略管理
绩效量化考核量化管理
品牌传播
品牌管理
财务报表分析
项目管理系统方法
商业心理学
市场调研
统计学
预算管理
信息架构
成本费用控制与管理
高效能分析和解决问题能力
组织管理学
团队运营管理
消费者行为学
必备工具:
思维导图:树形结构的图形化软件,能够让你的思维更加清晰,对于安排事务会有很大的帮主,推荐使用 xmind 这个开源软件,因为其中带有了很多非常不错的模板,比如SWOT等。他的官网如下:http://www.xmind.net/
在线工具(强烈推荐):六座网,这事一家新起职业规划的网站,通过职业规划发展路径图,来指导新手们做自己的职业规划。作者和他们的产品经理也邮件聊过,感觉理念很新颖,将一个基层职位可能的发展路线都列出来了,感觉很不错。本文的图片,就是取自六座网。目前他们开通的还是IT中常见的职业规划。并且会陆续增加新的职位的职业规划图。这个网站的模式确实是作者在众多中外职业规划网站中,第一次发现,所以强烈推荐。网址:http://6sit.com
GTD工具:时间管理工具,能够让你的时间安排更加合理和紧凑,作者推荐 doit,在所有gtd的免费版本中,这是我觉得支持功能比较多的一款了,当然,钱包富裕的人,可以购买专业版,官网:http://doit.im/
云笔记:很重要,合理的利用云笔记,可以保存你重要的信息,并且随时利用的碎片时间(地铁,公交上)来阅读。印象笔记 和 有道云笔记都不错,不过我个人倾向于有道,因为限制较少(每月流量,空间大小)等。并且,网易的东西,其实还不错……虽然网易号称(一直在创新,总是被超越……)

转:10年程序员谈.Net程序员的职业规划的更多相关文章

  1. 10年程序员谈.Net程序员的职业规划(图/文)

    原文地址:http://bbs.csdn.net/topics/390736769 从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去 ...

  2. 10年程序员谈.Net程序员的职业规划(图/文) (转载)

    转载地址:http://www.cnblogs.com/donghongtao/p/3611623.html

  3. IBM总架构师寇文东谈程序员的职业规划

    有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...

  4. 少走弯路,一个老程序猿谈PHP职业发展规划

    PHP是一个使用者非常多的开发语言,但在每个领域里的开发侧重点有所不同互联网方面,在稳定的基础上,更注重性能.高并发,高负载的处理. PHP职业发展规划一般有三条路线,一条技能专精发展路线.另两条,是 ...

  5. 程序员职业规划(一篇来自"阿里Java工程师"对工作3年左右程序员的职业建议和应该掌握的职业技能)

    程序员的三个阶段(转载) 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人. 这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的 ...

  6. 浅谈 Python 程序和 C 程序的整合

    源地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单, ...

  7. Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  8. 漫谈程序员(十一)老鸟程序员知道而新手不知道的小技巧之Web 前端篇

    老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方 ...

  9. 谈 Python 程序和 C 程序的整合 (转载)

    http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握 ...

随机推荐

  1. Git简易教程

    概述 在说明什么是git之前,我们需要对版本控制(Version Control)做一个基本的概述,一般情况下,我们的源代码都是在时间和空间两个维度上进行管理并维护的,代码本身以及组织代码的项目文件( ...

  2. JS自动格式化输入的数字/千位分隔符

    <script> function cc(s){         if(/[^0-9\.]/.test(s)) return "invalid value";     ...

  3. 10天学会phpWeChat——第二天:hello world!我的第一个功能模块

    今天我们开始进入<10天学会phpWeChat>系列教程的第二天:创建我的第一个hello world! 功能模块. 1.登录后台,进入 系统设置--自定义模块,如图: 自定义模块参数说明 ...

  4. 使用SPM创建新组件

    (前提:已经安装好了spm) 步骤如下:

  5. KnockoutJS中父元素有click绑定引起checked绑定时失效

    KnockoutJS中的checked绑定如果父元素有click绑定,会出现状态点击没反应,实际KO的值已经变化的情况. 这种情况下应该在checked绑定的元素上除了阻止事件冒泡,另外还需要额外加上 ...

  6. TCP打洞和UDP打洞的区别 (转)

    为什么网上讲到的P2P打洞基本上都是基于UDP协议的打洞?难道TCP不可能打洞?还是TCP打洞难于实现?     假设现在有内网客户端A和内网客户端B,有公网服务端S.     如果A和B想要进行UD ...

  7. gcc警告: warning: dereferencing type-punned pointer will break strict-aliasing rules

    Q: 在高优化级别下,不同类型指针之间的强制类型转换可能会触发以下警告: warning: dereferencing type-punned pointer will break strict-al ...

  8. Linux环境下SVN服务器端的安装与配置

    最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...

  9. spread 程序调试时,未激活的提示解决

    场景:程序调试运行,打开含spread组件的窗体时如下: 解决: 将spread组件拖到某一个窗体后,会在properties中出现license文件.再运行,OK! 注意: license文件一定是 ...

  10. Discrete.Differential.Geometry-An.Applied.Introduction(sig2013) 笔记

    The author has a course on web: http://brickisland.net/DDGSpring2016/ It has more reading assignment ...