IT行业寻找工作机会的另类思维

本文是给形式验证社群做的分享,首发在 CSDN。抛砖引玉,请大家指正。

形式验证群里的老朋友可能知道,我的工作其实和形式验证无关,不太懂形式验证,平时在群里更类似于文娱委员的角色,所以我也没办法分享太技术性的东西。今天的话题没有技术含量,只是分享一下IT行业寻找工作机会的另类思路。

免责声明:本文分享的内容,只是一种思考的角度,不代表是最好的策略,不承担任何相关决策带来的后果:)

我们有幸在一个 IT 行业繁荣的时代,机会比较多,比好多行业回报大。IT行业找工作常见的渠道,包括各类招聘网站,知名大公司的官网招聘页面,熟人内推,以及猎头介绍等。此外,Levels.fyi | Salaries & Tools to Level Up Your Careerhttps://duibiao.info/ ,还有各种论坛如一亩三分地等,也都是有用的信息来源。

这么多信息来源,可能会让人陷入海投的负担中,我今天分享一些不一样的思路,希望能够带来一些启发。

我要分享的第一个关键词是“顺藤摸瓜”,具体分三个步骤。

1,平时看到感兴趣的产品、工具、网站、开源项目等,多花十分钟时间,调研一下背后有什么商业公司的身影。通常只要在官网的 about 页面或者底部链接仔细找,就能找到蛛丝马迹。

举个例子,我大学的时候对开源运动非常热情,对丰富 Linux 桌面环境软件生态非常在意,当我了解到有一个叫 Wine 的开源项目能够在 Linux 上兼容 Windows 软件的时候,就很感兴趣。而当我发现中文开源社区对 Wine 项目有一些误解的时候,我就想动手去改进 Wine,用行动消除误解。我很快就在 Wine 项目的官方网站发现,它背后有一家商业公司在全职开发,叫做 CodeWeavers:WineHQ - About Wine

于是我先以社区贡献者的身份给 Wine 项目提交代码,再毛遂自荐加入 CodeWeavers,成为中国第一个员工,做了几年的全职开源软件开发,满足了学生时代的心愿。

这个调研方式是很容易复制的,比如很多定理证明器是用 ML 系的语言开发的,那么如果我们看一下 ML 系最常见的 OCaml,就会发现官网上居然收录了40多家使用 OCaml 的公司,从这个起点出发去调研,看看每个公司官网的招聘清单,可能就会发现跟自己相关的工作机会:

Companies using OCaml – OCaml

再比如,seL4 是一个经过形式验证的操作系统,seL4 官网上列出了基金会成员公司的清单,这些公司可能就需要形式验证领域的人才:Membership | seL4 

再举一个例子,CompCert 是一个经过形式验证的编译器,CompCert 官网有一个“partner”页面,介绍了一家叫 AbsInt 的公司,销售商业版的 CompCert:

CompCert - Partners

注意工作机会常常是有窗口期的,一个职位发布出来可能几个月后就会招到人删掉招聘信息,但是曾经招过的职位未来大概率还会继续招,所以经常回头看看有好处,主动建立联系也有好处,可以请对方有空位的时候给自己发邮件。订阅某些技术讨论组的邮件列表,有时候也能看到招聘信息,比如 Coq、Isabelle 等邮件列表都有。

2,如果发现了一家感兴趣的公司,紧接着第二步值得做的,应该是调研竞品。

如果一个行业繁荣,那么好产品可能会有很多竞品,一家不招人,别家可能会招,平时多留意,需要的时候就会多一些选择。有一个网站叫 StackShare - Software and technology stacks used by top companies ,可以用来对比不同的产品和技术栈,其实就是一个竞品索引目录。

举个例子,如果我们对 PyTorch 感兴趣,那么可以在 stackshare 看到 Tensorflow、MXNet 这些竞品:What are some alternatives to PyTorch? - StackShare 

这个网站还收录了使用这些技术的公司,以及当前有哪些职位需求,不一定全,不一定很准,但可以是一个不错的粗筛的试点。

类似的,我们也可以在 stackshare 上搜 OCaml, Haskell, Racket, Scheme 等相对小众的编程语言,看看哪些公司在用。

3,前面两步其实很多人都能想到,这个习惯也伴随了我很多年,不过我最近几年接触推荐系统以后,又发现了新的思路。大部分推荐系统是基于“相似的买家喜欢相似的商品”这个假设去做匹配的,参照这个假设我们也可以把自己打造成一个原始的手工推荐系统。如果把一家公司看成一个商品,那么买家是什么人呢?答案是股权投资人,也就是拥有这家公司的一部分的人。如果类比成立,那么相似的投资人可能会投资相似的公司。

有一个网站叫 Crunchbase: Discover innovative companies and the people behind them,这是一个覆盖全球超百万家企业的商业信息数据库,可以用来查看公司的融资和估值信息。

举个例子,Mathpix Snip 是一家做数学公式OCR识别的公司,如果我们上 crunchbase 查,可以看到背后的投资人叫 Techstars Montreal AI Accelerator,这名字很明显就是 AI 相关的, Techstars 加速器也确实投了很多家 AI 初创公司:Techstars Montreal AI Accelerator - Investments, Portfolio & Company Exits

再举个例子,Wordpress 是一个开源的博客系统,如果我们用前面第一步的方法,可以在官网右下角隐蔽角落看到,Wordpress 原来是一家叫做 Automattic 的公司开发的。这家公司的一大特色是,他们从创业早期就是全员远程办公的,如今全球已经有1700多员工,分布在90个国家:About Us – Automattic 

Automattic 的创始人 Matt 不仅在自己公司推行全员分布式办公,而且乐于推广这种文化,他做了一个播客专门讲分布式办公的好处和坏处:Distributed.blog – The future of work is here.

Matt 创业成功之后,开始做天使投资,参与投资了很多分布式办公的公司,包括我们熟知的 Gitlab:Audrey Capital 

顺便说一下,随着全球远程办公机会的增多,越来越多人关心跨境远程办公的法务税务问题。之前我在群里收集过问题,打算请专家挑一部分来解答,如果大家有什么问题补充可以私信告诉我。

最后讲个小插曲,前两周形式验证群里有一位朋友介绍了 Pivotal Hash 这个算法,我就好奇去搜了背后的公司 Pivotal 以及 Pivotal 的投资人。后来另一位群友介绍了 Certora 这家做智能合约验证的公司,我也去搜了背后的投资人。一搜发现,两家公司居然都被 VMWare 投资过,有一种世界真小的感觉。

当然上面这个是巧合,没有太重要的信息量。“相似的投资人投资相似的公司”,这个规律可能对于体量比较小的早期投资更有效一些,因为他们资源有限需要专注在自己擅长的小方向上。

不过如果我们经常调查这些信息,这种“世界真小”的故事就会反复遇到,这个时候就说明调查得比较仔细了。

== 中场休息 ==

小结一下,前面讲了顺藤摸瓜的三个步骤,但其实我举例子的时候作弊了,我刻意挑容易的例子讲。如果我们到 stackshare 上搜 Coq、Isabelle,或者到 crunchbase 上搜 AbsInt,得到的结果是几乎空白的。信息量少,本身也是重要的信号,说明这个领域实在太早期了,投资人、潜在的友商、市场都还没准备好。这就要提到第二个关键词,“提前规划”。虽然上面的方法搜出来有时候可能是空白,但是养成这个习惯,平时多留意积累信息,不定期回头再查一遍,就能保持对领域的敏感。比如说,如果工业界对口的机会不多,那么也许有的同学规划下一步的时候会提高学术界的优先级,而如果哪天发现搜出来的结果突然增多了,那么也许是进入工业界的一个不错的时机。如果 crunchbase 上搜出很多形式验证的公司,那说明这个领域的资本供应增加了,但是人才培养需要时间,短期内无法增加太多供应,供不应求,这时候人才就有议价优势。

总的来说,这些方法有助于帮自己建造一个池子,这个池子包含可能的选项。有了这个池子,可以提前规划,避免临时海投的负担,做出不留遗憾的决策。这些方法相信比起很多同学申请学校做的辛苦调研准备要简单得多。

上面的思路,大致上是一种兴趣导向的框架。这种框架的好处是,我们做的产品是自己比较认可的产品,我们对用户可能有比较多共鸣。很多时候这些调研方法不会对于提升收入水平有直接的帮助,但是它有可能在同样收入条件下帮我们发现更中意更匹配的机会,尤其是当我们的兴趣非常另类小众的时候。如果我们用了这些调研方法,我们找到另类公司的机会,可能比另类公司找到我们的机会要大得多。

顺便补充一个观点,猎头也是一个非常好的渠道,我上面讲的调研思路,猎头或多或少都有类似的信息来源,等于是帮大部分人把功课做了。

跑题分享一个故事,我认识一位刚开始涉足形式验证领域的猎头朋友,他跟我说,他以前给很多澳洲上市公司招人,了解人才的流向,看到优秀的人才加入一家上市公司,就买那家公司一千块钱的股票。我听了之后赞叹不已,这个想法真聪明。可惜后面翻车了,他说几年下来这个策略也没有特别突出的回报。(个人认为是澳洲经济整体发展迟缓导致的,同样的策略在中美可能更有效)

再跑题讲一个笑话:某公司高薪招了一个高管,入职之后才发现高管说得漂亮但其实没有真本事,想裁掉可是请神容易送神难,最后暗中请了个猎头,把高管资历包装一下,推荐给竞争对手,被竞争对手用更高的价格收了,一分离职补偿都不用出。。。

跑题回来,我觉得优秀的猎头都是很聪明很敬业的人,和这样的朋友交流是很受益的,所以我也很乐意给猎头朋友科普形式验证的信息,互相帮助。其实我们群里也有形式验证领域的猎头朋友,如果大家感兴趣,也可以找机会请ta们介绍一下自己,希望能够对大家有帮助:)

猎头是挺常规的渠道,最后我再分享一个另类的思维。

前面提到,目前形式验证领域的创投不活跃。其实站在投资人的角度,他们的信息来源也有局限,因为太前沿的东西谁都看不准。我想分享一个建议,就是做前沿技术的同学,有机会不妨跟科技风投行业的从业者多交流。我没有鼓励任何人创业,实际上有数据统计过,某明星孵化器旗下的创业公司,创始人的平均财务回报低于在大公司工作同等时长的回报,尽管头部少数创始人的回报超过所有其他创始人的总和。类似的,有投资人说早期创投的行业整体回报率是负的。那么,如果不鼓励创业,为什么还鼓励和投资人交流呢?这就得反过来思考了:正是因为投资风险高,所以投资人做决策需要足够谨慎,对于前沿科技,他们通常需要有自己的技术顾问或者智囊团提供参考意见。这一点,其实是我们群里很多朋友擅长的,很多人不仅在自己领域是专家,而且还熟悉一些关联领域的专家,如果投资人拿一个不靠谱的项目过来咨询,专家能帮忙把把关,让投资人少亏点钱,那就是极大的贡献。另一方面,投资人嗅觉灵敏,资源丰富,也能给前沿技术人员带来不一样的视角和帮助,这是一种双赢。这些价值不一定只体现在具体一两个职位上,可能是更全局的信息。

说完“现在”,再展望一下未来:GitCoin 是一个基于crypto的技术众包平台,目前处于早期实验阶段,以后像这样的形式可能会增加,提供更多另类的选择,感兴趣的朋友也可以关注一下。

Build and Fund the Open Web Together | Gitcoin

感谢大家阅读这么长的文字,上述内容的目标受众主要是即将离开学校或者刚刚开始工作的朋友,只是提供一个思考角度,不代表鼓励某一种倾向。我认为无论是进入工业界还是学术界,都是值得尊重的个人选择,重要的是考虑充分不留遗憾。

如果能够给其他人带来启发我也非常荣幸,比如,研究机构或者创业公司都可能面临同行的人才竞争,有效的调研对吸引人才会有帮助,尤其在全球化竞争的环境下。

我相信工业界和学术界的衔接合作,对于领域的健康繁荣是很有益的。

最后蹭一下流量,CSDN 的朋友如果有跨境远程办公方面的法务税务问题,欢迎加我微信 fracting 一起交流。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值