算法工程师的就业方向

算法工程师的就业方向

我个人从事过的AI场景其实是比较多的,最初在一家数据公司做过NLP和异常检测相关的工作,后来去上汽自动驾驶组接触到图像处理相关工作,然后在阿里互联网汽车部门做过数据挖掘相关工作,中间还在另一家公司做过量化投资相关的事情,现在做的是信息流推荐算法,基本上当前主流的AI的落地场景我都有所接触。总的来说,当前有产品落地或比较好的商业价值的AI就业方向有:

  1. 数据挖掘和数据分析,比如说异常检测、欺诈检测等

  2. 自然语言处理(NLP),比如说我们算法部门就有专门的NLP组,主要负责搭建上层算法应用的基础设施,如文章关键词、实体词、相似度计算等,在智能翻译、语音处理当中也会用到相关技术

  3. 图像处理(CV),比如自动驾驶当中涉及到的图像拼接、车道线检测,推荐当中涉及到的图像特征提取等

  4. 推荐算法,当前各大互联网公司基本都会有这个岗位,信息流推荐、商品推荐等

  5. 搜索算法,和推荐算法用到的技术很类似了,信息搜索、商品搜索等

程序员的职业发展路径一般就是:

初级工程师->高级工程师->资深工程师->专家->高级专家->资深专家->研究员,

大公司会有相应的职级,比如阿里技术序列就对应P1P14,校招一般是P4P5,本科一般P4,研究生一般P5,能力强的可能给到P6甚至P7,但这毕竟是凤毛麟角。P5~P7是干活的中坚力量,占比比较大,一般一到两年晋升一次,当然升不升和怎么升跟你的个人能力和产出强相关,评定的标准还是比较规范的,P7往上升卡得比较严。

算法工程师需要点亮哪些技能

成为一个算法工程师首先你得有工程能力,就是说你得先能干活,熟练的掌握一门编程语言必不可少;
然后是相关领域的专业知识,比如推荐算法,你需要了解常见推荐算法的原理、优缺点、应用场景等;
然后是机器学习的基础知识,李航的《统计机器学习》,周志华的《机器学习》,Benjio的《深度学习》,这三本书至少得过个那么一两遍吧,把基础知识掌握牢了再学习其它的就容易多了,基础不牢地动山摇;
然后是掌握一些数据结构和算法知识,这个还是比较重要的,对你写出高效的代码很有帮助。
优秀的算法工程师到底优秀在哪里

首先是基础扎实,对于算法基础知识理解透彻;
然后是业务能力强,不懂业务的算法工程师是不可能成为一个优秀的算法工程师的,公司要的是业务产出,而不是多么Fancy的算法;
然后是持续学习的能力,技术的迭代很快,不进则退,优秀的算法工程师不仅需要钻研本领域的知识,还需要了解其它方面的知识,比如推荐算法工程师需要了解各种训练框架甚至其具体实现,软硬件怎么结合,C++的进阶等等;
然后是协作能力,在公司里面可能沟通成本比开发成本高,特别是组织结构庞大以后,跨部门沟通就更难了,找到对的人,一起把问题给解决掉,这应该是一个优秀工程师需要培养和掌握的重要能力,只顾闷头写代码容易闭门造车,落后了可能都意识不到。

机器学习算法工程师说:

理想中的算法工程师是这样的:提出假设→收集数据→训练模型→解释结果。

现实中的算法工程师是这样的:提出假设→收集数据→预处理→训练模型→调试→重新收集数据→预处理→收集更多数据→调试→调试→调试→……→放弃/产出:效果提升0.2%!!
理想中的工作流程:拿到模型→分析→建模→仿真→设计控制架构→模板划分→编程→传感→控制→调试。

现实中的工作流程:拿到模型→分析→建模→仿真→再分析→再建模→再仿真→设计控制架构→模板划分→编程→传感→控制→调试→调试→传感→编程→传感→控制→调试→…

事实上,所有的环节、所有的零部件都有可能出问题。

滑动变阻器因为接地线虚焊导致输出电压会跟着电机电流漂

当介质温度烫手时,激光温度计却显示33度

链轮传动轴线不平行,造成链轮在铝合金外壳上摩擦产生时变阻力

运行过程中传感器没读数,停机后怎么检查都没问题

MCU上电以后居然在开始的几秒钟里面SPI口不工作

滑台的库伦摩擦太大,却要做力控制

齿轮有大间隙,却要做力控制

P增益设得太大导致系统震荡,撞坏力传感器

更不要说:

A/D接口可能烧了

UART可能烧了

MAX232可能烧了

示波器可能烧了

万用表可能烧了

电机可能烧了

连接线可能断了

电路板可能脱焊了

导线可能短接了

……

高工资背后,加班是常态,为啥还要做?

所以以上也就导致算法工程师需要做很多重复性工作。有时感觉每天都很忙,但好像又什么都没有做出来。赶上上线,就需要最短的时间解决问题。于是,这样一遍遍虐下来,终于发现问题出在一个传感器工作不正常时,心情只能用四个字来形容:生无可恋 (#-_-)。

但当整个系统按照预期完美运行起来的时候,你就会觉得成就感爆表、简直无所不能。这大就是做机器人算法工程师的乐趣吧!

算法工程师职业寿命有多长?职业转型?

大家都知道,年龄会成为发展的瓶颈,算法工程师的职业寿命很少超过40岁。原因有很多,但一般是算法工程师不想继续从事这一职业,或不能跟上IT的节奏,抑或没有终身学习的习惯!这时他们会考虑做到管理层,比如产品经理,或者直接转行。

高大上的背后,也藏着无数的心酸血泪!不过,生命仅此一次,有梦有理想就要去追嘛!人生始终要笑对走下去

化投资需要相当多的开
发人员

,不夸张的说,我们去调研过的量化公司核心办公区,竟然有一半都是developer!

developer在量化交易过程中承担了相当重要的角色,没有成熟完善的系统架构、交易路径、策略思想的编码实现,就无从谈量化交易。

1.基本的知识素养!

量化开发日常的工作主要是支持交易员的日常交易的需求,实现交易的策略和算法,开发 Quant Trader 使用的交易工具等等,因此作为一名developer,需要了解更多和编程相关的内容,也需要学习很多软件开发的工具,比如数据库 SQL,Linux 操作系统等等。

如果是从事算法交易开发还需要扎实的数学基础知识。量化开发是两条腿走路,一边配合量化研究员的工作,一边配合量化交易员的工作,包括提供交易工具进行算法实现、策略执行等等,此外还有一些异常问题处理、交易数据统计等方面的工作。

2.没有金融知识,影响做developer吗?

不能完全不懂,但也不需要精专。

大多数IT转量化的developer在一入职的时候都是对金融市场不了解的,但是通过环境的渲染,都会大概明白商品、期货、股市的概念。

developer不需要深入的了解经济学原理,只要能把策略思想的因果联系弄明白就可以了,基础知识应对足够用了。

3.注意,developer也有细分方向!

这里我们提到的developer是一个宽泛意义上的,如果说的更细致一点,可以分为策略实现、系统构建开发、交易支持等几个方向。

每个方向在技能和思维的要求方面也不尽相同,如果更倾向于策略研发,那么就要以数据科学家的身份多跟研究员进行交流;如果是其它两个方向,就更需要低延迟等IT技能方面的提高,也就是量化系统工程师的角色。

数据科学家的角色基本素质是一定要更理解数据的价值,以及要实现的策略需要用到什么样的数据,包括数据特征和有关细节。

Quade就属于偏策略实现的方向,这也是他个人的偏好。候选人完全可以根据自己的兴趣和优势来选择。

4.如何准备developer的面试?

对quant developer的考察更偏重于代码,候选人可以在leedcode上多刷题。尤其对基本的算法、数据结构,系统设计题要格外重视。

对一个合格的developer类别候选人来说,leetcode不仅仅是招聘是常用的筛选标准,也是锻炼思维的重要手段。

另外,在学习的过程中,一定要多写代码,并学会多角度思考。毕竟在量化公司的面试中,硬核技术的问题考察一定是偏重的方向,而其他软性人文东西,大概过得去就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值