作者:车

摄影:车

入职也有好一段时间了,前段时间试用期结束了。

在互联网公司的试用期一般都是三个月。但这个时间其实并不是严格的,可能提前就答辩了。

而我就是其中一位,原本打算三个月的工作,也被扯断了。最终两个多月的时间就开始准备答辩的事情。

虽然今年情况严重,但只要被招进来的,只要公司别太心狠,个人别太作妖,结果基本上没啥问题,自己和周围的年轻同事,普遍都担心过,但还没见过没过的。

聊聊试用期的一起总结吧。

背景

说下简单的背景,以防不适合的人错误的听取信息。

首先我的经历只适合互联网的朋友们,其他可以自行参考,目前就职一所互联网公司,toB业务。

其次我是算法工程师的岗位,并非研究岗,可以发论文,但论文都是工作的总结,论文也只是加分项。

我的工作内容并非都是模型设计,可解释性的解决方案十分重要(可解释性ML有限),还需要完成算法设计以外的工程任务,类似于机器学习平台的优化等等。

工作

试用期的工作,不管是在OKR还是KPI,我感觉都是在一个较为高要求的情况下制定的,基本上能完成已经算好得了。

我经手的工作,大体简单来说,就是在一个特定的问题下,构建算法系统,并因为整体算法架构的原因,需要把自己常用的python语言,整体迁移到GO语言,包含算法的设计和算法的工程化落地。

这里比较难的几点:

  1. 算法需要是通用的设计,并非特定一个场景点的算法,所以大多数情况都要考虑,让算法更加的通用化。(算法设计的难点)

  2. 需要在较短的时间内,完成算法整体底层到上层的迁移以及和现有框架的集成。(虽然从本科大一到现在 我从c语言->java->c++->python都写了一些,但都不太精湛,而最近两三年基本上都用的python,其他基本上忘没了),其中算法设计刚开始依然用的python,但要整体迁移成go(go没学过,要现学现卖),再工程化集成到现有的机器学习架构中去(这里的机器学习框架代码量巨大,需要看懂并能对应修改)。

  3. 考虑到2的难度,在1构建的同时也为了高可解释性(要让别人认可你的结果,这点尤为重要),我大多倾向在机器学习层面考虑问题,这样也让算法从底层迁移变得更加容易。

  4. 各种业务概念,各种基建要熟练掌握使用。

完成情况

最终把算法设计出来了,也做了一些对比实验,主要还是依照很多公开的数据集,但就是这些公开的数据集,其实和真实情况差距还是很大的,所以算法本身还是有很多需要优化的点。

其次,大概利用了两周的时间完成了python到go的硬核迁移,在迁移之前可以说的上go一窍不通,整个流程基本上也是现学现卖,大概装环境,看语法、例子一两天,其他就是开始直接写起来,刚开始三四天进度比较迟缓,后面基本上顺手了。

最终也完成了迁移和整合。

反思

  • 在我的工作当中,作为算法工程师,可能并不能算纯粹的算法工程师,某种意义上,要是0.1个产品+0.4个开发+0.5个算法,要有整体系统的概念。所以要尽可能的锻炼自己全方位的能力,虽然说技术要深耕,但整体的系统能力也要同时加强,才能不断的独立完成某个项目系统。

  • 代码能力需要加强,强的代码能力能让自己减少很多不必要的麻烦。像我的mentor,代码能力非常之强,语言广泛不说,最主要是代码写完基本上就可以bug free,而相反,我经常性的丢掉边界条件,写完还需要独立的一块时间来fix bugs,整体的研发时间就会拉长很多。(强的代码能力包括快速的实现能力,语言的掌握能力还有整体代码的设计能力,这块后面细说)

  • 需要良好的代码模块测试能力。之前自己并没有接触那么大的代码量项目,所以基本上测试都是全量代码测试,其实说这是全量其实也没多少代码量,但现在这么大代码量,不管哪种语言,都掌握了test模块的测试环节,这会让写代码测试提高很多效率。

  • 心态需要放平。很多项目都是持久化的项目,没有做完,只有做的更好,不断的优化,所以心态上要放平,慢慢做,学会记录,不断的学习和进步,心态上不能太浮躁,觉得自己做完美了,也不能太急躁,觉得自己太慢了,反而这样会延缓自己的项目进度,也不能太不自信,自己做的好的地方,可以在报告的时候重点讲。

  • 学会请教。在请教之前要自己尽量快速全面的调研,实在解决不出来,也不要闷头自己做,而是抓紧沟通,目标是更快的推进。如果在一个气氛还算不错的团队,其实技术极客类型的同事会不少,有问题沟通,其实同事都很热心。

强的代码能力

这里有个误区,很多朋友以为代码写的快,快速实现就是很强的代码能力,其实这是片面的。

当然快速的代码实现是一种很强的代码能力的体现,但这并不够更上一层楼,这可能更多取决于勤奋和熟练。

而我个人觉得代码的设计能力也是非常重要的代码能力的体现。

一个代码流程怎么去设计,怎么去抽象(抽象了之后才能很好的去做接口,面向对象编程),怎么能做到比较好的代码缩扩容,这也是非常重要的能力(可能更偏向于对于机器学习平台研发、机器学习算法工程化,偏研发),这个能力主要取决于代码的设计思想(设计模式)。

除了以上两点,毋庸置疑还有对语言的掌握程度,语言的一些底层和常用trick的掌握。

中心思想的理解,比如java面向对象,c面向过程,go我更愿意称为面向函数编程。

以上这些能力,可以从已经商业化的代码库中找找灵感,比如看sklearn的底层逻辑,pytorch的源代码,我也在不断的读ing,不过任重而道远啊!

总结

一句话。

时间过的很快,希望工作做的越来越到位,自己的技术能力也越来越强!

推荐阅读:我的2022届互联网校招分享我的2021总结浅谈算法岗和开发岗的区别互联网校招研发薪资汇总
2022届互联网求职现状,金9银10快变成铜9铁10!!公众号:AI蜗牛车保持谦逊、保持自律、保持进步发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)
发送【1222】获取一份不错的leetcode刷题笔记发送【AI四大名著】获取四本经典AI电子书

聊聊我的试用期总结(不知名公司算法工程师相关推荐

  1. 64% 的企业未实现智能化,5成公司算法工程师团队规模小于 10人,AI 工程师的机遇在哪里?...

    整理 | 夕颜 责编 | 唐小引 出品 | CSDN(ID:CSDNnews) 当前,人工智能技术已应用于各行各业,落地成为大家关注的核心问题. 在经历了 2019 年的行业低谷期之后,无论是行业巨头 ...

  2. 64% 的企业未实现智能化,5 成公司算法工程师团队规模小于 10人,AI 工程师的机遇在哪里?...

    整理 | 夕颜 责编 | 唐小引 出品 | CSDN(ID:CSDNnews) 当前,人工智能技术已应用于各行各业,落地成为大家关注的核心问题. 在经历了 2019 年的行业低谷期之后,无论是行业巨头 ...

  3. 【面经二】拼多多、字节跳动、触宝、平安证券等公司算法工程师面试问题集锦

    互联网 触宝 状态 已拿到offer 一面 介绍推荐系统项目 最大的技术难点是什么,如何解决 数据结构题 从海里数据中快速匹配字符串前缀 不记得了(一共有两题算法题) 二面 如何进行软件组的任务分配 ...

  4. 知名公司薪水(转帖)2007

    知名公司薪水(转帖)2007-11-24 13:38所有信息均为真实信息,请勿对号入座,也请勿妄自菲薄:所有信息均基于个人经验,不 保证具有代表性,也不保证完全准确:所有观点均为个人观点,可以借鉴,请 ...

  5. IT知名公司工资一览

    基本上覆盖 IT领域的知名公司,希望对以后的学弟学妹们找工作会有所帮助,我把它分作互联网.软件.硬件.网络4个方向,这样大家也好对比一下. 互 联网:   百度:搜索等核心部门16W+,实习是一个很好 ...

  6. 微软、海思、任天堂等50多家知名公司源代码泄露,人人均可公开访问

    鱼羊 编译整理 量子位 报道 | 公众号 QbitAI 50多家知名公司内部源代码已经在线泄露. Adobe.微软.迪士尼.AMD.高通.海思.小米.任天堂--均在名单之中,横跨技术.金融.零售等诸多 ...

  7. DevOps也要考虑安全问题:微软、任天堂等知名公司源码遭泄露

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://www.oschina.net ...

  8. Blockchain.com,Eden Block,DACM等知名公司加入Pocket生态

    近日,分布式API基础设施 Pocket Network新增总价值930万美元的通证锁仓量,其中包括Blockchain.com,Eden Block,DACM等知名公司的加入,充分体现了市场对于WE ...

  9. 许多知名公司宕机现象频繁发生

    黑色八月,细数宕机的那些事 摘要:今年8月,许多知名公司宕机现象频繁发生.Google宕机5分钟损失55万美元,Amazon不到100分钟损失近700万美元.面对如此巨大的损失,对于众多的企业机构来说 ...

最新文章

  1. java 线程不运行时间_java如何设置线程运行时间吗
  2. PROC简单使用用例--VC连接ORACLE
  3. @Html.Action()
  4. 【Linux内核】物理内存组织结构
  5. 最短路(HDU-2544)
  6. 磁盘空间使用关乎SQL Server性能
  7. 使用sharding-jdbc实现水平分表
  8. linux带参数post调用接口,CURL命令模拟Http Get/Post以及带cookies调用接口
  9. java游戏代码大全_求一个简单的Java小游戏的代码
  10. C语言编写游戏的程序教程,用C语言写贪吃蛇游戏图文教程
  11. c++操作打印机那些事
  12. 使用tkinter+爬虫实现网易云音乐下载器
  13. 关于云和网的未来,这位大佬讲了真话……
  14. 【python】微信公众号开发
  15. 一个喜欢搜罗软件的哥们
  16. HTML5-VScode-常用标签的样式以及复合写法
  17. html创建关联程序,如何在控制面板中创建电子邮件默认程序关联
  18. 支付卡行业数据安全标准(PCI DSS)学习笔记
  19. 技术沙龙|这期我们聊聊软件工程师的区块链升级挑战(杭州)
  20. Keil C51教程

热门文章

  1. 中国高新区协会软件园分会7日在青举行
  2. 关于vs2022 C6031 “scanf返回值被忽略”的解决办法
  3. Springboot毕业设计毕设作品,图像AI风格转换系统 开题报告
  4. java rpm是什么_JAVA的JDK, JRE, JVM 的区别,Linux到底要安装什么版本的JDK和RPM?
  5. Android二维码开源项目zxing编译
  6. 一个简单的键盘钩子程序
  7. (计算机组成原理)虚拟存储器
  8. 公司妹子整理的CoreData资料
  9. 8、Hive数据仓库——环境搭建及简单使用
  10. android paint设置字体方向,android paint设置字体 中文字体 楷体 和自动换行方法(zhuan)...