写点什么

AI 元年:一名前端程序员的技术之旅

作者:Serenade
  • 2023-12-24
    山东
  • 本文字数:2267 字

    阅读完需:约 7 分钟

AI元年:一名前端程序员的技术之旅

在这个充满挑战和机遇的「数字」世界中,作为一名程序员,我已经走过了近三年的旅程。


这是一个充满了代码的世界,每一行代码都像是一首诗,记录着我在技术海洋中的探索和成长。

一、成长经历

2023 年,对于我来说是不够幸运的一年。在三月份的时候,我选择了从工作近两年的公司中离职,跳槽去了一个新的公司。新的公司技术氛围很好、研发团队的小伙伴和技术领导也很 nice、薪资也增长了百分之 40%。当时,这对于我来讲是一件非常棒的事情。可惜好景不长,由于新公司业务衰减,经营出现问题,在六月底的时候被通知了开始裁员。 与我一同被裁的还有在公司待了 2-3 年的几个同事,有后端、测试、上位机。 在当前行业不景气的环境下,公司进行开“猿”节流的操作似乎也是正常的。或许对于大多数人来说,经历裁员是一种相对平常的事情,但对我而言,这是第一次被裁员,我深深感受到了这个行业带给我的不稳定性,我总结这段经历的原因在于,我想通过这一经历,警戒自己不要忘记持续学习,提高自己的价值。这次裁员成为我人生的一次重要教训,激励我更加努力地追求自己的职业目标。

二、技术成长

在我刚开始工作的时候,我认为很多程序员应该都是对技术有着一些热情,对代码写书有着严格规范。现在回头看来,这种想法简直谈的上是“天真”。 有把 Vue、React 当 jQuery 使的,有单文件(vue/react)近万行的。有会点后端、懂点前端的就称之为”全栈“的等等。这里不在叙述。


如果比较热爱这一行,我认为应该需要做到的是:


  • 一个真正优秀的负责开发安卓客户端的工程师,应该对 Linux、Java、Android 有着极其深度的理解,了解 Linux、安卓的发展史、原理,对技术有自己的智库,对未来有自己的看法。

  • 一个真正优秀的负责开发 iOS 客户端的工程师,应该对 Unix、iOS、OC、Swift、苹果公司有着极其深度的理解。

  • 一个真正优秀的负责开发 Web 端的工程师,应该对浏览器原理、Web 发展历史、互联网起源、JS 语言的演变有着深入的理解的看法。

  • 一个真正优秀的负责开发服务端的工程师,应该对网络原理、系统运维、服务端架构至实践均有无微不至的理解和经验。


而不是今天学点 Java、明天了解点 JavaScript,你就是一个全栈了,这不叫全栈。这是典型的“伪全栈”。一个出色的工程师至少应该深入理解自己专业领域的核心知识,然后在转身投入另一个专业领域,随着知识的洗礼,不想成为全栈都难。


其次,我认为一名程序员,不能只沉迷于技术之中。 技术的本质是为业务服务的,一款优秀的产品往往是由一个人或一批人同时负责设计和实现产品的,如果你只是一个负责实现领导意志的技术工人,职责就是根据规格说明书写出代码,那么其实与一个挖水沟的工人是一样的,从这头挖到那头,仅此而已。但是,如果你以一个创作者的角度去工作,那你从事的就不是机械性的工作。也就是说如果你想做成一款优秀的产品(不论公司还是个人)你就必须要有产品的思维和知识,而不是只是去充当挖水沟的工人。


一位真正优秀的编程开发人员,除了怀有对计算机科学的热情和兴趣之外,还要具备产品思维。能够理解业务需求,以协同的精神不断努力,为创造出优质的产品而努力。


一个真正热爱生活的人,应当倾听内心的呼唤,追求那些真正属于自己的事业,因为真正的满足来自于追求内心的热爱。


当然,我清楚自己的水准,也在不断地更清楚。

三、AI 与 Web

早在我刚工作的时候,那时遇到了一位大佬同事,经常中午吃完饭散步的时候和我讲关于机器学习、神经网络等知识。恍然间,都来到了 2023 年了。


23 年,人们称之 AI 元年,这一年标志着人工智能的崛起和普及。


AI 的崛起和普及可能会让部分人失业,但是认为更多的是增加了就业的机会。


在前端方向,AI 可以帮助前端带来更好的智能、个性化的用户体验,同时极大的提高了生产效率。比如现在市面比较流行的:代码生成、图像识别、语音识别、歌曲推荐介绍、语音 AI 操作界面等等。


其实,在 Web 端 AI 的优势和局限性和端侧 AI 差不多。虽然 PC 用户主要通过网络端访问互联网内容和服务,但是许多移动应用也会嵌入 Web 页面,但由于浏览器的内存和存储配额是有限,这让在 Web 上运行 AI 应用变得更加比较困难。


在 2015 年的时候,就有一个名为ConvNetJS的库出现,它能在浏览器中使用卷积神经网络进行分类和回归任务。尽管该库现在已经停止维护,但在 2018 年,出现了许多 JS 的机器学习和深度学习框架,如Tenforflow.jssynapticBrain.jsWebDNN等等。


由于浏览器的计算能力受限,像keras.jsWebDNN这样的框架只支持加载模型进行推理,而不能在浏览器中进行训练。


此外,有些框架并不适用于通用的深度学习任务,它们支持的网络类型各不相同。例如,TensorFlow.js。而ConvNetJS主要支持CNN任务,不支持RNNBrain.jssynaptic主要支持RNN任务,不支持CNN网络中的卷积和池化操作。Mind只支持基本的DNN



随着技术的发展(硬件和浏览器技术的进步),我们可能会看到更多的框架出现,以解决浏览器中运行 AI 应用的挑战。未来可能会有更多的框架能够在浏览器中进行模型训练,而不仅仅是加载模型进行推理。未来的浏览器可能会支持更高级的网络类型。


总的来说,Web 端的 AI 应用前景十分广阔,更多的机会正在创造中。


另外,在这里推荐一个可以提升前端开发效率的工具,希望可以对你有帮助。


自动生成前端组件:


vercel 目前正在研究一个可以自动生成前端组件的工具,现在已经是处于 beta 阶段了。


你只要进行需求描述,v0 就会根据的你的需求描述生成组件的代码,你还可以进行反复的修改,直到令你满意。而且它的样式是基于 Tailwind 的!通过这个工具可以更有效的提高你的开发效率。


这里有许多案列,感兴趣的朋友可以去了解一下:官网地址



生成的代码:



谢谢阅读,


完。

用户头像

Serenade

关注

还未添加个人签名 2022-07-01 加入

还未添加个人简介

评论

发布
暂无评论
AI元年:一名前端程序员的技术之旅_#前端_Serenade_InfoQ写作社区