架构师向左,项目经理向右??

开发 项目管理
个人从事了软件业也7-8年了,说实在的,cmm3 的软件过程基本了解,做全职的项目经理,可能是欠缺一些。技术上,这些年的积累,凭心而论,也还可以。所以就产生了疑问,我该怎么走呢,真的是出在了抉择的时候,该做什么呢,还是什么也不做,直接转行。

最近开始了新一轮的换工作历程,投简历也集中在了架构师和项目经理这两个角色中,当然,架构师很多时候跟项目经理,team leader,高级软件工程师是重合的,当然,我指的是国内了,所谓的架构师就是更高级点的软件工程师罢了。尤其是小点的公司,注,没有看不起小公司的意思,毕竟要成本的。

个人从事了软件业也7-8年了,说实在的,cmm3 的软件过程基本了解,做全职的项目经理,可能是欠缺一些。技术上,这些年的积累,凭心而论,也还可以。所以就产生了疑问,我该怎么走呢,真的是出在了抉择的时候,该做什么呢,还是什么也不做,直接转行。

首先,个人的心里,是希望做一名合格的架构师,优秀的,实在不敢说,牛人多了,咱只能向人家学习,争取早点成为真正的牛人。咱们首先看一篇架构师的招聘资料:

岗位职责:

  1. 带领团队进行平台的设计、开发和维护;
  2. 参与需求分析、系统分析、业务建模;
  3. 架构设计、概要设计;
  4. 软件工程实施和管理:开发计划制定、人员分配安排、进度跟踪及风险控制、测试管理等;
  5. 关键技术研究和开发、对外技术交流及沟通。

任职要求:

  1. 计算机或相关专业本科以上学历;
  2. 熟悉软件工程,5年以上大型网站项目、Web应用系统开发及管理经验;
  3. 对互联网业务及相关技术有高度的敏感性,对新技术和概念具备良好的学习和应用能力;
  4. 熟悉大型网站的开发、制作流程,具备较高大型网站项目开发管理、系统分析及架构设计的能力;
  5. 熟悉WINDOW、 LINUX等服务器操作系统,对WEB平台服务有深入理解
  6. 精通.NET开发平台,了解java、asp、PHP、C++等其他开发语言;
  7. 精通WEBSERVICE、REST、XML、AJAX、SQL、HTTP、TCP、WCF等技术;
  8. 有较高的数据库设计能力,精通SQLSERVER、ORACLE、MYSQL等主流数据库系统;
  9. 熟悉Memcached分布式缓存系统、MSMQ、JMS(Active MQ)、Hibernate等;
  10. 具备大型网站开发所需的海量数据存储及处理、高性能并发处理、分布式处理等方面的技术经验;
  11. 熟练使用各种常用软件开发辅助工具,如:MSPROJECT、ROSE、PowerDesigner、VISIO等;
  12. 具备SNS、LBS、GIS、搜索引擎、网络通信、移动开发、呼叫中心等相关行业技术背景者优先;
  13. 具备良好的语言表达及沟通能力,具备良好的文档能力;
  14. 年龄28-35岁,成熟稳重,具备良好的职业素养和团队精神,具备较强的承受能力和解决问题的能力。

像类似的这种很多,其实说白了,就是要求你管理经验和开发经验都是可以的,可能想对来说要求你的开发能力,尤其是处理关键问题的能力一定要强,比如这条:

具备大型网站开发所需的海量数据存储及处理、高性能并发处理、分布式处理等方面的技术经验

我想,如果咱们只是平时做企业的mis 开发,那你可能一辈子也胜任不了这个职位了。因为很多企业的mis也就那么点访问量,并发都考虑的很少了。我都在想,要是胜任这个职位的,都可以把铁路部的购票系统做好了,真的。

个人感觉,要想做一名架构师,最重要的是应该保持对技术的热情,关注新技术,花大量时间在关键的技术,比如高并发,多线程,web service等.要弄清除它的原理,这样才能在关键时刻给出民智的决策.另,技术的广度也是要的,不然,怎么,能保证,当前的项目或产品用的技术是最合适的呢。

说到这里,一些小的软件工具,比如说跟踪soap包,多线程序的.还有研究数据库方面的都是值得学习的。

总之,坚持,保持热情,我感觉够了。

再看看项目经理,开发经理之类的了:

职位描述及要求:

岗位职责:

  1. 担任项目执行过程中需求阶段工作(具体工作参考《需求工作总结说明》),出具符合公司规范的需求规格说明书(格式参考《需求规格说明书模板》文件夹中模板说明)。
  2. 担任项目执行过程中详细设计工作或设计审核工作(相关工作规范或指责要求参考《高级开发工程师岗位职责及要求》中相关说明)。
  3. 担任项目执行过程中编码工作或编码审核工作(相关工作规范或指责要求参考《开发工程师岗位职责及要求》中相关说明)。
  4. 确保能在合同规定交付日期范围内(无明确合同交付日期的,以合同审批单内部交付日期为准),按照合同规定工作量(以合同审批单中签字确认工作量为准)完成项目的交付及收款(首付款与售后尾款外其他款项)工作。
  5. 严格监控项目执行过程中各个环节对外文件的客户的签字确认情况。
  6. 制定项目计划,合理分配项目任务,监控项目进度。
  7. 对项目团队成员的工作进行安排、监督、指导。
  8. 定期向直属领导汇报项目相关情况(项目进度,项目投入,可能产生的风险等)。
  9. 项目验收通过3个月,经直属领导允许后,向售后部门相关人员移交项目(相关文件及要求见《项目交接单.xls》,需填写其中与合同条款内容相关的所有内容)。

岗位要求:

  1. 掌握软件项目的开发流程;
  2. 掌握VS系列的.Net平台开发工具,例如VS2003、VS2005、VS2008;
  3. 精通C#、JavaScript等编程语言,熟悉VB等开发语言;
  4. 精通SQL SERVER和ORACLE数据库,具备一定的数据库开发技术;
  5. 具备一定的界面美化能力;
  6. 具体详细设计的能力;
  7. 具有快速学习能力和适应能力;
  8. 具有良好的沟通能力及团队合作精神;
  9. 对工作有责任心,能承受工作压力;

我找了几个,感觉这个写得很好,项目经理的职责一目了然,承担的工作压力也相当的大,但是注意到么。

担任项目执行过程中编码工作或编码审核工作,说到底,你编码能力还是要求很强,关键的时刻你得亲自上,什么项目经理,这时候,你就是程序员,有点,将军当步兵用的感觉。

但终归来说,它更多的是要求你对项目的整体把握,非技术因素很多了,比如

完成项目的交付及收款(首付款与售后尾款外其他款项)工作。

所以,个人通过分析感觉,一名开发人员转那个方向都是可以理解的,如果做项目经理,我个人感觉,你会更多的关注非技术的因素,而架构师,则更多的关注技术方面,但也要求你的项目管理能力。

其实很多时候,我都在想,这些所谓的技能从那里来,管理,架构,其实我们都是可以学到的,只要自己上心了,比如管理经验,即使你不是项目经理,你也可以换位思考,如果你在这个位置上该怎么做,他是怎么做的,记住了,还怕没机会么。

架构的经验,可能就麻烦些了,如果没有大型的项目,有些高并发之类的,你是不可能学到的,但也绝对不是问题,现在的资料已经很多了,前面我记得有专门的高并发的专题,关于铁路部售票网站的,自己多看看,实践机会也肯定会有的,在不然,你可以自己模拟些场景,比如,制造些大数据,用模拟的并发测试软件,都是可以的。

说了这么多,也是希望大家发表下看法,共勉之.....

原文链接:http://www.cnblogs.com/hliq/archive/2012/03/28/2421686.html

【编辑推荐】

  1. 百度首席架构师眼中的架构
  2. 给用户和开发者最佳的.Net框架部署方案
  3. XQuery 开发:一种更好的数据库编程语言
  4. 6个提高Java开发者效率的工具
  5. 基于引擎开发HTML 5游戏实战
责任编辑:林师授 来源: 似水流年-johnhuo的博客
相关推荐

2013-09-17 10:41:42

2010-07-20 16:10:12

UbuntuFedora

2012-09-26 09:35:13

程序员项目项目经理

2024-08-16 16:32:29

2019-02-21 14:21:07

CTO训练营技术管理

2010-04-20 09:18:00

架构师

2023-07-29 13:29:26

程序架构

2012-06-27 17:17:55

HTML5

2021-02-18 16:41:26

大数据疫情物联网

2020-01-03 08:45:42

手机eSIM运营商

2012-06-20 15:21:11

HTML5Opera欧朋浏览器

2020-10-23 17:00:04

数字货币区块链比特币

2012-08-15 10:53:33

产品项目

2022-04-11 09:32:14

项目经理离岸团队CIO

2015-06-11 09:36:12

带项目Leader特质

2017-09-18 13:38:34

IT项目经理互联网

2014-07-16 14:21:35

IT项目经理沙龙

2009-10-14 15:06:22

IT职业发展

2010-06-13 14:32:40

2012-02-16 08:32:36

思科
点赞
收藏

51CTO技术栈公众号