数据科学可以称为是一个“双高”的职业:高薪,高压。
(图源:闪萌)
回顾过往的经历,我犯过一些错误,甚至对自己的职业生涯产生了一定影响。今天将它们分享给各位,希望能有所“借鉴”。
不了解数据科学工作有不同类型
我曾经以“数据科学家”的身份加入一家公司,希望进行预测建模的工作。但是实际上从事的是编写后端应用程序代码的工作。
造成这种偏差的责任在我。
因为此前从事的数据科学工作就是构建模型,我就理所当然的认为新角色也将是如此。
实际上,很多工作虽都称为“数据科学”,但具体要求却有所差别。
(来自Indeed的3种不同的数据科学工作)
浏览数据科学相关的招聘描述,会发现主要分为以下几类:
- 商业情报
- 数据分析
- 机器学习工程
- 数据工程
- 软件工程
所以,在确定入职之前,请尽最大可能的了解其具体细节。面试就是一个很好的机会,可以通过与对方的交流来确定这是否是自己最好的选择。
否则,你可能很快就会再次寻找新的工作。
没有导师
初创公司通常会出现需要在自己并不擅长的领域工作的情况,而当你不了解相关专业的内容时,就很难研究出解决方案。
当时我并不熟悉NLU技术,所以在没有外部帮助的情况下,花了一个月的时间摸索机器学习的问题。
但如果有相关的专业人士支持,可以花费一周的时间就能解决。
没有人能够在没有高级工程师或者指导者的帮助下,从事在像AI这样的高科技领域进行工作。
不承认项目的失败
我曾在现有模型仍然具有较好性能的情况下,花费了两个星期的时间用新模型进行替换。
为了减少损失,我又花了两周的时间进行推测执行来调整,以期改善它。最终没有效果,只能将新模型弃用,白白浪费了时间。
作为数据科学家,有时候会沉浸在专业领域中,可能会忽略掉什么才是公司项目的优先事项。所以如果你在非关键项目中超过了分配的时间,并且不一定保证会成功,最明智的选择就是放弃它。
我们需要明白的一点就是,所执行的众多项目中有一些会以失败而告终,要做的就是承认它并继续前进。
项目结束后不写汇报说明
我后来的工作重点发生了转移,回到了一年半前放弃的NLP项目上。但因为没有对当时的尝试进行复盘,也没有记录完成的相关研究,所以只能从头开始。
在初创公司,工作重点时常会发生转移,有时候项目做一半失败中止,过段时间可能会想再次尝试。
通常我们并不记得项目失败的原因,会忽略保留失败/进行中的项目的重要性。如果对此进行了存储,并有对应内容的链接注释,在第二次尝试项目的时候会加快推进的速度。
延迟寻求帮助
我讨厌浪费大家的时间,比较倾向于在寻求进一步建议之前,先尝试一下资深人士的所有建议。
结果是不得不因此推迟会议。
实际上,在太早或太晚寻求帮助之间有一条很好的界限。
如果有人同意担任你的顾问,他们经验丰富并能提供建议帮助,可以从中获取建议进行尝试,然后跟进情况。
而如果你可以自己解决问题,那就不需要进一步寻求帮助。
(在实际场景中,还存在一类人,他们对于问题不进行思考就直接寻求帮助,那么上述所说的并不适用于此。)
没有结合项目学习
我花了几个月的时间阅读已经忘记的技术和理论的文章,但还是不能避免再次忘记的情况。
而当我将每次学到的知识应用到可运行的应用程序中、发布Jupyter代码或撰写博客文章时,会更快掌握知识并更熟练的运用到工作中。
所以要对自己投入的所有时间负责。
开发VS探索的错误平衡
开发所使用的是你已知的技术,而探索则需要尝试使用新技术,这两者你其实都需要。
有时候对于熟悉的一些机器学习库,会对其缺点产生“免疫”,认为它就是这样,而不会选择跳出“舒适区”探索更好的办法。这样就会导致看到的所有ML问题都存在于自己已知的技术范围内。
所以在开始新问题时,请采用第一性原则来避免探索不足。
(第一性原则解释:
https://en.wikipedia.org/wiki/First_principle)
不编写可重复使用的功能
我选择一个懒惰的人去做困难的工作,是因为他会找到一种简单的方法完成。-比尔盖茨
我遇到过一个面试问题是要求在有限的时间内建立一个标准的NLP管道。
我花了几个小时完成任务,而不是想象中花30分钟神速完成。虽然最终通过了面试,但对此并不满意,这个过程本可以很容易。
这让我得到了一个“教训”,如果发现自己在Jupyter笔记本中多次编写同样的代码,请记得编写自己的可重用模块,这相当于帮了自己一个大忙。
低估领域知识的重要性
我此前有过在制造行业工作的经历,但在建立机器学习管道时,使用了错误功能。
这提醒了一件事情,在软件开发中,通常最被低估的部分就是与行业保持联系并拥有领域知识。
事实上,领域知识比编码技能更难获得,它需要多年的工作经验积累。对此,我有两个建议:
1.如果身为工程师,但对领域知识不感兴,就要当心可能会在某些时候碰壁。
2.企业内至少有一位创始人在针对该产品的行业具有丰富经验时,才可以加入团队。
结论
职业生涯不足以使自己犯很多的错误,一份工作具有极强稳定性的认知已成为过去,我们应该保持学习,相互吸取经验,通过做更多正确的事情来减少犯错的机会,以获得更好的个人职业发展曲线。