我不看好的职业:架构,测试,运维,产品经理

如果你是一名职场新人,我不建议你投上面任何一个职位的简历。 如果你是老鸟,可以去做架构师。

架构

不要做只做架构的架构师。

因为你无法知道第一线工程师面临的问题。

日本的软件公司,专门有个公司叫架构师。收到需求之后,他会把需求一点儿一点儿的做 分析,然后设计,从骨架,到伪代码,直到某个按钮的名字。

不要做这样的架构师。能把技术的大方向定下来就可以了,千万不要做去干预第一线程序员 的事情,因为:

  • 不参与第一线的工作,就无法准确判断出面临的问题
  • 不准确的预判,会导致不合理的架构
  • 由第一线的程序员来做写代码最合适。

好的CTO 或者技术经理可以把这些工作做的很好。

测试

测试的基本功,是人肉测试。 好的测试人员,需要熟练运用自动化测试。 可惜的是,这些年来,大部分测试人员,都是刚毕业的年轻人,没有接触过自动化的工具。 所有的工作就是人肉。在项目上线之前通宵加班。 他们的工作内容也很简单,鼠标手指点点点。

这样的工作没有技术含量,是没有价值的。

而且特别容易造成与程序员的摩擦。曾经有个朋友,测试人员一天给他提了200个BUG。 沟通无果后,这位程序员朋友离职了。工作没法干了。

我认为,一个好的项目经理 + 懂得测试的程序员,就完全可以承担传统测试人员的工作。 而且由产品经理来把握需求的优先级,是特别合适的。

另外,给测试同学的建议:

你可以在大公司里养老。但是你一旦离开就肯定找不到工作。创业公司不会有钱雇佣你。 十年前做测试的朋友早都转行了。10个里面留下一个就不错了。

你看看自己会不会 selenium , appium , load runner 。如果都不会的话,赶紧现在就转行。

如果你会的话,相信我,其他程序员掌握这些工具的能力比你快还比你强。

运维

运维的工作包括:

  • 管理服务器, 域名。
  • 分配账号
  • 部署最新代码
  • 维护wiki, 防火墙,解决宕机问题
  • 需要7x24值班。
  • 优化nginx等服务器。

这些工作,很多都是对 程序员和服务器之间的阻碍。 直接导致程序员的工作效率降低。 导致出错时各种推诿。 没有太高的技术含量。 在BAT这样的大公司会比较有用。但是在其他公司, 日访问量100W以下的,没有用武之地。

上面这些工作,熟悉LINUX的程序员都会做;而且做部署,优化服务器的话,程序员 做的会更好。因为代码就是程序员写的,一旦发生问题,程序员会最快的分析出日志, 会第一时间知道问题出在那里。

加上VPN, 短信报警,也就不需要7X24的值班了。

更重要的时,你除了BAT这样的大公司,无处可去。职业没有出路。

产品经理

我对这个问题还没有想好。

这个职业不需要高深的知识,连英语都不需要懂。主要工作是:

  • 明确需求
  • 提高用户体验
  • 跟进项目进度
  • 做一些测试

这个职位没有什么发展前景,但是对公司是很重要的。因为需求是项目的成败所在。 好的产品经理可以很好的掌握需求,让大家知道哪里应该发力。

所以,对于产品经理要有好的定位(例如让他来领导程序员),这样的产品大神来主导 项目,就可以了。

但是,在一般的公司,产品经理,如果他跟程序员平级,甚至隶属于不同部门的话, 就会 跟程序员有强大的对抗态度,而且难于施展拳脚。

从个人的观点出发, 做好产品经理,记住一点: 用户就是最好的产品经理。

这个职位,一旦离开公司后没有什么前途。去创业做CEO的话,是个不错的选择。