我是如何转行 AI 并且实现薪资翻倍的

news2024/10/1 12:19:21

大家好啊,我是董董灿。

熟悉我的小伙伴都知道,我之前在北京某211大学,本硕读了7年的机械专业,后来硕士毕业后,果断转行去做了嵌入式开发,随后瞅准了 AI 爆发的时机果断转行去做了AI。

这段经历已经过去了很多年,但依然历历在目。

我从机械硕士转行到 AI 算法的过程中,自学过很多知识,包括 C++、python 编程,当然还有 AI 算法,也有很多感悟。

今天就跟大家分享一下这段经历,希望可以帮助到手机前的你。

文章大概3000字,完整阅读大概需要10分钟。

1、辞职去做 AI

做 AI 之前,我一直在做传统嵌入式。

但彼时 AI 行业已经火了,因为什么呢?因为在我做嵌入式的那家公司,另一个小组,已经开始在公司内部讨论 CUDA 编程了。

当时对 CUDA 完全不懂,百度查了一下,发现竟然可以做 AI 算法的加速,很是新奇。

正好我们当时在用一款国产小芯片做开发,也在愁如何在这个小芯片上做性能优化。

于是我就查了不少关于 CUDA 编程的资料,再然后自然而然就查到了 AI 算法和深度学习知识,于是产生了转行去做 AI 的想法。

在那家公司提离职的时候,我被总经理叫到了办公室,关上门畅聊了一下。

他问我以后什么打算?

“我说,我想搞人工智能算法”,彼时人工智能算法已经火起来了。

我说我想去商汤那样的公司搞 AI 算法,我觉得 AI 算法,未来的应用潜力很大。

经理说:“商汤的算法搞了很长时间了,很多算法已经固化成了包,很少会再有新的算法来研究了,你现在去搞,我不认为是一个好的选择”。

当时我不知道经理是对 AI 算法这一行不熟悉,还是用这样的说辞来劝退我,希望我留在公司。

最后的谈话以以下对话收场。

“经理,我希望我在有动力,敢想敢干的年龄,去闯一闯,试一试 AI  这一行。”

“可以,既然你决定了,我支持你,但如果在外面混不下去,可以回来。”

“好的,谢谢经理”

因为那句"如果混不下去了,可以回来",我从办公室出来的时候有点泪目。

图片

2、大海捞针的面试

时间来到当年 5 月,我正式结束了在那家公司的交接工作,离职开始投简历,当时只投了一类工作:AI算法。

收到了不少面试机会,大小公司都有。

一天跑好几个面试是常有的事,我给自己的目标,一定不要凑合,一定要找到自己喜欢的工作,工资无所谓。

当时面过好几家公司,有初创公司利用摄像头做成像,然后利用神经网络识别物品的,类似于现在超市货架上的商品,用摄像头+AI算法来做识别。

类似于现在自助贩卖机的功能,你付了钱,从里面拿出某件商品,可以识别出来你拿的商品以及付的钱一不一致。

但彼时的我,算法真的一塌糊涂。

印象很深刻的是,面试官问我什么是权值?我说你说的是不是达不溜(w)。

他笑着说,什么达不溜,我说我看很多文章中都说权值,用 w 表示,很显然面试失败了。

图片

当时面试是真的难,虽然自己有编程语言的底子,也有芯片开发的经验,但是做算法,感觉就像是换了一个方向,尤其是 AI 算法。

后来我投了商汤,获得了宝贵的面试机会。一个小时的面试,都是面试官在跟我讲他们公司做的事情,面试快结束了,面试官跟我说。

“我们收到了你的简历,但是说实话,不太符合我们的需求,但为什么还要让你来参加面试呢?

一是想当面和你说一下我们公司在做的事,算法并不是你想象的那么简单,你需要了解 blabla 等等的知识;

另一方面,如果你还想在这方面继续投简历面试,我给你一些需要学习的建议和书籍,你可以回去学习一下。”

真的很感谢商汤的面试官,一个小时的交流,确实学到了很多,后来商汤上市了,也用过他们家的产品,祝商汤越来越好。

3、AI 芯片

既然纯 AI 算法有难度,那就结合我嵌入式开发的经历以及 AI 算法重新投简历吧。

什么样的工作需要这样的呢,兜兜转转投了很多岗位,最终确定在了 AI 芯片的算法开发

第一,对芯片有了解是加分项,刚好我做过嵌入式开发,了解过很多计算机指令、总线、内存、寄存器相关的知识。

第二,算法正是我所要学习,并且想进入的行业。

彼时国内搞 AI 芯片的屈指可数,阴差阳错的进入了一家当时的独角兽公司,行业内的小伙伴可能会知道,一年后公司上市。

在这家公司,学到了很多,一步步的也成长了很多,可惜的是最近这一年公司裁员不断,很多一起奋斗的小伙伴也都离开了,当然我也离开了。

回想我们那几年在公司的日子,大家一起为了国产 AI 芯片努力,加班加点适配各种神经网络,加班加点完成模型性能优化的日子,真的很单纯。

图片

那时候的我们有理想,或许真的想为国产 AI 芯片做一些事情,可惜的是,公司上市之后发展事与愿违。

这是几年前的事了,目前我仍然在做着 AI 研究相关的工作,但早已不是几年前的小白了。

工作教会了很多,自己也学了很多。

感恩那个主动离职去寻找新机会,和总经理在办公室聊了很大一会的下午。

4、转行容易吗

在我从嵌入式转行做 AI 的过程中,为了快速学到 AI 行业的知识,当时报了一个班,学了几个月,基本上把 AI 算法和神经网络的整体脉络摸透了,只不过一些基础还不扎实。

后来成功入职了上面说的公司,薪资也成功翻倍了,弥补了报班产生的费用,那一刻觉得一切都是值得的。

亲历过这段经历,我只能告诉你,转行不容易。

别听网上说的转行很容易,除非你能力出众到,面对一个全新的领域,别人一说你就懂。

隔行如隔山,但你是个天才。

否则,没有做好完全的心理准备,没有准备好退路,没有足够的勇气,不建议贸然转行。

但不容易不代表不可行。

转行没有捷径,用勤奋学习来弥补短板缺点,然后快速的将自己的水平和行业平均水平拉齐。

只有这样,你才能快速的在新行业立足,建立自信。

否则,只会陷入更加深刻的自我怀疑中,这其中的艰难,只有经历了才懂得,劝君慎重。

当时除了报了一个班之外,还有哪些渠道可以学习呢?

如果真的转行了,面对一堆听都听不懂的专业术语,不要害怕,上网查资料自学,一定要系统的学习!!!

  • B站和慕课上有很多免费教程,可以学 C++和 python,也可以学吴恩达老师的机器学习入门课程。

  • 计算机基础学习,除了工作之外,系统的看相关的书籍并进行大量的实践,有机会的话,多弄一些开发板来调试,如果有能力可以搞GPU来做实训。

  • 计算机基础入门方面,可以找计算机的考研课程系统的来看,作为入门基础。

  • 其次,找行业内的人多交流,深入了解这个行业。

以上几点做好了,你就能跨第一道坎,一只脚进入了新行业之后,那就是自学进门,修行在个人了。

5、我是怎么学的呢?

看课学 C++

除了上面说的报了一个 AI 的课程之外,我当时还买了一个 399 的 C++ 课程,每天上班路上看。

坐地铁从家里到公司刚好半小时,每天上下班看一个小时,坚持了3个月,将课程看了 6 遍。

到公司有闲暇的时候就练习课程中的技术,基本上3个月下来,C++ 就很熟练了。

找深度学习的实际算法练手,亲自手写算法

吴恩达的课确实经典,很多入门的同学都会看,我当时也看了,算是一个深度学习理论的领路人吧。

在此基础上,我会把很多算法都自己实现一遍,加深对这些算法的理解,比如我手写过很多版本的卷积算法、矩阵乘算法等等。

为什么我要手写算法,因为我想加深自己对于算法的理解。

调用库我们都会调用,但是调用库的时候,你只是个使用者,能自己手写出来才是真正学到手。

我还手写过不少的神经网络,比如Github上这个 https://github.com/dongtuoc/resnet50_zero,是我是曾经写过的一个resnet50的神经网络。

我从头开始全部手写了所有算法和网络结构,核心实现没有调用任何三方库,最近还想给他重构一下,如果你感兴趣可以去看看。

在完成以上两点之后,我的深度学习入门基本就完成了,剩下的就是在工作中不断地打磨自己对算法的理解,不断的精进自己的水平。

然后业余时间写文章,做算法科普,同时也加深自己对算法的理解。

当你看到这篇文章的时候,我已经在我的公众号上发了100+原创文章了,也在CSDN上发表了不少文章,给想入门 AI 的同学科普算法,因为自己经历过,所以才知道如何理解更加简单。

这里放一个我认为到目前为止,虽然不是阅读量最高,但是我写的最棒的一篇文章:5分钟搞懂矩阵乘法的本质。

深度学习入门,我的秘诀就是:自学,坚持,然后坚持自学

很多同学在看了我的文章后,加我微信探讨如何入门深度学习。于是我最近也总结了自己之前学习的经验,开发一个计算机视觉从零入门的学习小册子专栏:https://blog.csdn.net/dongtuoc/category_12498033.html

目前已经更新了40+篇文章,从原理到实战系统的讲解如何入门计算机视觉。目前已有 88 名小伙伴加入了,如果你感兴趣,欢迎一起加入呀。

最后,感谢你看完了这篇文章,希望能帮到手机前的你,最后的最后,祝所有想要转行的小伙伴都能薪资翻倍,收到满意的 offer~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1332880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python与机器学习3】,感知机和与非门

1 电子和程序里的与门,非门,或门,与非门 ,或非门,异或门 1.1 基础电路 与门(AND gate)、或门(OR gate)和非门(NOT gate)是数字逻辑电路中的三种基…

本地搭建【文档助手】大模型版(LangChain+llama+Streamlit)

概述 本文的文档助手就是:我们上传一个文档,然后在对话框中输入问题,大模型会把问题的答案返回。 安装步骤 先下载代码到本地 LangChain调用llama模型的示例代码:https://github.com/afaqueumer/DocQA(代码不是本人…

自动驾驶规划算法

本文将讲解BFS,Dijstra,A*,动态规划的算法原理,不正之处望读者指正,希望有兴趣的读者能在评论区提出一些这些算法的面试考点,共同学习,一起进步 0 图论基础 图有三种:无向图、有向…

SRE 与 DevOps:你知道它们之间区别吗?

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享 DevOps专注于消除阻碍开发和运维之间协作的隔阂,而SRE致力于设计和实施可扩展、可靠的系统,确保最大可靠性。 这篇文章将探讨DevOps和SRE之间的差异&#xff0c…

Podman配置mongodb

文章目录 查询镜像拉取镜像查看镜像运行容器创建root用户 查询镜像 podman search mongo拉取镜像 podman pull docker.io/library/mongo查看镜像 podman images运行容器 podman run -d -p 27017:27017 --namemongodb-test docker.io/library/mongo创建root用户 podman exe…

SSH秘钥登录服务器

一、查看本机 ssh 公钥,生成公钥 1.通过命令窗口 a. 打开你的 git bash 窗口 b. 进入 .ssh 目录:cd ~/.ssh c. 找到 id_rsa.pub 文件:ls d. 查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub git–查看本机 ssh 公钥&#xff0c…

小白--将笔记本上的代码或者项目上传到github上去教程(使用git命令)

文章目录 一、操作教程二、常见问题1. 问题12. 问题2 三、注意 一、操作教程 https://blog.csdn.net/Elon15/article/details/125705706?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170340591716800215092652%2522%252C%2522scm%2522%253A%252220140713.130102…

第六部分 集合论

目录 主要内容 集合的基本概念 集合的基本运算 集合恒等式 初级运算 文氏图 集合的广义并与广义交 广义运算的性质 例1 A{{a},{a,b}} 集合算律 例2 判断下列命题是否为真 例3 设 例4 判断以下命题的真假,并说明理由. 解题思路 主要内容 集合的基本概念 属于、包含…

基于JAVA的超市账单管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统设计3.1 总体设计3.2 前端设计3.3 后端设计在这里插入图片描述 四、系统展示五、核心代码5.1 查询供应商5.2 查询商品5.3 新增超市账单5.4 编辑超市账单5.5 查询超市账单 六、免责说明 一、摘要 1.1 项目介绍 基于…

【Postman】以命令行形式执行Postman脚本(使用newman)

一、背景 ​ Postman的操作离不开客户端。但是在一些情况下可能无法使用客户端去进行脚本执行。比如在服务端进行接口测试。由此我们引入了Newman。Newman基于Node.js开发,它使您可以直接从命令行轻松运行和测试Postman测试集。它在构建时考虑了可扩展性&#xff0c…

身为Java“搬砖”程序员,你掌握了多线程吗?

摘要:互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指…

STM32实现流水灯

led.c #include"led.h"void Led_Init(void) {GPIO_InitTypeDef GPIO_VALUE; //???RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???GPIO_VALUE.GPIO_ModeGPIO_Mode_Out_PP;//???? ????GPIO_VALUE.GPIO_PinGPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_…

stm32 pwm输出

PWM 技术原理 CUBEMX PWM配置 pwm初始化 MX_TIM2_Init(); HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4);设置pwm //pwmVal 0 ~ 1000 __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_4, pwmVal);

2024苹果手机iOS管理软软件iMazing2.17永久免费版下载教程

iMazing2024是一款专业的苹果IOS设备管理器,强悍的性能远超苹果的iTunes,iMazing 能让广大果粉能已自己的方式管理苹果设备,无需iTunes即可畅快传输或者保存苹果设备中的音乐、消息、文件以及其他数据。 iMazing2Mac-最新绿色安装包下载如下&…

WORDPRESS付费会员插件Paid Memberships Pro v2.12.5 – Plugin + All Addons

WORDPRESS付费会员插件Paid Memberships Pro v2.12.5 – Plugin All Addons 简介: Paid Memberships Pro是一款功能强大的会员订阅和内容限制管理插件,适用于WordPress网站。它提供了丰富的特性和工具,帮助网站所有者轻松地创建和管理付费…

AndroidStudio无法新建aidl文件解决办法

我用的 AS 版本是 Android Studio Giraffe | 2022.3.1 Build #AI-223.8836.35.2231.10406996, built on June 29, 2023 右键新建 aidl 文件, 提示 (AIDL File)Requires setting the buildFeatures.aidl to true in the build file 解决办法 修改 app 的 build.…

【微服务】springboot整合kafka-stream使用详解

目录 一、前言 二、kafka stream概述 2.1 什么是kafka stream 2.2 为什么需要kafka stream 2.2.1 对接成本低 2.2.2 节省资源 2.2.3 使用简单 2.3 kafka stream特点 2.4 kafka stream中的一些概念 2.5 Kafka Stream应用场景 三、环境准备 3.1 搭建zk 3.1.1 自定义d…

基于Java SSM框架实现多人试卷批改考试命题系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现多人试卷批改考试命题系统演示 摘要 多人命题系统是高校为教师、学生试卷的重要组成部分,是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。我所在学院多采用半手工管理学生试卷…

10_并查集

10_并查集 并查集并查集结构并查集API设计UF(int N)构造方法实现union(int p,int q)合并方法实现代码 并查集应用举例UF_Tree算法优化UF_Tree API设计find(int p)查询方法实现union(int p,int q)合并方法实现代码优化后的性能分析 路径压缩UF_Tree_Weighted API设计代码 案例-畅…

10.3 uinput

uinput 简介 uinput 是一个内核驱动,应用程序通过它可以在内核中模拟一个输入设备,其设备文件名是 /dev/uinput 或 /dev/input/uinput。 uinput 使用 使用 uinput 时遵循以下步骤: 通过 open 打开 uinput 设备通过 ioctl 设置属性位图通过…