一位读者小M给我讲述了发生在他们公司的真实故事,为了避免不必要的麻烦,隐去一些敏感信息,我将整个事件的经过整理出来:

小M是广州某制造企业的技术负责人,下面带了50个技术人员,负责该公司OA、CRM、人事等多个日常运营类系统。小M也是我的知识星球“老K星际不迷航”的会员,私下咨询过我不少关于个人职业规划、技术团队管理、低代码方面的问题。

感觉上,小M是个挺有想法的人,也很勤奋,在知识星球里经常输出、帮着回答其它会员的问题。

在小M看来,目前他们公司的问题是:整体研发效率不高、业务方想法太多、老板对IT不是很重视。

在这种环境下,技术经理的工作压力非常大:一方面,业务方觉得系统交付太慢,提任何需求都需要排期;另一方面,老板觉得IT的成本太高,一直不愿意增加IT投入;此外,技术人员觉得业务的需求经常变,没上线就已经推翻原来的需求了,经常导致返工。

小M曾经问过我,这种情况应该怎么破局,我就问他:你是为自己,还是为公司?因为不同的目标,就有不同的打法。如果为自己,那就走上层路线,唯一要做的事情就是伺候好老板,只要他在老板那里说得上话,业务方的压力、员工的压力,那都不是事。

小M跟我说,为公司。这让我挺诧异的,职场当中不把自己的利益放在第一位,确实难得,这让我对小M高看了两眼。我给他的建议是,抓主要矛盾。小M梳理了一下,现在最大的矛盾就是:系统交付慢、业务方满意度低,经常到老板那里投诉。

我建议他研究一下“低代码”,用两条腿走路:一、把有限的研发资源,投入到核心业务系统的研发当中,跟业务方一起做需求治理;二、用“低代码”承接非核心业务系统的开发需求、或创新类需求。

于是,小M经过一番调查,选择了国内一家“低代码”供应商,最先把OA、CRM系统用低代码进行替换。在供应商的帮助下,顺利完成了系统搭建、用户权限打通、还做了数据迁移,基本上算是用起来了。

渐渐地,业务方觉得“低代码”平台挺好,调整流程、加个字段,不再需要排期,上午提的需求,下午就能上线。这个消息很快传到了老板耳朵里,老板两眼放光,让小M赶紧给他汇报一下,这个低代码究竟能够做什么。

经过几次汇报之后,老板总算明白了低代码到底是干啥的,于是他非常支持小M的想法,希望他把尽可能多的系统用低代码平台来实现。小M听了之后,很高兴,连忙跟技术人员一起梳理,在后来的3个月里加班加点,又把工单系统、供应商管理系统陆续迁到低代码平台中。

也就是说,除了核心业务系统之外,能迁移的系统都完成了迁移。原本小M的计划是,之前负责这些系统的技术人员,把更多的精力投入到核心业务系统的开发当中,底层架构做个升级,顺便还技术债,再丰富一下接口,让核心业务系统的健壮性、代码可维护性、可扩展性得到进一步提升。

但是奇葩的事情发生了,上周被老板叫到办公室,HR也在场,让他把非核心系统的开发人员列一个表,小M也不知道老板的葫芦里卖什么药,就把名单整理了出来,总共30人。

第二天,名单上的人员就都接到了HR的裁员通知,给了N+1赔偿,要求当天办理离职和交接。

小M完全蒙在鼓里,非常气愤地找老板理论,老板笑脸相迎,说是董事会的决定,自己也是刚刚得到通知。小M不傻,一听就知道被老板当猴耍了,老板的骚操作搞得他非常的被动。

但是,眼下也顾不得生气,赶紧联系行业的朋友,挨个给被裁撤的员工找下家,我也帮小M内推了好几个岗位。

一周后,小M在微信上跟我说,本来一心为公司降本增效,才引入低代码,通过梳理核心系统和非核心系统,优化IT投入产出比。哪里知道,老板在背后给他来这么一手,搞得他的处境非常被动,现在团队的气氛也变得非常微妙,没被裁撤的员工,也纷纷在找下家。

我说,求仁而得仁,又何怨?你当初的目的不就是为公司降本增效吗?

小M沉默了,其实道理他都明白,这是他的职责所在,但是他过不了自己这一关,30几个下属都是他一个一个面试进行的,现在却要一个一个地送走,换了谁不难受?

摆在小M面前更严峻的问题是,今后在公司将如何自处?老板明摆着是对他不信任的,连裁员这样的事情,他也是最后一个知道的。下属们也没有了安全感、归属感,研发效率上肯定会受到影响。业务方已经尝到了“低代码”的甜头,反而对IT的容忍度变低,应该会变本加厉的在老板面前捅刀子。

小M的选择其实并不多,其实经历了这个事情还是利大于弊的,虽然感情上接受不了,但是至少让他看清楚了老板的真实嘴脸,否则等到公司临上市前被扫地出门,不是更惨?而且积累了低代码的实施经验,简历上也加分了,塞翁失马,焉知非福。

小M的故事就聊到这里,接下来聊聊关于低代码方面,大家关注的几个问:低代码究竟适合用来做什么?不适合做什么?低代码会不会彻底干掉程序员?

1、低代码适合做什么?

从小M实施低代码的故事当中我们了解到,除了业务核心系统之外,他们几乎把非核心系统都用低代码实现了。

这种用法其实是低代码非常典型的应用方式,一般来说企业不会用低代码从零来开发整套核心业务系统,比如ERP,因为如果你需要一套ERP,直接购买成熟的解决方案就可以了。除非你的情况跟特斯拉一样,公司的业务模式跟同行业有很大区别(传统汽车销售是经销商模式,特斯拉是直营模式),那就另当别论了。

就目前而言,低代码不适合用来从0到1构建厚重的企业核心数字化系统,低代码更适合基于核心数字化系统之上,构建创新类应用、敏捷运营类应用。

有个更形象的说法,低代码更适合做企业数字化建设当中“最后一公里”的事情。

从小M的案例当中可以看到,这样的应用方式极大提升了技术研发和系统交付的整体效率。

低代码当前正在处于“技术成熟度曲线”的创新萌芽期,随着低代码平台的日益成熟,模板越来越丰富、生态越来越完善,未来低代码的适用范围也会得到扩展。

当前比较适合采用低代码来开发的5类应用有:

1、企业门户。包括App、小程序、PC门户等等,数据都来自中台、后台,企业门户只是做展示,以及简单的互动。

2、数据操作及展示应用。通过连接企业的数据库,把生产经营的数据进行编辑删除查询等操作。

3、基于表单的应用。基于数据库的表单收集、处理、统计类应用。

4、业务流程应用。定义复杂的工作流,跨部门协作流程,复杂审批流程,比如:OA、人力、财务等系统。

5、移动端应用。基于已有核心生产经营系统,进行移动化的应用场景。

讲完低代码适合做什么,我们再来聊聊:低代码不适合做什么。
上“低代码”半年,30名程序员被裁,CTO离职

02、低代码不适合做什么?

如上文提到的,就目前而言低代码不适合用来从0开始构建厚重的企业核心数字化系统,因为受限于模板、生态、可扩展性。

低代码毕竟不是高级开发语言,因此对于界面效果要求特别高、复杂的算法和数据挖掘、高性能和复杂系统架构、要求较高的底层开发等等,都不适合使用低代码。

总结一下,不适合用低代码开发的应用场景:

1、构建厚重的企业核心数字化系统。比如构建一套完整的ERP、CRM等等,有这类需求的企业,更适合购买专业的企业核心数字化系统。

2、对界面效果要求较高的应用。比如短视频应用、交互酷炫的游戏。

3、复杂的算法和数据挖掘。虽然低代码可以处理复杂的业务逻辑,但是不适合用来处理复杂算法和数据挖掘,这类应用应该采用更专业的BI开发工具、机器学习平台等工具。

4、高性能和复杂架构。许多互联网巨头的并发量动辄千万、上亿,为了优化性能需要做很多措施,如服务化、中台化、集群化、云化等等。低代码是相对标准的:界面层、逻辑层、数据层的架构模式,无法应对高性能和架构灵活性。

5、要求较高的底层开发。如设备、硬件接口、驱动程序等等,这类开发工作可能C、汇编语言更适合。

03、低代码会彻底干掉程序员吗?

从小M的故事中可以看出,低代码能够把程序员从技术含量较低的CRUD工作中释放出来,去做一些更有价值的架构优化、底层服务升级、复杂算法方面的工作。

从低代码的发展趋势来看,越来越多的程序开发工作,将会通过低代码来完成,低代码干掉程序员的事情已经在发生了。虽然,小M的故事有一定的特殊性,是在特定的公司,特定的领导,特定的业务场景下才会发生。

但是,危机给了我们足够的警示,需要我们冷静面对、仔细思考,K哥结合自己的思考以及同行的建议,总结了5项应对策略,希望每一位从事软件开发的朋友引起足够的重视:

1、警惕重复性编码工作。如前文提到的,低代码已经能够完成复杂业务流程类开发工作,能够基于表单驱动、模型驱动的方式进行软件开发工作。最先被替代的就是那些技术含量低的重复性编码工作,如果你是一个CURD BOY,请立刻停止低水平的重复劳动,否则离被淘汰的日子不远了。

2、在低代码不擅长的领域深耕。低代码因为受限于模板、生态、可扩展性,因此对于界面效果要求特别高、复杂的算法和数据挖掘、高性能和复杂系统架构、要求较高的底层开发等方面工作还不能胜任。所以,这类技术含量较高的工作,就目前来讲是相对安全的,建议程序员们在这些领域进行深耕,提升职场核心竞争力。

3、远离短视的老板。如果你的老板对技术不重视,没有把企业数字化能力看做公司的核心能力,建议你尽早远离。因为,随着低代码的不断成熟,越来越多的业务系统研发工作将由低代码平台来完成,短视的老板会更看中投入产出比,像小M公司里发生的事,在行业里会越来越多。

4、永远不要停止学习。技术在不断演进,工程师的工作方式也在不断发生改变,只有不断学习新的技术才能跟上时代的发展。一旦停止学习,就不再适合从事一线技术开发工作,所以,如果你热爱技术,那就成为一名终身学习者吧,这是唯一的出路。

5、启动职场B计划。以前在许多文章里都写过“ABZ计划”,这里就不多介绍了,“ABZ计划”不仅给了你职场上的保障,还能够帮助你找到一生热爱的职业,比如《三体》的作者刘慈欣,脱口秀演员呼兰、庞博,都是通过B计划转A计划,找到了一生热爱的职业,实现了人生跃迁。

结语

最后,本文的目的并不是想引起焦虑,相反,当我们察觉到了危机的来临,提前做好了应对的准备,就没有什么好担心的了。拿破仑说:“伟大的人之所以取得成功,都是因为他们懂得顺应法则,懂得努力适应一切障碍。” 多说无益,干就完了。

源:技术领导力

上“低代码”半年,30名程序员被裁,CTO离职相关推荐

  1. 低代码,抢不动程序员的饭碗

    来源 | 深燃(shenrancaijing) 作者 | 宛其 编辑 | 李秋涵 最近,号称可能让程序员失业的"低代码"再次引发关注. 有媒体报道,低代码厂商黑帕云被字节跳动旗下飞 ...

  2. 低代码开发,是程序员的“福”还是“祸”?

    编者按:低代码是IT界的新风口,它真的会抢占程序员的生存空间吗?本文带你来扒一扒! 风口上的低代码 疫情肆虐下,低代码之火不仅没有熄灭,反而更加如火如荼,相对于传统开发,它的确为人们展现了许多不可比拟 ...

  3. 我,30岁程序员被裁了,千万别干全栈

    大家好,这里是程序员晚枫,今天是读者投稿.下面开始我们的正文.

  4. 抖音python上的代码视频_资深程序员:十行Python代码教你爬取抖音视频!

    环境说明 环境: python 3.7.1 centos 7.4 pip 10.0.1 部署 [root@localhost ~]# python3.7 --version Python 3.7.1 ...

  5. 无代码时代下,程序员不够用了!

    从左到右:韦青.刘卓(主持人).蒋涛 扫描上方二维码直达精彩回顾 整理 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 在国外,无代码平台发展得如火如荼,但在国内,无代码平台尚不够普及应用. ...

  6. 因未发项目奖金,一名程序员决定删代码泄愤

    长按识别上方二维码,关注公众号:后端面试那些事 回复"报告",获取你的GitHub年度报告! 作者 | 刘琳 来源 | 刘琳 你永远都想不到程序员会因为什么删掉代码. 你可能还记得 ...

  7. 【转载】以前ioi上看到的一篇关于如何成为一名程序员的文章

    一.为何要学编程? 每个人的动机不一样.大致有: 1.为了找个好工作:或为了有更好的机会和更好的发展. 2.看到别人超厉害,所以也想学. 3.实际工作中很多场合需要. 4.从小就立志做个程序员,做软件 ...

  8. 2019年30岁完成从一名程序员转行成一名高中信息技术教师

    本文章分享给远离家乡工作的同学,想转行回自己家乡工作.教师是一个不错的选择.这是我完成整个过程的一点经验. 我2014年本科毕业,学的是电子信息工程专业,学过一点C/和C++,非常的基本,后面听说做程 ...

  9. 作为一名程序员,我都在电脑上都装过哪些 Chrome 插件?

    相信在座大部分从事软件开发的同学都与我一样,每天在 PC 端上使用最多的几类产品,无疑是浏览器.代码编辑器和命令行终端. 而一旦提到浏览器,自然不免俗的要提到那个倍受诸多开发者喜爱的 Google C ...

最新文章

  1. 为什么123 and 456结果是456而123 or 456结果是123?
  2. LeetCode 205 Isomorphic Strings(同构的字符串)(string、vector、map)(*)
  3. 外贸常用术语_推荐必看!外贸、货代人订舱常用术语及订舱单中英对照!收藏备用...
  4. JavaEE5 Jax-ws 学习(Soap webservice)
  5. 构建Java Web应用程序时遵循MVC的三个步骤
  6. 最近比较火的一款字节产品
  7. 大数据、云计算、AI大牛都在这里了,就等你来捞干货
  8. jQuery 的禁用和只读 ---防暴动处理
  9. 黑莓手机将停售;三大运营商:疫情防控期间用户欠费不停机;Chrome 测试移除搜索结果页网址 | 极客头条...
  10. gRPC框架学习:5、Java+gRPC+maven+idea实例测试并打jar包
  11. 关于Nginx跨域配置的一些问题,详解如何正确的配置跨域
  12. solidworks模板文件_教你如何快速制作工程图模板
  13. CRM客户管理系统(Java)
  14. Android开发 应用软件更新通用方式--强制/非强制/远程控制/浏览器 更新
  15. Android IntentService deprecated|笔记
  16. 负整数及浮点数的二进制表示
  17. 【非原创】这一生至少当一次傻瓜(r4笔记第88天)
  18. 智能车阳光算法(含大津法)
  19. python简易爬虫
  20. 计算机图形学(二):三维图形变换及应用(平移、旋转、缩放、仿射)

热门文章

  1. RocketMQ-PushConsumer配置参数详解
  2. 数据链路层之差错控制(检错编码和纠错编码)-(奇偶校验码、CRC循环冗余码、海明码)...
  3. aws waf sql注入_适用于快速SQL Server Always On部署的AWS启动向导
  4. integration_Integration Services性能最佳实践–写目标
  5. angularjs -- 监听angularJs列表数据是否渲染完毕
  6. 判断x是否为2的n次幂
  7. cf(聚簇因子)调优,计划调优,SQL改造
  8. odbc数据源的配置
  9. js解析xml字符串或xml文件,将其转换为xml对象方法
  10. Spring3 工具类大汇集