本文主要是介绍AI时代的程序员,复合型技术大咖该具备哪些本领与魅力?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AI时代对程序员和互联网时代对程序员的要求有不同
在AI时代的今天,程序员所面临的挑战已经有了翻天覆地的变化。
与互联网时代相比,AI时代对程序员的要求更为全面与多元化
回顾互联网时代,程序员主要需要掌握技术的专业知识和编程技能。他们致力于开发网站、软件和应用程序,为用户带来更好的上网体验。
然而,在AI时代,程序员的角色已经发生了翻天覆地的变化。AI技术的广泛应用使得程序员需要具备更多的素质和技能。除了专业技术之外,他们还需要具备运营能力、业务思维、逻辑思考以及各种综合软实力。
AI时代的程序员是一个“综合体”
他们需要深入了解不仅仅是编程,还需要了解用户行为、数据分析、机器学习等多个领域。
AI时代的程序员需要具备更强的数据处理和分析能力
他们需要能够分析大规模的数据,并从中提取有价值的信息。与互联网时代相比,AI时代更加注重数据驱动和智能决策,程序员的任务不仅仅是编写代码,更需要通过数据分析提供有效的解决方案。此外,AI时代的程序员还需要具备良好的沟通能力和团队协作能力。
AI时代的程序员需要具备更强的具备运营理念的业务领域知识
AI技术的开发通常是一个多领域的综合项目,需要与各个领域的专家进行紧密的合作。程序员需要能够与产品经理、设计师、数据科学家等进行有效的沟通和协作,共同推动项目的成功。
要知道,AI技术的飞速发展给程序员带来了新的机遇和挑战。程序员不再只是单纯的技术人员,他们要同时具备运营能力、业务思维、逻辑思考等多方面的素质。
AI时代的程序员需要具备一个互联网时代初级文员的能力
如何理解什么叫初级文员的能力?
我们直接使用一个实际例子来进行说明。
实例说明:不同时代的程序员在面临“做一个对Nginx进程占用CPU监控应用”中的表现
说做一个Nginx里CPU负载监控的APP应用吧。
我们在做这个APP应用时需要完成:
- Nginx进程对CPU使用情况;
- 主机本身CPU情况;
- Nginix的进程对比主机本身CPU的百分比显示(饼、柱、趋势图)所用到的数据怎么定义;
- 如何取得以上信息的通讯协议;
- 界面编程;
- 通讯协议编程;
- 历史数据存储、获取编程;
- 性能保证(你总不能做了一个监控把个主机整体性能给拉爆了吧);
互联网时代的程序员的表现
首先,把人马分成4组:
- 协议层
- 界面层
- 后端Service层(包括数据存储)
- 再要分出一组support层,就是有一组人需要做界面的beautiful、裁图、扣图、上色
哈哈哈哈,做这么一个玩意,还要每天Stand Meeting、要Review、要Weekly Meeting、要做Scrum。。。等等等。
1周时间过去了,才开始启动。可能运气好3周才做完一个可以用来“测试”的。
AI时代的程序员的表现
就一组人马。
人员?不会超过2个,很多时侯只要1个人即可。
下面是如何操作:
- 直接AI书写设计,使用工具:ai输出脑图->ai cursor/co-pilot书写设计->设计即框架代码输出(8小时);
- AI辅助编程,前后端一体化输出(8小时);
- 人类介入微调、加一些精细化的Exception、Error控制、返回值的微调(16小时);
- 界面如何配色?AI出主意->AI调色输出6套配色方案->人类选择配色方案(8小时);
- 根据己定配色方案->Photoshop(AI)/Midjourney/Stable Diffusion的API直接出界面图->AI进入扣图/切图步骤->原料输出(8小时);
- AI的cursor/co-pilot再次进入,拿着己有的图、上色方案、当前界面代码进行“适配”;
上述步骤中第6步最最耗时,预计在20小时。总计耗时:68小时,拿68小时/8约等于9个工作日。
没错,我自己包括我的团队经常这么干!
拿着9个工作日对比24个工作日,质量我们还高于互联网时代的程序员。关键在于成本还低。
看完例子后再来思考本质区别到底在哪
我们通过上述例子,不要只一味看到快(我这个估算是保守的,事实上经常快于这个工作日1-2天可以完成)而要看到一个这样的本质:
那就是,之前时代的那种精细化分工它带来的主要的一个因素为跨团队合作,社会足以消化庞大的精细分的不同工种带来的成本。但是它严重削弱了“个体化的生存能力”同时并不“高效”。
我们知道程序员们写出来的PPT或者是WORD或者是Excel是什么样的知道不?你说:这边要着重色一下代表着可以让读者引起重视体现出着重表现、提醒的作用,于是你看到了程序员们下次再交上来的是这样的“着重”方式:
因为是在一个Excel里,有29行,其中有若干行是需要“着重醒目表现”的,于是我们的程序员们交上来的东西是这样的:
好!现在我们把它用投影投在会议室的幕布上,会议室可以容纳36-40人,差不多在8米长。请问:那些位于坐在4-8米内的座位上的人去看这样的一篇东西。。。你是作何感想?
这个区别我们称之为“软实力”。
我们说了更直白一些:
- 切图一定要交给初级文员做吗?她/他做的速度跟不上你的速度怎么办是不是影响产品叠代的速度?
- 他/她反复重做甚至做出来可能没法和你的界面进行适配时怎么办,不断改,这不也是影响项目叠代速度吗?
- 他/她做出来的生成物你实现上和你的框架没法匹配,你甚至需要把一个图片再切成N多小图片以便于在不同的状态情况下进行状态反转显示以给到用户清晰的、直白的感受,你也等他/她不断的再补充?
如果一个程序员不能对交付结果(即业务结果)去做负责那么这个程序员也很难有所上升!
试想:
- 产品体验不好,是产品经理的事!
- 产品不吸引人,是产品经理的事!
- 产品不美观,是美工、初级文员的事!
- 产品上有错别字,是初级美工的事!
好,最终这个产品做完了,被用户直接否定了,那么。。。
产品经理跑过来对你说:兄弟。。。这次。。。你真摊上事了!
你:哦?什么事!
产品经理:我们这个组都不再被需要了呢!
市场的变化是快,世间万物唯快不破,有了AI为什么我要依赖于别人?我完全可以舒舒服服在8小时完成2-3个工种的事!我的价值这样反而更高了呢!对不对?
那你说:我没那么些追求!
好好好,我们不说这样的追求,我们换一种说法:
大家知道天文学家、科学家、或者说IT男最喜欢的:终结者、独立日一类男主拯救世界的一些科幻电影里经常有男主天才救了全世界的剧情。
电影里:麻省男直接写个病毒给了外星飞船感染拯救了全人类。
在独立日这部电影和里,“戴威”就是产品经理,只是他此时如果说:来。。。我需要写个病毒给到外星飞船感染,它的界面是需要。。。嗯。。。小王小张你们负责。。。我需要一切接电的都可以上传这个病毒。。。小李小马你们来写通讯协议。。。小强小周你们来做后端。。。你你你,你们负责做前端我希望前端用kde写。。。
各位,你们觉得可能吗?
- 一个天文学家要向他的学生们表示巨引源是怎么样的一种存在,它总不见得让一群程序员给他编程实现巨引源的运行和它在星系中怎么样存在的示意吧?
- 一个科学家要证明:机器学习中智能规划、并行多智能体自我叠代、多层反思,他总不见得雇佣OpenAI的工程师做外包来帮他写一些例子吧?
实际上从几十年到现在,他们都是自己直接动手写代码地!!!
因为:当你已经掌握了业务逻辑(对于天文学家来说,银河系运行规律、巨引源这些就叫天文学领域的业务逻辑)时为什么不自己动手去实现呢?
- 在AI时代前,这显得有些“变态”!
- 在AI时代的今天,一切只存在于:你是否真的动手自己去做做看呢?其实并不难!
这就是AI时代的程序员和互联网时代的程序员的本质上的区别即:AI时代的程序员其实是一个:超级个体。
我记得我在一年前《ChatGPT让我变成了“超人”-如何提升团队30%效能质量提高100%的阶段性总结报告》
中明确写到过:未来对程序员的要求已经发生了改变。
那么现在我们说这个改变已经在发生了。
所以我们在AI时代的程序员。。。“程序员”这三个词可能真的会消失了,再退一万步说我们对程序员的要求也不再这么单一了。
AI时代程序员一词应该“消失”
AI时代程序员一词应该消失,这并不是说程序员这个职业不再存在,而是指在AI时代,程序员已经超越了狭义的定义。以往,程序员是指那些熟悉编程语言、能够写出高效代码的技术人员。然而,随着人工智能的快速发展,程序员需要拥有更多的素质和技能。
在AI时代,程序员不再只是单纯编写代码的工具,而是需要具备运营、业务思维、逻辑思考和各种综合软实力的合体。他们需要了解业务需求,分析数据,优化算法,同时还要与其他团队成员进行协作和沟通。他们更像是一支专业的团队,而不仅仅是个别的技术人员。为
了与这种新的角色定位相匹配,我们需要引入新的角色定义和专业术语。例如,我们可以称他们为"智能工程师",用以突显他们在人工智能领域的专业性。这样的术语更加贴合时代潮流,也加强了他们在工作中的专业形象。AI技术对程序员定位的重新划分也是不可避免的。
以往,程序员的主要任务是解决技术问题,但在AI时代,他们需要更多地关注数据分析、机器学习和模型调优等方面。他们需要具备对人工智能技术的深入了解和应用,以便更好地与AI系统进行交互和协作。因此从技能上一个“真正合格的程序员”需要具备这样的硬实力和软实力:
硬实力有哪些
- 前端语言:页面级别的开发语言 + 一门APP(安卓或者是IOS或者是其它设备也可以)类语言;
- 一门系统(企业开发用)级别高级语言 + 一门类似C的-中级(兼顾高级又能向下调用设备、系统、OS类)的语言如:python、rust、go(90%合格的AI类程序员甚至在“中级语言”上掌握了两门即兼具备python+go或者是c+python的能力的);
- 一定是全套的devops(不要再说:这个集群我搭不来找devops、这个我装不来找devops、这个网络、防火墙我不懂的找infra或者是cyber security)技能;
- 对于网络通讯协议必须精通;
- 掌握一个LLM的SAAS化调用 + 一门本地化自己可动手搭建本地LLM的能力以及相应的Lora、FineTune、Embedding技术;
- 一个垂直领域的业务逻辑;
软实力有哪些
必备项
- 扣图
- 去水印/加水印
- 图片格式任意转换
- 设计稿、架构图(包括PPT)
- 一门外语(专6水平)
- 文学(到达初级网络写手能力,这是提示语-AI原生相关开发强要求的能力)
此处把文学这块有必要展开多说一下。
为什么要把文学这门功底放成必备项的展开说明
我不知道多少朋友们真正意识到了我们小学到大学(有些大学的计算机专业开了大学语文、有些大学的计算机专业没有开设大学语文课程)的“语文”,到底这门课存在的意义在哪?
在于:逻辑思维、抽象、概括、情商培养、兼顾着把一个人培养成是否具备随时可随时切换自己的硬实力的一门综合性的课程为目的。
用总结式的话叫:语文是一切学科之母。
语文学不好,势必影响数学!势必影响化学、物理!势必性格上不具备随时可以切换自己的第一生存能力的准备。
这个命题其实是相关的教研组早在几十年前就已经定义好了,很多人不以为然。
好!
现在问题来了。
语文和AI原生应用中“提示语“的关系
AI时代的原生应用,什么叫原生应用?我们拿AI规则引擎、AI工作流来举例。
那就是相当于用传统的代码把数据流、变量、业务逻辑实现全部打通,而对于通过规则来进行的一些“状态反转、状态自转”则用LLM去实现。此时我们知道什么最重要了吧?提示语!
来看一个语文不好的刚接触AI原生开发的程序员写的提示语
你看一下,我有一个东西,它判断人问问题在不在你的服务服务范围。
你的服务范围是:
1. A小区
2. B小区
3. C小区
4. D小区
5. E小区
如果在你的小区,你返回1.如果不在你的小区你返回0.
用户当前的输入是:你好我找哪里有吃饭的地方!
交给GPT、QWEN、CHANTGLM、LLAMA3等,都会发觉要么第一次回答对了第二次第三次它的答案就会随机跳跃,这就是我们说的:随机性、幻觉很利害。
我们再来看一下一个在经过6个月语文(其实提示语工程即年薪百万提示语工程师培训都是在讲逻辑、抽象、总结、提炼这些内容)培训过后的AI提示语是长什么样的?
语文好的程序员写出的提示语
#你的角色
- 现在请你扮演一个地理位置判断工具,你每轮的回答总是以标准的JSON格式进行返回。
#系统内置数据字典说明
- 系统内置了这些小区以JSON字符串数组形式存储
>>>
{"你可服务地理位置范围":["A小区","B小区","C小区","D小区"]}
>>>
#当前用户正在发送的提问为:${currentUserInput}
#对你返回的要求
- 如果用户发送的提问中含有地理位置信息,并且这个地理位置信息full match'你可服务地理位置范围'你返回成{"result": 1}。
- 如果用户发送的提问中含有地理位置信息,并且这个地理位置信息not full match'你可服务地理位置范围'你返回成{"result": 0}。
#输出格式要求
- 你必须坚持以JSON格式输出
- 你的返回内容始终为:{"result": int型数字且只能为0-1这两个值返回}
- 请不要在你的返回中加上任何你的推理、理解,也不要加上任何修饰符、或者是markdown符号,更不要在你的返回外部加上```一类的转义符号。
上述提示语不仅仅在AI响应速度上完胜第一段提示语,更在回答精准上可以说100%返回结果是准确的。
我们进一步来看一下,语文好到神仙级后写出的提示语,这个是生产级别应用了,我只给出部分提示语写法,有心人就会被”点明“。
#你的输出要求如下伪代码所示
if(${serviceAreaList}.fullmatch(${userInput})) then...
else if...
亦或者是这样的:
#你的输出要求如下伪代码所示
while(${userCurrentInput}).has:
a | return 0;
b | return 1;
c | return -1;
Toal can ask AI for the great support!!!
加分项
- 出高保真图能力
- 以及一般初级美工该有的能力(包括设计LOGO)
- 有一门二外
- 出网络博客爆文能力
- 多媒体合成(动画、音频、视频、合成能力)
AI时代的程序员已经超越了狭义的定义,他们成为了拥有多重技能的"智能工程师"。他们不仅仅是编程的艺术家,更是协调者、分析师和创新者。随着科技的不断进步,我们对他们的期望也在不断提升。
很多时候我也在和我的团队说:你们自己看看日常在做的很多事,很多时候其实我们已经不是在做一个程序员了而更多的时候我们是在做一门“创意”性的工作。
AI时代的程序员不再有分初、中、高级
这似乎违背了我们一直以来对程序员分类的传统认知。
然而,在AI领域的快速发展和技术进步下,传统的程序员等级分类方式已经开始显现出局限性。AI技术的崛起使得程序员所需的技能水平与以往截然不同,逻辑思考和单一技术已经远远不够。
曾经以代码为王的程序员已经逐渐变成了一个全能型选手,需要同时拥有运营、业务思维和综合软实力等多重技能。
这样的变化使得人们开始重新审视传统的初、中、高级分类对于AI时代的程序员可能产生的局限性。AI技术的不断进步也带来了技能水平等级的模糊化。在过去,初级程序员通常需要花费大量时间积累经验和知识才能够晋升到中级,再到高级。
然而,现在的AI辅助工具的出现改变了这一现状。这些工具能够帮助人们更加高效地学习和掌握知识,大大缩短了初级程序员向高级进阶的时间。面对这一变化,程序员需要更加注重学习、适应和自我提升。只有不断更新知识、拓展技能,才能跟上AI时代的步伐。通过利用各种AI辅助工具,我们能够更快地掌握全面的知识,但这并不意味着我们可以停止学习和进步。AI时代的程序员,已经不是过去那个注重“码农”技能的时代的代表了。他们需要成为一个全能型选手,拥有运营、业务思维和各方面的综合能力。不再受拘泥于传统的初、中、高级分类,而是用学习、适应和自我提升来衡量自身的成长。只有这样,才能在这个愈发竞争激烈的AI时代中,抢得先机,成为技术领域的佼佼者。
写在本篇最后的话
通过本文的阐述,我们可以看出:在AI时代,对程序员的要求发生了巨大的变化。
与互联网时代相比,AI时代的程序员需要具备更全面、多元化的能力。作为一个“综合体”,他们不仅需要掌握数据处理和分析能力,还需要具备运营理念的业务领域知识甚至是一些软实力。
然而,与过去不同的是,在AI时代,分级概念逐渐消失,每个程序员都有机会发挥自己的潜力。
- 对个体的好处:在AI时代,程序员成为了智能体,这给个体带来了巨大的好处。首先,AI技术的不断演进为程序员提供了更广阔的发展空间,他们可以参与到更多有意义的项目中,为社会的进步贡献自己的力量。其次,人工智能的普及也为程序员创造了更多的就业机会,他们可以选择适合自己的岗位,发挥自己的专长,实现人生的价值。此外,AI技术的普及还使得程序员能够更加高效地完成工作,提高工作效率,享受更好的工作生活平衡。
- 对社会的好处:AI技术为社会带来了巨大的变革,而程序员则是这一变革的重要推动力量。通过应用AI技术,我们可以改善医疗、教育、交通等多个领域的效率和品质,为人们提供更好的生活和工作环境。同时,AI的发展也推动了企业的创新和发展,为经济增长提供了强劲动力。程序员的存在和努力,让我们能够享受到这些好处,感受到科技带来的便利和快乐。
在AI时代,程序员扮演着至关重要的角色,他们以智能体的身份不断探索和创新,为社会进步提供支持。
因此,我们应该对程序员充满信心,并鼓励大家不断学习、追求卓越。相信随着技术的发展,AI时代的未来将更加美好,程序员们将以其智慧和才华铸就辉煌。
那么就让我们共同期待,共同见证这一时代的壮丽篇章!
这篇关于AI时代的程序员,复合型技术大咖该具备哪些本领与魅力?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!