代码改变世界

关于职业选择的问题

2014-05-20 10:06 圣殿骑士 阅读(...) 评论(...) 编辑 收藏

这篇文章缘起今天早上的一条微博,在软件行业打拼多年,现在也遇到了职业选择的困惑。由于昨天刚发布完项目,今天相对来说比较闲一点,所以来博客园凑凑热闹!

在开始今天的问题之前先谈谈我们现在所开发的项目:

由于不是核心部门,所以这个项目只是提供给其他部门的一个工具——管理和分析所有的数据并用图形化的形式展示出来,同时提供一系列的报表。

  • 团队情况: 4个Developer(1人在澳洲,其他三人在新加坡),一个项目经理和一个产品经理都在新加坡,用户在美国。
  • 开发模式: Agile(一个Phase包含若干Sprint,2-4个礼拜为一个Sprint)。
  • 团队协作:与用户的交流主要靠Meeting,通常在星期二或者星期四早上进行,由于时差关系,所以早上五点钟出发到公司参加Meeting。开发者之间的协作比较自由,完全Agile。
  • 开发流程:完全按照微软Agile标准,Phase Start==>Sprint Start==>Requirement==>Development==>SIT==>UAT==>Prod==>Sprint Closed==>Phase Closed

第一个版本

主要技术:.NET 4.0 , WCF, Silverlight, C#, TSQL, SharePoint, IIS 8,  Cloud Computing (SQL Azure).

image

 

第二个版本

主要技术:.NET 4.0 – 4.5, WCF, Web API, Silverlight, WPF, C#, TSQL, SharePoint, IIS 8, MVVM (MVVM Light), Cloud Computing (SQL Azure).

image

 

第三版本

主要技术:.NET 4.5.1, Web API 2.0, C#, HTML5, CSS3, ASP.NET MVC 5, TSQL, Bootstrap , jQuery, KnockoutJS, MVVM, Cloud Computing(Azure Table & SQL Azure).

image

由于前面的几个Phase和Sprint都开发得比较成功,用户也比较高兴,所以我们一直认为这个项目正在逐步发展壮大中,同时也相信我们会做得更好。但好事多磨,就在开发第三个版本的过程中,突然我们接到了项目移往美国开发团队的消息,由于新加坡这边不是Development Center,再加上自己不喜欢做纯管理或者纯业务相关的职业,所以就出来面试了几家公司,也收到了几个Offer,正在做决定的时候,半夜收到Director的短信,项目又从美国移回新加坡,希望能继续留在微软做开发和维护,这让我更加难以抉择了!

选择如下:

  1. 留在现有公司做项目的开发与维护,由于是主要攻城师,所以轻车熟路。
  2. 去另一家500强企业做开发经理,带领整个团队。
  3. 去创业公司做首席架构师或者CTO,前途有些未知。
  4. 去一家保险公司做架构,一切从零开始。
  5. 去一家在线零售软件开发公司做核心开发。

如果有类似经历或者经验的同仁们给点建议,如果博客不方便,也可以去微博:圣殿骑士微博 ,谢谢!