关注【智践行】,我们一起成长

技术革新从不以人的意志为转移,但却能因个人的选择而重铸职业轨迹,AI崛起的当下,程序员的命运之笔正握在自己手中。

今年春节前后,AI界热闹非凡,各种大模型的新突破、超强的新能力、全自动新工具的消息像海啸一样扑面而来。可以说各行各业的牛马们都在瑟瑟发抖,时刻有被替代的风险。生文、生图、生视频各种能力刷刷的往上涨。再加上越来越多裁员和招聘卡年龄的信息,真不知该对技术进步心生欢喜,还是该心生畏惧。

作为一个DOS时代干起的40+大龄程序员,这20多年的工作中经历过不少新旧更替,从DOS开发到Windows开发、从单机到联网开发、从PC到功能手机开发、从功能机到智能机APP开发,从APP到跨平台SDK开发,我始终在学习新事物。然而,这一次变革不太一样。以前的技术更替,主要是学习新的平台,新的系统,掌握新的开发工具。而现在则是AI大模型工具、自动化生成式编程和AI Agent可以直接替代程序员。特别是manus这种全能AI Agent出现后,不再需要这么多程序员,程序员的出路在哪里呢?

上周,我用Cursor做了一个简单的微信小程序,一共两个Tab页面。一个页面根据最新热门电影的json数据显示电影列表,另一个支持选择电影进行评价,并在提交后显示提交成功。整个过程,除了搭建开发测试环境和微调,我没有写一行代码,测试用的json数据,也是DeepSeek从豆瓣热榜抓取的。这次实践让我深刻体会到,只要指令清晰准确,AI开发效率非常之高。这既让我为AI技术的进步感到兴奋,这将减轻了很多码农手搓的基础性工作,大大的提升效率;同时也让我不禁思考,未来程序员的工作方向在哪里?基础编程知识还重要吗?C/C++程序员又该何去何从?

最近,我一直在思考这些问题,关注相关资讯,看了许多直播,读了很多文章。直到看了CSDN直播“建忠研思:AI时代如何做一名硬核程序员?”,才逐渐理清思路。结合业内大神们的观点,汇总一下我的理解:

一、向上成长

目前AI大模型特别是后面AI Agent的发展,会把偏前端和中层也就是应用层的程序员逐步替换掉,那么对于这部分程序员来说,应该向架构师和产品经理方向的转换。从更高层次把控程序走向。而大部分基础性细节和实施可以交给AI大模型来完成。比如我上周用cursor做的那个小程序,你就需要有产品思维,知道客户需要什么,要做成什么样子用户操作更方便,更喜欢用;然后就是需要有架构师的思维,规划整个APP的架构,不要堆出一个又一个屎山。尽管有人认为可以不关注代码,只需要不停的重新生成,但是目前对于复杂的项目,AI来说还是比较难以一次性理解和生成,全都重新生成代价也比较高。不停地根据需求重新生成,完全不管整个工程的架构的模式,可能更适合原型。

二、向下深入

另一个发展方向是向下,成为系统级偏底层的程序员,构建AI运行的支撑环境,也就是李建忠所说的硬核程序员。从事系统级开发,需要熟悉AI依赖的硬件系统和平台,从以CPU为中心的架构转向以GPU/NPU为中心的神经网络架构,从以串行为主转变为以并行为主。这条路径对C++程序员较为友好。

那么,系统级程序员需要具备哪些能力?建忠老师总结了以下几个方面:

  1. 语言能力:掌握C++和python,再加上一些Rust。而且不光要熟悉语法,也要培养机器思维,理解代码背后内存结构、运行时变化、编译器转换及运行时机制,了解这些的最终目的是提升代码效率。同时,还要具备设计模式、组件封装、接口设计和架构设计这些抽象思维。特别是接口设计尤为关键,它抽象类运行时接口设计和C++20的Concept编译时接口设计,还要遵循良好的设计规范。
  2. 系统知识:仅有语言能力不够的,还需要学习所处技术栈的系统级基础设施技术。如果你是在Linux上开发,需熟悉Linux操作系统;如果你进行GPU编程,就要掌握GPU/NPU等系统计算机架构层面的知识,如CUDA并行编程模型。
  3. 算法理解:一方面要快速理解经典算法,重点掌握算法能干什么,输出是什么,它在什么场景下是最优化的选择,而不要跳入细节的海洋。另一方面,是算法策略的学习,这个需要结合系统来理解。例如,DeepSeek近期开源的项目,需要在深入理解CUDA等系统层知识的基础上,对经典算法和AI算法策略进行优化,以充分发挥算力。
  4. 抽象设计:抽象思维贯穿设计始终,设计模式、组件封装、接口设计和架构设计都属于抽象范畴,日常需要注重锻炼抽象思维能力。

此外,建忠老师还提到,机器人领域,特别是当下热门的具身智能,比较适合C++程序员发展。据我了解,目前机器人领域主要依赖Linux和ROS系统。据说最新的ROS2更加优秀。

综上所述,未来程序员要么向上发展负责产品和架构,要么是向下发展成为系统级程序员。无论如何,基础知识不可或缺,要不然就会成为屎山制造机了。

我个人来说可能系统级层面的东西更感兴趣,后面也准备去学习并持续更新笔记。当然,也会兼顾产品知识的学习,毕竟“人人皆可成为产品经理”。


面对 AI 冲击,无论你是纠结于转型方向的资深程序员,还是初入行业感到迷茫的新人,都别慌。关注【智践行】,我们一同探讨应对之策,在这变革时代找到安心的职业发展路径。

40+程序员亲历AI冲击,出路在何方?的更多相关文章

  1. 阿里P8架构师讲述:3—5年程序员的发展和出路在哪里?

    工作3—5年后,程序员们的成长将迈入一个全新阶段.这既是程序员们的黄金时期同时又是最迷茫的时期,因为大家必须要要思考一下今后的职业方向. 3—5年程序员的发展和出路在哪里? 是继续做技术人,还是向管理 ...

  2. 人才需求之Java程序员与AI程序员

    据100offer报告显示:2018年Java人才市场「高开低走」的动荡局势.整体求职难度变大,且全年波动更剧烈,淡旺季区别明显.企业发出的Java面邀总数几个季度连续下跌,Q4 甚至比去年同期下降了 ...

  3. 程序员体验AI换脸就不要用ZAO了,详解Github周冠军项目Faceswap的变脸攻略

    本文链接:https://blog.csdn.net/BEYONDMA/article/details/100594136       上个月笔者曾在<银行家杂志>发文传统银行如何引领开放 ...

  4. 社群公会GangSDK:程序员入行AI领域需要哪些技能?

    作为一名Android开发工程师,身边总有些同行很焦虑,看着人工智能越来越火,总是担心Android要不行了,所以,我们需要转行么?Android还能走多久?其实,无论是对于Android还是iOS开 ...

  5. 程序员们,AI来了,机会来了,危机也来了

    程序员们,AI来了,机会来了,危机也来了 1.人工智能真的来了 纵观古今,很少有计算机技术能有较长的发展寿命,大部分昙花一现,比如:昔日的DOS.windows3.2.foxpro.delphi.80 ...

  6. 程序员"青春饭"问题之我见

      程序员"青春饭"问题之我见 声明:转载请注明出处.http://www.cnblogs.com/hzg1981/ 1. 问题描述 问题1: 什么是程序员? 在本文中程序员的定义 ...

  7. 【转】程序员"青春饭"问题之我见

    1. 问题描述问题1: 什么是程序员?在本文中程序员的定义为: 拥有编程技能,在IT.互联网公司打工的IT从业人员.程序员与很多行业最大的不同是该行业的形成时间短:1954年第一台计算机才诞生,而中医 ...

  8. 做个清醒的程序员之拥抱AI

    阅读时长约 13 分钟,共计约 3100个字. 昨天我体验了AI自动生成短视频,具体说来,首先我在域名为FreeGPT的免费网站,向它提问,然后生成一段文字.之后呢,再用剪映里面的"图文成片 ...

  9. 程序员的出路在哪里?挣钱的机会来了续-福利来了,仿QQ界面,放出全部源码,打造创业框架及实现思路

    上一篇:程序员的出路在哪里?挣钱的机会来了!, 原来搞技术,挣钱,不一定非得要多高精尖,有时候抓住小白用户,解决他们一个很小但是很常用的功能,也是一条很好的出路. 其实很多软件产品,要实现出来没有你想 ...

  10. Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路

    http://blog.jobbole.com/111422 Java 生态圈 Java 的生态环境开放.自由,在Sun/Oracle.Google.Apache.Eclipse基金会等各大厂商,还有 ...

随机推荐

  1. 深度学习基础理论————CV中常用Backbone(Resnet/Unet/Vit系列/多模态系列等)以及代码

    主要介绍在CV中常用的Backbone原理简易代码(代码以及原理经常更新),参考论文中的表格,对不同的任务所使用的backbone如下: 针对上面内容分为两块内容:1.基于卷积神经网络的CV Back ...

  2. ubuntu配置笔记

    一.ubuntu的mnt/hgfs下共享文件夹设置 1.确认VMware Tools和共享目录设定已经完成,安装vmware tool sudo apt-get install open-vm-too ...

  3. 配置计算节点之间的SSH

    本文分享自天翼云开发者社区<配置计算节点之间的SSH>,作者:y****n 如果在管理程序之间调整或迁移实例,可能会遇到SSH(拒绝权限)错误.请确保每个节点都配置了SSH密钥验证,以便C ...

  4. Apache Camel系列(1)----使用场景

    Apache Camel是一个基于Enterprise Integration Pattern(企业整合模式,简称EIP)的开源框架.EIP定义了一些不同应用系统之间的消息传输模型,包括常见的Poin ...

  5. Q:oracle小于1的number,不显示小数点前的0?

    oracle存储number类型数字  如果数字小于1 如0.35就会存储.35  省略掉前面的数字0 方法1: oracle 数据库字段值为小于1的小数时,转换到char类型处理,会丢失小数点前面的 ...

  6. 支付宝 v3 自签名如何实现

    今天在看文档的时候,发现支付宝新出了一个 v3 版本的接口调用方式,感觉有点意思,花了点时间研究了下这个版本要怎么实现自签名,大家有兴趣可以看看. 什么是支付宝 API v3 版本? 官网上给的解释是 ...

  7. Shell - 脚本案例

    题记部分 一.节点状态监控脚本(nodeStatusCheck.sh) [脚本名称]nodeStatusCheck.sh [监控规则]通过ping的方式监控集群节点状态,检查节点是否失联 [实现方式] ...

  8. mybatis-generator 自动生成mybatis代码与xml

    一.pxm.xml中引入mybatis-generator并配置 在build节点下的plugins下添加org.mybatis.generator 示例代码如下: <?xml version= ...

  9. python基础-函数(lambda表达式、函数作参数、内置函数、推导式)和pip

    函数进阶 今日概要: 函数名就是一个变量(扩展) 匿名函数(lambda表达式) 重点内置函数--python内置函数 推导式(一行代码生成数据) 1. 函数名就是变量 def func(): pas ...

  10. Vulnhub-election靶机

    总结:本靶机给了很多目录,对于信息收集考察的比较严格,给了一个数据库,很多时候容易陷进去,拿到用户权限登录后,也需要大量的信息收集,虽然可以在数据库里找到root和密码,但是不是靶机本身的,最终利用s ...