39

我在外包公司做增删改查有前途么?

 4 years ago
source link: http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA%3D%3D&%3Bmid=2654077138&%3Bidx=7&%3Bsn=e4ca70209a91959b413716dd904b2f7b
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

3AzMzia.jpg!web

作者: 邹溪源,长沙资深互联网从业者,架构师社区特邀嘉宾!

这是我无意中在筛选简历时,看到一位朋友发布的求职说明中,明确指出,外包勿扰,并给出了他做出这个决定的理由:

过去若干年间,他一直在中软国际从事.NET方向的软件研发,虽然工作了很多年,但是做的项目类型特别多,总感觉没什么积累,而且工作很累,经常要加班,压力很大。 不仅如此,由于外包类型的项目,往往需要驻场开发,一旦在客户现场进行开发,其实都会成为封闭式开发,每天投入工作的工时往往会超过十几个小时。 而且在客户现场的开发时,有时候就是低等公民,得承受来自各方的压力。

前不久也刚刚看到一位来自西安软通动力的资深Java工程师,由于长时间加班后引发身体疾病,并最终猝死,还得不到工伤补偿的新闻也触动了我们的心。

这边的互联网公司从业人员还可以吐槽每天996,让自己成为被公司圈养的小绵羊,更是让自己的家庭生活都受到了无穷影响; 那边的外包公司从业人员们显然没有互联网公司这么多的露脸机会,哪里有时间运营自己的公众号啊,每天都被客户压榨得死死的,还得跪下来对客户说: 爸爸,再爱我一次!

当然,坦率而言,现在国内的IT行业现状其实压力都很大,无论是外包公司、还是互联网公司,如果是几年前大环境还好的时候,或许大家压力大点,至少不会饿肚子,现在冬天来了,不仅压力大,而且还吃不饱穿不暖,一旦遇到公司困境,还得面临被裁员的后果。

nIJNZrz.jpg!web

好吧,在这篇文章中,我还是不输出焦虑了,只单纯的讨论一下这个问题。

在外包公司做增删改查有前途么?

有没有感觉,这是一个通用的句式: 干xxx有前途么?

BfaMJri.png!web

例如,在百度里面输入,“干程序”,首先会自动提示的就是“干程序员有没有前景”? 好吧,有没有前途我也说不准,我就单纯的探讨一个问题,什么叫做有前途; 在外包公司有前途么; 做增删改查有前途么?

什么叫做有前途?

嗯,大家都认为钱=前途。 有前途等于发财。 这个问题就这样吧。

在外包公司有前途么?

外包公司的主要盈利点,其实是软件研发过程管理或者软件项目管理能力,一套优秀的软件项目管理流程体系,往往能够实现软件开发过程中的生产力最大化,进而为企业的发展带来巨大的利润。

在外包公司,主要的收入其实是来源于项目参与人员的人工费用,一般会采用“工料合同”的形式。 这种合同又称为单价合同,一般会根据产品在研发过程中的实际投入或服务来计算合同总价。

当然,其实许多外包公司会采用这种方式来进行工作量的评估,然后再用总价合同的形式来签订合同,毕竟“工料合同”其实浮动空间很大,容易造成甲方的成本超支严重,而使用总价合同就可以将风险转嫁给乙方,对于甲方来说自然而然就实现了利益最大化了。

而总价合同的特点是应该明确设定需求、对功能的工作量评估都应该尽可能的科学,问题是,客户明白他想要什么么? 大概率客户并不懂他想要什么,或者他以为他懂他想要什么,而且你以为你也懂他想要什么。 于是陷入双方需求的拉锯战,软件的风险急剧提高,让苦逼的乙方程序员们成为砧板上的肉,被迫每天牺牲自己的时间,拿有限的生命投入到无穷无尽的需求大坑中。

而且有时候由于行业不同,还会陷入需求陷阱中,各行如隔山,客户想要的,往往与你能提供的,存在很大的差异。 例如,连微软都会被武汉上诉,要求赔偿其在智慧城市项目中造成的大几千万损失,一般般的外包公司就更不用说了。

如果遇到这种情况,请勇敢的选择拒绝,或者使自己成为更专业的人。 努力花更多的时间学习行业知识,然后用数据或阶段性成果让客户尽可能的无话可说吧。

当然并非所有的外包公司都是这种情况,例如像SAP或者Thoughtworks,其实也可以被世俗的理解为外包公司,他们也是为客户提供外包服务,但是由于他们是行业内的领先者,能够为客户需求提供更加专业的建议,所以他们有资格找客户签署“工料合同”。

例如一个SAP的服务工程师,从上飞机起就开始计算工时费用,每天动辄万元的服务费,服务工程师的工资自然而然也低不到哪里去了。 我一位同事他哥哥就是从事SAP的外包服务,他说他哥哥每年只上半年班,工资超过3万一个月。 嗯,好吧,这种外包就等同于有前途。

依然有许多公司会走在签署总价合同的外包公司的道路上,毕竟企业生存是第一要务,万一哪天接到一个合适的项目,让公司能够顺利的摆脱外包公司的这块皮,进入细分市场,获得进一步的生机呢?

不过大部分外包公司或许其实并没有那么好的命,而且还会由于内卷化(指优秀员工逐渐流失,而新人难以加入,最后被中庸的老员工主宰企业的命运)最终越来越丧失竞争力,并最终只能凉凉。 而且缺乏核心主业的外包公司确实很难获得技能上的积累,这需要开发者能够提高自己的技术学习能力,努力使自己成为最专业的工程师。

IVbMRvf.jpg!web

做增删改查有前途么?

许多开发者都吐槽,每天的工作都是CRUD,也有许多开发者经常吐槽身边的那些开发者没前途,只会增删改查。

怎么觉得这个问题为啥这么魔性呢? 难道你和他们不是同一拨人么?

有时候还会看到有人吐槽,说每天都在做CRUD的业务开发,感觉自己人都要玩废了。 还问我怎么想。

我个人认为CRUD才是公司业务的常态,只有能够把CRUD玩得非常好,公司业务才能获得更快的发展。 从表面上看,CRUD工程师的主要职责就是建表、封装接口、然后让接口输出数据符合客户端需求。 实际上这里面依然牵涉到许多充满技术含量的东西。

例如,该如何建表呢? 从海量的用户需求中,分析出与系统息息相关的核心部分,并分析出符合用户需求的核心领域,这种业务分析与设计能力是一位软件工程师非常重要的核心技能。

例如,以前都是撸sql,现在都用orm了,是不是觉得很香? 增删改查一样也充满了期待啊。

该怎么建表,也并非想象中那么简单。 例如主键是用自增序列,还是用UUID,该怎么设计索引,如何设计缓存,如何运用分表分库策略? 这些看起来很简单的东西,往往并不简单。

除此之外,代码的质量本身,也是一件值得深入钻研的方面,例如《代码整洁之道》和《重构改善既有代码的艺术》这两本书就专门介绍了如何写代码和如何把代码写好。 这也是一件看起来简单,却并不简单的事情。

除此之外,沟通技能、架构能力、风险意识,也都会在这些CRUD的开发过程中得以体现。

为什么总是会认为CRUD毫无挑战呢。 如果你已经成为软件开发领域的大牛,请收下我的膝盖,否则大概率是因为你已经走在了云程序员的路上,把一切问题都想象得太简单了吧。

突然想起之前看的的一张段子,说火箭其实没什么技术含量,因为中国古时候早就有了。 还有之前看的郭德纲嗯段子,他说: 如果我跟一位火箭工程师讨论火箭的燃料不应该用氢氧,应该烧煤,对方正眼看了我一眼,那就是我输。

嗯,云程序员们,咱们离专业开发者还有不少差距啊!

IF7ZRrI.jpg!web

总结

回到主题: 在外包公司做增删改查有前途么?

b2Q7ryq.jpg!web

如有收获,点个在看,诚挚感谢


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK