我们刚刚告别了2020年,2020年注定是一个不平凡的一年。伴随着疫情的防控和治疗,人们越来越关注远程办公领域,并且部分IT企业开始逐渐转向灵活用工。从宏观环境来说,中国通过自身的努力已经成为了世界上经济形势最稳定的国家。因此大量外资开始涌入国内,以期望获得稳定增长。而IT行业作为中国经济最强劲的引擎之一,也会随之发生一些变化,产生很多机遇与挑战。因此2021年编程业界如何进行生存并突破重围、获得新生,是一个值得探讨和研究的课题。
随着不少公司开始逐渐推进低代码战略,软件的开发成本将会得到进一步的降低,2020年引爆这一概念的起源是来自于“模板建站”和“少儿编程”领域。但是Low Code并不是2020年才提出的一个设想,由于其本身存在的复杂性特点,注定只能实现简单的CURD和流程编排功能,对于需求清晰、业务流程相对固定的使用者来说,低代码开发将会是一个非常好的企业信息化切入点。
与此同时,低代码开发平台将会成为2021年各大互联网公司、软件公司竞相争夺流量的入口。大多数的低代码开发平台都是基于SaaS服务,因此无论是版权声明、登录入口、业务单据处理界面、弹窗,甚至是手持机端、企业微信,都可以放置大量的广告,从而使平台的企业级服务和应用更容易推广,这种基于B端的流量将会碾压所有传统C端流量。
那么目前低代码开发平台发展的趋势如何呢?可以说是非常的不错,而且已经有大量相对成熟的产品。比如我们如果要实现一个网站、微信小程序、App,会有足够多的现成模板可套用,甚至包括ERP和OA领域,也可以做到开箱即用。低代码开发平台是IaaS、PaaS、SaaS、中台战略之后必将出现的产物。
从目前来看,低代码开发平台比较适合于初创公司、个人创业者和编程爱好者。低代码开发平台的拖拉拽操作越复杂,其越会背离降低成本的初衷,开发成本无法降低;而如果一味的去套用模板,则会使软件很难再有进一步的升级和改动,会有诸多易用性需求得不到满足。大型企业不可能为了节省几十万的开发费用而产生大量的人力资源浪费(比如给某个输入框增加拼音首字母缩写检索、多对多单据归类、格式化编码解读都很难用低代码平台来实现)。
因此低代码开发平台并不会使程序员失业,反而会使程序员的工作凸显的更为高端大气上档次,事实上很多不了解编程行业的人士对编程的理解停留在CURD,对程序员的工作强度和饱和度会有误解,一个能快速实现CURD工具是有存在必要性的,消费升级的第一要素就是让消费者发觉最初简单的设想无法满足快速变化的现实。
2021年将出现诸多的限界低代码平台(只处理某一领域问题的低代码平台),而几乎不可能出现通用低代码平台,因此作为程序员不必对其过多焦虑。
那么作为程序员,如何在低代码开发平台盛行的年代生存下去呢?
第一,不要排斥低代码开发平台,要拥抱变化。短期之内由于信息不对称,有很多需求都是可以采用低代码开发的方式来完成,有很多低代码开发平台可以在线生成源代码,这将会是一个非常不错的赢利点。
第二,善于挖掘低代码开发平台无法实现的功能,事实上现如今仍有大量的开发任务是需要定制化的,这些必须要人工实现的功能就是程序员的核心竞争力。要抛弃只会CURD的思想,更多的应该去关心业务实现和变化。
第三,由于大量不产生源码的低代码开发平台会在2021年推向市场,势必会造成SaaS泛滥,而很多企业更关注核心数据资产的安全,一方面私有化部署将会低代码开发平台难以进入的领域,对程序员来说存在机会;另一方面即使是做了公有云部署,基于云数据库的第三方加密通信中间件会成为一个小众而又必要存在的新开发领域。
第四,低代码开发平台领域会存在更接近实际编码开发场景的平台种类,这种平台保证了软件易于开发和维护,并且有灵活的控制系统,但操作仍需大量专业软件工程知识和管理信息系统知识。这种平台对于程序员来说,可以看做是将本地IDE搬到线上。
第五,注重服务,而非技术。不要着眼于可复制的效果,应注重软件背后要解决的问题。
微服务架构技术已经很早就出现了,本应2020年成为为服务架构普及元年,但是由于疫情影响,很多微服务架构的项目处于搁置状态,也因此让很多决策者开始重新思考如何构建更加健壮的微服务架构。
首先2021年要解决的微服务架构问题就是如何处理团队协作,避免底层微服务的改动导致整体微服务架构“雪崩”。这个问题是从何而来呢?实际应用场景中,笔者亲自经历过多次生产环境与开发环境代码互冲、分支冲突、底层微服务改动导致业务层不可用。仅仅依靠传统的批量单元测试、规章制度约束是不足以保证微服务架构稳定性。
因此2021年伴随着微服务架构的普及、各种微服务项目开展工作,DevOps也将随之普及。流水线式的规范测试、灰度环境部署、容器化都将成为常态。而程序员的操作权限将会随之收窄,质量管理委员会将会把公共微服务质量评审作为日常工作,由此产生大量新的工作岗位。客户对微服务的期待越来越强烈,因此微服务的开发平台设计、API接口也将成为重要的交付物。对于微服务架构师的需求将会与日俱增。
但由于微服务架构师、测试架构师的稀缺和人力资源成本的昂贵,2021年将会有大量的企业无法完成向微服务架构的改变,因此对于思路清晰的开发者而言,将是最佳的逆袭机遇。由于微服务开发需要大量的内存和算力支持,16G内存的高性能笔记本电脑将会成为微服务程序员的基本配置。
软件国产化已经被提上日程,从最初的应用软件、云服务国产化,到现在的操作系统、数据库国产化。IT行业已经有越来越多的领域实现了国产。国产软件已经开始从最初的借鉴、到后来的模仿,直到现在向核心领域进发,开始出现创新并取得卓越的成果,这是我们中国人的骄傲。
越来越多的年轻程序员意识到了基础科学研究的重要性,因此笔者在这里预言2021年中国将会诞生一批新的计算机语言、开源框架、整体解决方案。这过程中将会诞生各种开源项目,形成开源社区。并且程序员对于知识产权保护的意识将逐渐增强,因此小型软件公司如果不看LICENCE,直接照搬国产开源代码,会有法律风险。为了规避法律风险、获得更快速和专业的技术支持,很多软件公司和开源社区创始人之间将会达成合作关系,开源社区将会成为事实上的顶端供应商,也因此中国将会在2021年逐渐形成围绕开源社区的新生态和完整产业链。未来的行业巨头中会有人是从开源社区走出来的。
那么对于程序员来说,机遇就来自于是否能够成为开源社区的创始人,无论是从节省开发周期、群体对其技术实力的认可度、来自互联网的流量、媒体的曝光、用人单位的认可还是资本的青睐,做一款优秀的开源软件都将会事半功倍。
但软件国产化仍然有很多的路要走,比如如何使国产软件底层系统能够与国际上流行的软件系统进行数据交互、标准如何统一和兼容。这其中不仅需要企业的努力,更需要有更多非盈利法人的参与,将标准统一化、公开化、生态化,不将设想仅停留在纸面。
在2020年,我们经历和见证了许多企业内部安全防范失控的问题。无论是2月份的员工恶意删库跑路,还是后续大大小小代码泄露、内部员工制作外挂事件。作为企业的IT管理人员,都会意识到代码内控安全的必要性,以及不重视安全导致后果的严重性。管理者需要向程序员开放权限,但又不能开放全部权限;需要给予代码,但又要防止无形资产的流失。
因此2021年,更多的企业会开始着手将代码分模块、分层管理,对于数据库DDL语句进行严格的控制和过滤,甚至会开启审查模式。这一年我们会看到更多的计算机和网络安全厂商会提供更多的内部审计、快照、还原、追踪、防御工具。尽管软硬件上会产生诸多的冗余设计,但是比起动辄数以亿计的赔款,这些软硬件的冗余成本可以忽略不计。
另一个方面就是代码泄露问题,目前已知大多数做的比较成熟的软件产品都会或多或少存在代码泄露问题。除了恶意员工会将代码廉价在网站上出售,公开的代码还会暴露出深埋在其中的逻辑问题,给黑客可乘之机。甚至有黑客会将软件企业的核心代码通过层层转卖并携带后门来牟利,对于盗版软件消费者而言,一切隐私、权限都将暴露在黑客的视野之下,甚至会被远程替换支付系统的AppId、AppSecret,造成实质上的损失。
随着SaaS模式的普及和推广,也将会进一步摊平软件系统的运维成本,让互联网企业有更多的资金和时间来思考如何保障系统的健壮性和安全性,而SaaS模式的内控安全恰恰是管理中的重中之重。说到这里,笔者前段时间刚刚看过《拆弹专家2》颇有感触,在内控安全方面,最好的防范方式是照顾每一个员工的感受,让员工感到有成就感、满足感、归属感、集体认同感。笔者看来,大多数内部安全防范失控案件是源于员工自我价值实现缺失和薪资待遇得不到满足。
内控安全就像是人体的T细胞与癌细胞的关系,如果内控安全做的足够强,便会导致企业运转效率下降、员工积极性和自由度低,伤敌一千自损八百;如果内控安全做的不好,则癌细胞将扩散至全身,无力回天。
所以作为程序员,如果希望能在该领域有所建树,可以考虑做一些小工具或者整套解决方案来防范风险,特定领域的解决方案会有广阔的市场,比如K8S、Docker的安全防护。
中国作为世界工厂,工业是我国的第二支柱产业。那么如何更好的协调和调度工业生产,便成为了2021年的工业互联网的序幕。传统的工业自动化控制主要依赖于PLC控制系统、MES系统和ERP系统三方联动,无论是自动排产、自动投料、自动加工还是库存管理、采购与销售,都是非常成熟的体系。而结合了互联网之后,如何填平供需双方的信息差,避免供需平衡被打破,则是工业互联网首要要解决的问题,其次是如何实现更加智能和自动化的工厂。
未来将会有大量的工厂将主动式生产改为被动式生产。 基于互联网技术我们可以预测钢铁、煤炭的需求量,将订单直达工厂,一定程度上可以避免过量生产导致的价格暴跌,也可以避免产能不足导致的价格暴涨和违约风险。
基于IoT技术,可以实时掌握和控制工厂的各项参数指标。背后的后台系统基于AI的数字神经网络,在人员操作的过程中不断训练和学习。初期采用人工辅助的方式去远程操作,待数字神经网络被训练成熟后,后期则可以依赖AI进行自动控制,从而实现全自动化工厂。甚至可以通过技术,让传感器感受到机器是否损坏、判断故障原因、定位故障位置,结合机器人技术,能做到自动修复故障位置。
与此同时,带来的挑战是对于工厂传统模式的改革,如何开放更多的接口和操作UI给员工。毕竟技术发展的初衷是为了解决企业的问题,而不是让企业放弃社会责任、让员工下岗。虽然相信技术最终可以做到1-2个人足以操作整个工厂,但真的每个工厂都有几千人下岗,谁又会有能力去购买工厂生产出来的产品呢。这个问题是编程业界和工厂都需要考虑的,工人信息素养需要与技术发展齐头并进,否则工业互联网解决方案将很难落地。
发展科技的同时,对于科技带来的负面效果仍需保持谨慎的态度,过度智能和自动化有可能会导致关键问题环节出现严重生产事故,人工无法操作将导致灾难不可逆,因此工业互联网风控问题也将会在2021年逐渐被人们认识和发现。
可以预见的是,在工业互联网普及之前,率先使用工业互联网技术的恰恰是互联网企业,而互联网企业将加剧传统产业的竞争,甚至会产生降维打击。目前资本更倾向于向工业互联网解决方案厂商投资,而未来投资重心将转移至工厂。尽管前方的道路会有诸多艰难险阻,但是相信工业互联网必将带给人们更为富足的生活,也会带动更多的就业机会。
2017年7月我国发布了《新一代人工智能发展规划》,至今已经近3年多的时间。人工智能技术已经在我国落地生根并已结出累累硕果。但目前人工智能技术尚未全民普及,训练AI仍然是少部分程序员可以胜任的工作。
笔者经过仔细的思考和研判,发现问题主要集中在以下几点:
1、传统软件架构体系对于程序员思维的束缚,以及对线性代数、高等数学、概率论的不重视,导致广大一线程序员短期之内很难理解人工智能技术。
2、拿来主义盛行,未能真正理解人工智能的实现原理。也因此导致很多程序员无法处理过拟合、欠拟合、局部最优解等问题,无法根据实际情况自定义激活函数。
3、假人工智能程序的盛行,误导了程序员对AI的理解,并进一步蚕食了真正做人工智能人才的生存空间,大量低于训练成本的所谓人工智能程序在互联网上流行。
4、缺乏有效的训练素材、GPU计算型服务器租赁价格昂贵,都阻碍了普通程序员训练出优秀GAN的脚步。
正因为如此,所以2021年将会有大量的程序员转战人工智能领域,刻苦学习数学和算法,使用Python、Java、Golang来实现人工智能。并且会有大量开源的人工智能训练结果被公开,熟悉传统软件架构体系的程序员也将很轻松的将人工智能特性植入到软件中,所以数学底子比较薄的程序员可以时刻关注Github上的新项目,或许会有很多意外收获。
提到内卷化,广大程序员可能会感觉到瑟瑟发抖。实际上内卷化现象曾经在各行各业都出现过,而且内卷化是周期性的,IT行业也不仅仅是2020和2021年开始内卷,试想一下,周围还能见到多少ASP和VB程序员?内卷带来的好处是会使真正有能力的程序员获得更高的薪资收入和就业机会,而弊端也显而易见,会使一些技术并不强的程序员降低收入甚至离开行业。2021年,将会是编程界内卷化的一年,与此同时,企业对于人才的用人需求也会大幅度上升。
那么为什么会产生内卷化呢?从外因来说,是程序员的供给量大于企业的用工量,而从内因来说,是因为企业开始重视软件架构、可复用性、可维护性,从而导致对更为专业人才的渴求。一旦一个良好的架构体系形成,则无需过多的程序员参与维护,以避免整体系统的熵增,导致优良架构优势的失去。
普通程序员对抗内卷的方式大多是拼命工作和加班,用健康来换取在企业的生存空间。但人才型程序员对抗内卷的方式大多是寻找风口和技术突破点,在风口之上寻求自身的不可替代性。
所以2021年是一个内卷化实战的一年,会出现工作量和工作内容的分化。一方面是越来越多的公司搞不明白为什么别的公司发展那么快,从而陷入高强度加班的苦战,越想证明自己,就越痛苦。另一方面是少数公司寻找到了行业新的增长点和突破点,专业型人才将带领企业做大做强。
笔者始终认为做出来的程序要有人用,没有人去用、去欣赏就不是一个有价值的程序。每一天都在忙碌,连程序员自己都不会多看一眼的程序,注定会被淘汰。程序做出来之后,首先要自己喜欢、爱不释手,才有可能让别人喜欢上这个程序。
那么普通程序员在2021年对抗内卷化的方法就是加强计算机专业领域知识、加强英语能力、加强数学能力、从办公室走出去,多体会用户的使用场景,及时记录迸发出的灵感,在内卷化的大环境中做到与其他人不太一样,有专精的强项和深度的思考。所有人都在匆匆前行,唯有智者会抬头看路。
随着5G技术的普及,2021年将会产生更多线下下沉的互联网业态。人们不再仅仅局限于衣食住行,各个行业的方方面面都会开始出现互联网与线下实业结合的状态。
比如私有云构建的实体图书馆将会是很多市民日常必备打卡去处,不仅能闻到实体书的书香、桌面触屏观看想看的书籍,还能携带电子设备到实体图书馆租赁电子图书,而这里的需求着眼点便是“氛围”。再比如结合AR技术的迷你舞台,可以同时与现场和网络观众互动。云创业、云合同,将使得天南地北的小伙伴可以集结在一起,为同一个目标奋斗和打拼,这其中集聚的产业链力量不容小觑。
不仅城市中会出现互联网不断向线下下沉的业态,在农村更是会出现无人机与人工智能、传感器与人工智能、人工智能与互联网相结合的技术,对于防范病虫害、远程作业来说,这些技术都将能提高粮食产量。
2021年的互联网业态将会变得不仅吸引眼球,更能解决实际问题,而且更加人性化和智能化。
2021年,由于前端技术继续发展,群雄割据,各种有待解决的问题层出不穷,因此前端开发领域的薪资极有可能还会继续上涨。前端的模板技术、图表技术、事件技术将会形成一套新的理论体系甚至成熟的开源框架,前端也将在这一过程中越来越独立。而搜索引擎技术在这一年里将会发生巨大变化,对于webpack打包的前端程序会有更强的解析能力。后端开发技术在微服务、DevOps之后,还会出现一波Servless流行。
很多开源作者在2020年憋了一年的大招,2021年会成为开源界井喷的一年。大家很可能会发现辛辛苦苦写了半年的程序,竟然有开源项目做得比自己还好。遇到这种情况不要气馁,毕竟有经验的老程序员已经经历过太多次造轮子,淡定就好。
这一年里会有大量的新技术、新思路让人感觉Amazing。但是不要忘了,无论接触多新的技术,那技术都是别人的,只有自己亲自做,才会成为自己的技术,毕竟面试的时候面试官考的还是“大数据高并发”、“微服务”、“消息队列”、“二叉树”、“AOP/IOC”、“排序算法”……,而几乎没有面试官会上来考某个API怎么拼、有几个参数。
2021年我们怀揣着各种梦想走来。深入的去解读和剖析行业趋势,可以让我们更加清晰的认识到现在正在历史进程的哪个拐点。2020年也许有很多人流过汗、流过泪,甚至失去过工作,但只要坚信未来是光明的,总会有很多机遇等着我们去发现。笔者发觉可以做的事情太多太多,于是在2020年中也毅然决定辞职创业。
尽管2020年世界经济萎靡不振,但绝望中恰恰孕育着希望,全世界唯有中国经济发展依旧强劲,在如此繁荣昌盛的国度,撸起袖子加油干,勇敢向前闯!相信曾经迷茫的每个人都能在2021年触底反弹!加油!
杨总监带你学:HTML5与CSS3前端网页制作
杨总监带你学:JavaScript前端网页交互(更新中)
本文配图素材来自于 pexels.com、pixabay.com,原作者均已声明可用于商用及不要求署名。
本文配图文字字体采用阿里巴巴普惠体。