转:10年程序员谈.Net程序员的职业规划
从事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程序员的职业规划的更多相关文章
- 10年程序员谈.Net程序员的职业规划(图/文)
		
原文地址:http://bbs.csdn.net/topics/390736769 从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去 ...
 - 10年程序员谈.Net程序员的职业规划(图/文) (转载)
		
转载地址:http://www.cnblogs.com/donghongtao/p/3611623.html
 - IBM总架构师寇文东谈程序员的职业规划
		
有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...
 - 少走弯路,一个老程序猿谈PHP职业发展规划
		
PHP是一个使用者非常多的开发语言,但在每个领域里的开发侧重点有所不同互联网方面,在稳定的基础上,更注重性能.高并发,高负载的处理. PHP职业发展规划一般有三条路线,一条技能专精发展路线.另两条,是 ...
 - 程序员职业规划(一篇来自"阿里Java工程师"对工作3年左右程序员的职业建议和应该掌握的职业技能)
		
程序员的三个阶段(转载) 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人. 这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的 ...
 - 浅谈 Python 程序和 C 程序的整合
		
源地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单, ...
 - Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
		
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
 - 漫谈程序员(十一)老鸟程序员知道而新手不知道的小技巧之Web 前端篇
		
老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方 ...
 - 谈 Python 程序和 C 程序的整合 (转载)
		
http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握 ...
 
随机推荐
- 关于位图读取函数int Load_Bitmap_File的lseek问题。
			
事情是这样的,本人在编译3D游戏编程大师技巧中的程序是遇到了一个关于位图读取函数int Load_Bitmap_File的lseek问题. 我使用以下位图读取函数读取位图事报错如下: int Load ...
 - jsp中查询条件的回显
			
后台框架为ssh,前台纯手写无框架是最老的写法,因为是接手别人的项目无法改变框架原型,只能基于修改. 进入正题: 我这里查询条件有两种input的text(文本框)和select(下拉框). 1.te ...
 - SQL NOT EXISTS
			
看了一篇文章,虽然知识点很简单,但是还是帮我理解了一些以前没想到的东西 一共三个表student,class,score create table student(sno varchar(50) no ...
 - VR软件定制外包团队:国内设备开发公司已超90家
			
昨日是UNITE 2015 BEIJING大会的第二天,相比于新手训练营和VR Day活动,昨天的大会更加注重分享和展示.Unity 创始人David Helgason在也大会上进行了Unity 5 ...
 - UNION 和 UNION ALL 区别
			
UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1.UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 ...
 - InstallShield打包设置相对路径
			
InstallShield打包设置相对路径 在使用Installshield 打包安装文件时,添加打包文件时默认使用绝对路径,但是工程文件转移时(复制到其它位置时)编译时就会找不到安装文件,这样很不方 ...
 - 可扩展Web架构与分布式系统(转)
			
1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,分布于多 ...
 - 【总结】JS里的数组排序
			
虽然贴了2种办法,但是思路是一致的,都是先从数组里找出最小值,一种是找到一个放进新数组: 另一种是找到后和第i个数交换,i每次自增 主要用到2个函数: 从一个数组里找出最小值: 两个元素互换位置 fu ...
 - Spark BlockManager的通信及内存占用分析(源码阅读九)
			
之前阅读也有总结过Block的RPC服务是通过NettyBlockRpcServer提供打开,即下载Block文件的功能.然后在启动jbo的时候由Driver上的BlockManagerMaster对 ...
 - POJ 2528 Mayor's posters(线段树+离散化)
			
Mayor's posters 转载自:http://blog.csdn.net/winddreams/article/details/38443761 [题目链接]Mayor's posters [ ...