2028年4月からを目安に転職先を探しています
- #Programming
- #Job
「求職エントリ」ってもう死語だったりしますか?
TL;DR
- 2028年4月頃からの転職先を探しています。
- 複雑な技術領域を学習・整理・実装・説明するような仕事を得意としており、保守困難なシステムの立て直し、技術的負債の整理、品質保証の高度化、業務フローの自動化、ドキュメント化などを行ってきました。
- 特徴的なスキルとしては、関数型プログラミングと数理論理学の両方に習熟しています。
- 自分の裁量で自律的に働くことを好み、マイクロマネジメントを好みません。また、メモやドキュメントの作成・閲覧が厳しく制限される環境や、口頭伝達・属人的な記憶に強く依存する環境も苦手です。
- ご連絡は トップページ 記載の各種 SNS アカウントまたは [email protected] までお願いします。
理由
- 2028年3月に、大学院の博士課程を修了する予定のため。
- 現職では短時間正社員1として勤めさせていただいているが、大学院修了後もフルタイムで可能な限り長く勤める、という気分ではなくなってきたため。
どんな人ですか
ITエンジニアとしてのプロフィールはまず こちら を参照していただいた上で、いくつか補足をします。 まずは自分のスキルセットの中でも特に独自性が強いものについてです。
- F# というプログラム言語について、人よりも詳しいです。
- 「F#」と検索すると上から何番目かに出てくる Qiita 記事 の著者です。
- いくつかの F# 製 OSS のメンテナをしています。
- F# で型クラスや型レベル計算などの高度な関数型プログラミングを実現するライブラリ FSharpPlus のメンテナの一人です。
- F# 用の (Neo)vim プラグイン Ionide-vim のメンテナでもあります。
- このブログにもいくつか F# についてのマニアックな記事を上げています。
- 数理論理学、特に様相論理について、人よりも詳しいです。
次にもっと広い意味での強みについてです。
- 専門的な知識を新たに身につける能力があります。
- 大学に進学する前はプログラミング以外にこれといった特技がありませんでしたが、今では(上述のように)コンピュータサイエンス外の分野で博士課程に進めるほどの専門性を身につけました。
- 現職では、既存のプロジェクトに中途参入し、メンテナンス不能になった部分を建て直したり、ほかのエンジニアの手が回らない部分を分担して担当したり、という業務を数多くこなしています。そのたびに、業務上必要な知識を一から身につけました。
- 専門的な内容を専門外の聴衆に向けて説明する能力があります。
- 私が在籍している研究室は数理論理学を専門としていますが、なぜか数学科ではなく情報系の研究科に属しています。 つまり卒業論文や修士論文の発表では、プログラミングや制御工学、人工知能などを専門としている聴衆に対して、 それらとはほとんど何の接点もない内容を話すことになります。その上で修士論文公聴会において高い評価を受け、次席で修了しました。
- 私が現在勤めている会社は巨大なグループ企業に属していますが、「会社外に出して技術屋以外と喋らせても大丈夫な人間だ」という評価をされ、グループ内の別企業へ出向させられたり、外部との折衝に技術屋枠として連れて行かれたりしています。
- この能力はひとえに大学院にて培われたものだと思っています。
逆に弱みといえる部分もあります。これらは主に自分が ADHD であることが原因です。
- マイクロマネジメントされるのが苦手です。
- 私は自律的な働き方を得意としており、注意の抜け漏れが起こりやすい部分については、徹底的な自動化やドキュメント化、また安全側に倒したコーディングや設計でカバーすることで、最終的な成果物の品質を担保してきました。
- しかし、マイクロマネジメント下に置かれてミスや注意散漫を逐一指摘されることで大いに集中力を削がれ、結果的にパフォーマンスが低下する経験もしてきました。
- 上述の説明能力は、ある程度信頼していただいた上で自分の裁量で仕事をするために、不可避的に身につけたスキルでもあります。
- 記憶に依存する働き方が苦手です。
- 私は短期記憶も長期記憶も非常に弱く、口頭のやりとりや属人的な記憶に依存する働き方は苦手です。
- これをカバーするために、現職の業務でのドキュメント作成や大学院での論文執筆などで、知識・判断・仕様・経緯などを体系的に文書化して残す能力を身につけました。それを後から見返すことで、支障なく業務や研究活動を行うことができています。
- そのため、メモやドキュメントの作成・閲覧があまりにも厳しく制限される2、またはそれをしている時間がない環境において、普段通りのパフォーマンスを出すことは難しいです。
どういう仕事をしたいですか
基本的に以下の条件が満たされている限り 業務の内容は問わない です。
- 正社員であること。
- 業務の一環として、社内で使用している OSS へのコントリビュートが可能であること。
- 個人端末での業務が可能で、かつ端末管理・監視を目的とした常駐ソフトウェア3のインストールを要求しないこと。
- 以下のいずれか一個以上を満たすこと:
- フルリモートでの勤務が可能であり、なおかつ裁量労働制である(打刻を要求してもよいが、それによる評価の高低が基本的に発生しない)こと。
- 日本国内にオフィスが存在し、なおかつ週休が3日以上であること。
その上で 望ましいこと・やってみたいこと をいくつか挙げてみます。
- 新規開発やソフトウェア式年遷宮によって、技術選定眼を養えること。組織全体でモダンな技術にキャッチアップしていくぞという意志があること。
- Property-Based Testing や形式検証ツールを利用するなど、通常の単体・結合・E2Eテストなどから一歩踏み込んだソフトウェア品質保証を試みること。
- 業務フローの可能な限りでの自動化と、自動化できない業務フローや重要なドメイン知識などについての徹底的なドキュメント化を推進すること。
以下の要素は、 もしできるのであれば本当に最高 ですが、必ずしも次の職場に求めてはいないものです。
- 業務で F# や OCaml などの関数型プログラム言語を使用する。
- 業務の一環として Lean などを用いて、仕様・アルゴリズム・回路設計などの形式検証を行う。
- 関数型プログラミングと形式手法を最大限に活用してミッションクリティカルシステムを開発し、そのために必要な形式検証ツールの研究・内製も行う。
- 私はこれが可能な数少ない人材のうちの一人です。
連絡先はどこですか
- 私がアカウントを持っている主要な SNS は トップページ に載せてあります。
- この中では Keybase を推奨します。
- Twitter (X) のダイレクトメッセージ機能に関しては、スパムが多いのできちんと届かないおそれがあるため、なるべく避けてください。リプライであれば大丈夫だと思います。
- Eメールの場合は [email protected] までお願いします。