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


起因

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

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

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

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

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

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

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

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

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

什么叫做有前途?

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

在外包公司有前途么?

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

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

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

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

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

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

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

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

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

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

做增删改查有前途么?

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

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

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

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

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

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

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

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

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

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

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

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

总结

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

  1. 在外包公司也好,非外包公司也好,努力使自己成为专业的人,都会有前途。

  2. 不管在哪家公司,如果你觉得不开心可以离去;但是如果留下来了,请珍惜每一段时光,上帝既会给你关门,也往往会给你开一扇窗户,只要用心去发现,你总会有所收获。

  3. 其实认真干好每一件事情,都会充满前途。如果过于敏感,总觉得干这个没前途,干那个没前途,那大概你应该去选择创业。那里你可以找到属于你的好归宿。

  4. IT的职场的时光说漫长也漫长,说短暂也短暂。干得好就是四十年,干得不好,就是五年。

  5. 或许每个人都有机会花五年时间成为技术总监,但是却只有少数人,能够成为真正合格的工程师。

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

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

  1. Java程序员除了做增删改查还能干嘛?

    就以Java后端开发为例,说说不同级别程序员干的事情. 1 初级开发,大概是有3年Java开发经验. 22年底,上海,这批程序员如果学历是本科,薪资一般是8k到2w,当然如果能进好公司或互联网大厂,薪 ...

  2. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File; import java.util.ArrayList; import java.util.L ...

  3. 使用dbutils对mysql数据库做增删改查的基本操作方法

    2019独角兽企业重金招聘Python工程师标准>>> 1.数据库名:phoenix_uml,t_user.sql 表结构 SET FOREIGN_KEY_CHECKS=0;-- - ...

  4. sqlHelper做增删改查,SQL注入处理,存储值,cookie,session

    一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...

  5. 网贷害人,迷途知返后,天真的以为外包只要会增删改查就够了???

    时间跨度比较大大概两年多,内容较长. 先说说我的经历吧.垃圾双非二本软件工程学历,在校期间除了睡觉就是旷课打游戏.虽说学校教的那点东西没啥用,但是打打基础还是可以的.毕竟大三大四也会把你当猪仔卖给培训 ...

  6. vue访问php时做增删改查,node连接mysql生成接口,vue通过接口实现数据的增删改查(一)...

    武汉加油遇新是直朋能到分览支体调!中国加油! 想必许多干用是处框它观有理近货框万理架是察放是近学vue的小伙伴想连接数据库,对数据进行增删改查吧,奈何不知道怎么实现.作为一路踩坑的我,为大家带来我的一 ...

  7. java多数做增删改查_Java 实现一个 能够 进行简单的增删改查的 超市管理系统

    1. 首先编写一个 Fruitltem 的商品类, 描述 商品的基本信息. 代码如下: 保证详细, 运行的起来, 有什么 问题也可以评论留言. /* * 自定义类, 描述商品信息 * * 商品的属性: ...

  8. java ssm框架做增删改查,使用SSM框架组合实现增删改查的功能

    基于ssm框架组合的增删改查功能 ssm框架组合之前已经搭建完成了,下面基于该框架组合实现增删改查的功能,首先创建一个数据库和一张表: CREATE DATABASE `ssmteam` /*!401 ...

  9. java增删改查_Java程序员你真的甘心只做增删改查吗

    各位志同道合的朋友们大家好,我是一个一直在一线互联网踩坑十余年的编码爱好者,现在将我们的各种经验以及架构实战分享出来,如果大家喜欢,就关注我,一起将技术学深学透,我会每一篇分享结束都会预告下一专题 最 ...

最新文章

  1. AS3中,setTimeOut、setInterval、Timer区别
  2. 打破传统降噪技术 看网易云信在语音降噪的实践应用
  3. linux malloc 线程,Linux上的侧线程的malloc/calloc崩溃
  4. es6 --- 异步迭代生成器 Promise
  5. java面试题37 关于对象成员占用内存的说法哪个正确?( )
  6. Android官方开发文档Training系列课程中文版:OpenGL绘图之图形定义
  7. centos php 显示错误提示,Centos下编译php的典型错误及解决
  8. 英特尔扶正临时CEO 打破公司50年CEO选拔传统
  9. Linux操作Oracle(6)——Oracle11g OPatch 打补丁全纪录【Oracle11g windowsX64位环境+OPatch11.2.0.3.28】及资源下载
  10. OD教程(去除NAG窗口--PE文件结构)
  11. Python 调用谷歌翻译(2021年9月测试可用)
  12. 处nm是什么意思_CPU的nm是什么意思
  13. android画布橡皮,Android 橡皮擦功能的实现
  14. clear linux
  15. ItextSharp 坐标系转换
  16. js:聚焦和失焦事件示例
  17. nginx配置不允许访问内容
  18. Kindle Paperwhite 越狱/加字体/支持PDF、EPUB、DjVu、FB2、CHM和DOC文档
  19. java毕业设计—— 基于java+JSP+SSH的婴幼儿产品销售系统设计与实现(毕业论文+程序源码)——婴幼儿产品销售系统
  20. 万字长文解读DeepMind与谷歌的AI拉锯战

热门文章

  1. Unity3D4.* NGUI制作动态字库
  2. C#类与结构体究竟谁快——各种函数调用模式速度评测
  3. ASP.NET GridView控件匯出EXCEL-移除控件,只是顯示文本
  4. 6、struts.properties配置详解
  5. WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)
  6. alexa语音实现_如何通过语音删除Alexa录音
  7. Oracle 12c应用连接VIP轮训负载均衡?
  8. Redis集群(一):集群搭建
  9. MYSQL技术连环斩-MYSQL简述
  10. VMware Workstation(虚拟机) V6.0.2 Build 59824 汉化版 |