見出し画像

スタートアップのためのスタートアップ企業「スマートラウンド」で働いています🐬

noteに書く初めての記事ということで、2024年春から新たに働き始めた株式会社スマートラウンドでの仕事について、私lagénorhynque🐬カマイルカの過去のキャリアを述懐しつつ書いてみます。


自己紹介

SNSなどでは@lagenorhynque (< lagénorhynque; カマイルカ属のフランス語形)と名乗っています、通称「カマイルカ」(a.k.a. 🐬)です。
岐阜出身で学生時代は岐阜〜名古屋で過ごしていましたが、大学卒業後には就職と同時に首都圏(東京→千葉)に移り、ITエンジニア(ソフトウェア開発者)として12年ほど仕事をしてきました。
技術的にはClojure, Haskellなどの関数型言語と関数型プログラミング、(Web) APIやデータベースのインターフェース設計が好きで、仕事の性質としては先生として何かを教えたりマネージャー/リーダーとしてチーム活動を支援したりするような役割が特に合っていると感じています。
主な趣味は読書(漫画〜各種専門書)、語学(フランス語、ロシア語、ドイツ語を中心にいろいろ)、サイクリング(ロードバイクでのロングライド)です。

これまでのキャリア

現職のスマートラウンドに至るまでに、大学法学部で4年間幅広く学び、SIerで複数業界の業務システム開発に携わる中でITエンジニアとしての基礎的な経験を積み、ネット広告企業で社内業務効率化のためのサービスを開発したり開発組織の強化を模索したりしてきました。

学生時代: 語学が好きな法学部生

幼少期から英語に触れていたのをきっかけに(日本に限らない)世界の文化や社会、国際関係に興味を持っていた私は、外交官のような国際的な仕事をしてみたいかもしれないと法学部を選びました。
法学部での法学/政治学の専門科目には

  • 各種法領域の法解釈について判例や学説と対照しながら学ぶもの: 憲法, 民法, 刑法, 行政法, 労働法, 社会保障法, etc.

  • 法の歴史的、哲学的な側面について学ぶもの: 法思想史, 法哲学, etc.

  • 諸外国の法制度設計/運用を学ぶもの: 英米法, ロシア法, etc.

  • 国際社会の法/政治について学ぶもの: 国際法, 国際私法, 国際政治史, etc.

と、私自身が実際に触れた範囲に限っても様々あり、経済学、統計学などの隣接分野や教養科目とともに興味のままに幅広く学んでいました。
社会人経験のなかった当時の私には十分に具体的なイメージができず面白さを実感できない内容もありました(学び直してみると意外と楽しいのです)が、法と政治の基礎について抽象的にも具体的にも多角的に学び、現在までの私の価値観や思考/行動様式に多大な影響があったと感じています。

また、語学趣味に深く傾倒するようになったのが大学時代でした。
英語との相乗効果を狙って選択した第2外国語のフランス語、ヨーロッパの古典言語としてのラテン語と古典ギリシア語、ラテン(ロマンス)系のイタリア語とスペイン語、スラヴ系のロシア語、ゲルマン系のドイツ語、日本語と関係が深い中国語、もうひとつの国連公用語のアラビア語、と(大学外でもNHK語学講座などを活用しながら)最終的に10言語くらい取り組んでいました。
特にヨーロッパ言語の発音や語彙、文法について比較しながら探求していくのがひたすら楽しく、時間の使い方からも事実上の副専攻は外国語学/言語学なのでは(?)とさえ感じていました。

大学ではゼミにもサークルにも所属していなかったのですが、アルバイトでは小学生から高校生までの主要科目の学習指導を行う塾講師をしていました。
人に何かを分かりやすく説明したり効率的かつ効果的に学ぶための方法を提示したりするのが当時から好きでした(現在でも何らかの分野の講師を仕事にしたい気持ちがあります)。

1社目: SIerのシステムエンジニア

大学4年生の半ば頃まで就職先を決めていなかった私は国家公務員試験を受けたり一般企業への就職を検討したりする中で、なぜか不意に、プログラマって面白いかもしれないと思い至りました。
ITエンジニアとして就職するという選択肢をそれまでまったく考えたことがなかったため、大学では教養科目でコンピュータサイエンスのごく初歩的な知識に触れた程度でしたが、探り始めてみると想像以上に私に合っていそうな確信に近い予感がありました。
法学や語学に取り組む中でいくらか磨かれてきたであろう言語と論理を扱うスキルはきっと活かせるだろうし、コンピュータサイエンスや数学の理論的側面も面白そうだし、(Harry Potterシリーズやファンタジー系の漫画や小説を好んで読んでいたのも影響して)魔法のような一般の人には知られていない秘密の技術が世界を変えていく可能性にもワクワク感を覚えていました。

新卒入社したのは主に大手SIerがリードする大規模なシステム開発プロジェクトに参画する小規模なソフトウェア開発会社でしたが、私のようなプログラミング未経験者から実務に向けてキャッチアップしていけるような手厚い研修プロセスが整備されており、最初期にはそのような教育プログラムの助けも借りながらITエンジニアとしてのスキル研鑽を始めました(ちなみに後には社内技術研修の講師やOJTトレーナーを何度か担当する機会も得ました)。
実務では基本的にプログラミング言語Javaやそれをベースにしたベンダー固有のフレームワーク/独自言語を用いたシステム開発に携わっていましたが、社内の先輩エンジニアからScalaSchemeなど開発現場では触れる機会のなかったプログラミング言語について紹介してもらったのをきっかけに、(自然言語に続いて)プログラミング言語も多言語学習するようになりました。

やがて巨大プロジェクトでの(新規開発にもかかわらず)レガシーコードが次々と生まれていくような開発環境や人海戦術が前提のプロジェクト進行にたびたび疲弊し、長期の客先常駐により自社に所属している意味の希薄さを感じるようになった私は、少数精鋭志向の小さなチーム/プロジェクトでスピーディーに自社のビジネスのためのサービスを継続的に開発したい(アジャイルソフトウェア開発の理念にも強く共感していました)、技術的な向上心の強いエンジニアが集まる環境に身を置きたいと思うようになりました。
とりわけ(当時に国内でも徐々に注目度が高まり始めていた) Haskell, Scala, Clojureなどのいわゆる関数型言語の安全で簡潔で抽象度の高いプログラムに魅力を感じて趣味で触れ始めていたため、そうした言語のコミュニティイベントに重点的に参加し始めました。
そうして最終的に、メイン開発言語としてScalaを採用しているアドテク企業に転職しました。

2社目(前職): ネット広告企業のエンジニア/エンジニアリングマネージャー

転職したのはDemand Side Scienceというアドテク系の開発会社でしたが、ちょうどネット広告企業オプトが初めての本格的な内製開発組織Opt Technologiesを発足させる動きが進んでいる時期で、入社時にはオプト所属になりました(メガベンチャーの広いオフィスで働くことになるとは想像しておらず、最初に聞いたときは驚きました)。
以前に関数型言語のコミュニティイベントで知り合っていた方々とも同僚として再会し、Scalaでの開発やプログラミングそのものが好きでしかたないエンジニアが集まって日々オフィスやオンラインチャットでは技術的な雑談で盛り上がっていました。

業務においては当初、広告効果測定ツールADPLANのリニューアル開発に関わりました(大規模なScalaコードベースを読み書きしていました)。
その後、社内向け広告運用支援ツールの充実を図るということでそのための開発チームに移り、既存コードベースのない新領域ということで新規技術の導入の機会も得ました。
関数型言語の中でも特にClojureに注目していた私は、Scalaと同様の技術基盤を前提としながら異なる特徴を備えたClojureを社内に初導入し、チームメンバーの多大な理解と協力のおかげで(初期メンバーの私がチームを離れても)無理なく継続的に開発運用できるまでになりました。

システム開発以外の仕事では、オプト主催のエンジニア向け技術イベントの企画/運営を長く担当させてもらいました(関数型プログラミング関連のイベントを中心に私自身もたびたび登壇していました)。
また、新卒採用とともに開始した新卒入社エンジニア向けの技術研修も講師やプロジェクトリーダーとして何度も関わる機会を得ました(事前準備はなかなか大変ですがやりがいも大きく、最も楽しい仕事のひとつでした)。

開発組織Opt Technologiesで組織運営のための制度をみんなで議論しながら充実させしたり、技術選定段階から開発チームのリーダーを務めたり、対外イベントや研修の運営に携わったりする経験の中で、ひとりのエンジニアとしての開発業務だけでなくそれを取り巻く仕組みとしての組織とシステムのマネジメントにも徐々に興味を持ち始めていました。
そのようなタイミングで当時のマネージャー陣からの誘いをきっかけにエンジニアリングマネージャーとしての仕事もするようになりました。

部門を新設してCTOもしくはVPoTのサブセットのような役割を任せてもらい、マネージャー陣やチームメンバーと議論を重ねてより良い組織とシステムの設計/運用を試行錯誤したのはとても刺激的で貴重な経験でした。
管理職は日常的なミーティングや事務処理などで何かと多忙になりやすく、組織やメンバーに対して負う相応の責任もあるため、エンジニアとして技術力を研鑽し発揮することを何より楽しみとしていた私がエンジニアリングマネージャーになるなどかつては考えてもいませんでした。
しかし、未熟ながらもマネージャーとしてより良く務めを果たそうと模索していくにつれて、組織全体に奉仕する仕事の難しさと面白さを実感するようになりました。

後述の経緯から、部門長ながら急遽の退職を申し出ることになってしまったのですが、社内の組織変更の時期にも重なって多忙にもかかわらず、新たな挑戦として温かく送り出してもらったことがありがたい限りでした。

スマートラウンドとの出会い

オプトで継続的に関わってきたサービスの開発も一区切りが見えつつあり、会社全体としても転換期を迎えつつある中で、各種採用媒体からメッセージを受け取ったら普段から気軽に眺めるようにしていたところ、CTOの小山(@doyaaaaaken)さんから頂いていたスカウトメッセージが目に留まったのがきっかけでした。
少数精鋭志向の組織で1人目のエンジニアリングマネージャーになってみませんかとのお誘いに、これは良い機会かもしれないと直感したのでした。

スタートアップの起業や投資という領域にはそれまでまったく無縁な私でしたが、「スタートアップが可能性を最大限に発揮できる世界をつくる」とのミッションを掲げて自らスタートアップとしてスタートアップエコシステムの変革に挑戦している、そのためにみんなのためになるプラットフォームを作っているのだと聞いて、率直に素敵な夢だなと感じました。
組織マネジメントの延長上で興味を持ち始め、思い返せば学生時代に興味のあった分野にもちょうど重なる、企業の法務や財務/会計の領域に深く関わる事業に純粋に知的好奇心も刺激されました。
関数型言語での開発に取り組んでみたいというのがきっかけだった前職への転職当時とは異なり、採用技術は自分の中でそれほど注目する要素ではありませんでしたが、Java, Scala, ClojureとJVM言語での開発経験が長いので、サーバサイドKotlin + フロントエンドTypeScriptという技術スタックはスムーズに扱えそうだとも思いました。
エンジニアリングマネージャーとしてより効果的に組織とシステムの成長を支援するには(組織とシステムを用いて取り組む)事業そのものに対する情熱が必要そうだと感じ始めていた私にとって、大いにフィットしそうな予感がありました。

「トライアル入社」

スマートラウンドの採用選考プロセスについて最も印象的だったのは「トライアル入社」という制度でした。
エンジニア職の候補者である私自身の例では、平日2日間現職に休みを入れて、実際のサービスに対する改修タスクを題材とした(ペア)プログラミング、社内の方々との面談や座談会、週次ミーティングの傍聴などをさせてもらいました。

マネージャーとして中途採用に関わってきた経験から、経験者としての候補者と受け入れる組織とが双方にマッチ度を見極めようにも通常の面接や技術試験のような短時間かつ普段の業務と大きく異なる形ではどうしても見えないものがあると感じていた私は、制度説明を聞いた瞬間に(誇張なく率直に)さらにスマートラウンドに好印象を覚えました。
本物のコードベースや開発環境/プロセスに直に触れ、中の人たちと直に交流しながら具体的に働くイメージをつかむことができる、非常に貴重でありがたい機会でした。
面談や座談会を通して、どのような人たちが集まってどのような思いを抱いて働いているのか、集中的に対話を重ねて理解を深めることができました。
ペアプログラミングにリードする側で参加させてもらったり、開発への取り組み方や成果物に対する丁寧なフィードバックを頂いたりと、同僚になるかもしれない方々との和やかで楽しく充実した時間でもありました。

スマートラウンドでの仕事

スマートラウンドに入社した当初は、サービス、事業ドメイン、組織、開発運用と幅広くキャッチアップしながらエンジニアリングマネージャーとしてオンボーディングプロセスの改善やエンジニア採用業務の一部などを担当しました。
その後、私自身の意志や適性、キャッチアップ状況も考慮してマネジメント業務よりも開発業務を主軸とするロールにシフトして今に至り、サービスsmartroundの主に投資家ユーザー向けの機能開発を担当しています。

ドメイン知識のキャッチアップ

スマートラウンドはスタートアップの経営と投資という専門的な事業領域に取り組んでいることから、そうしたドメインでの業務経験のない新入社員向けに「業界知識キャッチアップ会」という学習の場があります。
私自身も入社後約1ヶ月間、毎日30分ほどの時間で、継続的にブラッシュアップされている教材で知識豊富な講師役の先輩社員とともにスタートアップの経営と投資に関する基本を学びました。
その後には教材の改善や講師の担当なども早速させてもらっています。
また、スマートラウンドに入社することを決めてから、個人的にもスタートアップの起業/投資や企業の会計/財務に関する基礎知識を書籍などから学び始め、内容的に一部重なりのある資格試験(ビジネス会計検定試験ビジネス実務法務検定試験)にも取り組んでいました。
予想通り(予想以上に)、知的好奇心も刺激されてこの分野を学び教えるのが楽しく、より理解を深めてより良いサービスを実現したいという気持ちが高まる好循環を感じています。

smartroundの開発

フルリモートワークを前提に全社/チームの定期ミーティングが必要最小限に抑えられているため、(私の場合は前職後半にマネージャーのため日々の大半が良くも悪くもミーティングで埋まりがちだったのと対照的に)クリエイティブな個人作業にも集中しやすい環境でサービスの開発に取り組んでいます。
一方で月1回の「全員出社日」は全社として対面ならではの活動に振り切っており、業務終了後の任意参加の飲み会まで含めて、通常業務日とは違った濃密な一日が過ごせます。

日常の開発業務で扱うコードベースは複雑なビジネスドメインを反映して大規模複雑なのですが、高速な開発を継続的に維持しようという意識がコードや開発運用プロセスからも感じられて、開発体験の良さを感じつつより健全に堅牢に進化させたい気持ちが高まります。
メイン開発言語のKotlinはJavaとScala/Clojureの中間的なポジションにあって読み書きしていて絶妙な心地良さがあると感じています(関数型言語の重度の愛好者なのでKotlinがもう少しfunctionalな言語設計だったら良いのにと思うことはたまにあります)。
エンジニアに限らず確かな経験を積んだメンバーが集まっているという印象で、和やかに真摯に議論を重ねながらユーザーに価値を届けるソフトウェア開発にじっくり向き合うことができるところが気に入っています。
また、スマートラウンドの行動規範のひとつに「Happy One Team」(全社というチームで一丸となって成果にコミットする)というフレーズがあるのですが、プロダクト開発に関する週次の全社ミーティングで直近リリース予定の機能変更を担当エンジニアからデモする機会が設けられており、全員で作り上げていくという精神が日常に溶け込んで実践されているのを実感します(社内の多様な職種/役割の方々から率直なフィードバックがもらえる素晴らしい場だと入社以来感じています)。

開発チーム内外での知見共有

普段は基本的にプロダクト開発組織内のチーム単位で開発業務に取り組んでいますが、チーム横断的な活動のひとつにエンジニアによる社内勉強会(読書会など)があります。
ソフトウェア設計や言語機能、開発プラクティスなどについて有志メンバーで一緒に学ぶための場を設けており、現在は私の主催で『関数型ドメインモデリング』(Domain Modeling Made Functional)の読書会も開いています。
また、社外向けにはServer-Side Kotlin Meetupというコミュニティイベントの運営企業として私自身もイベントの企画運営に関わっており、Kotlinの国内カンファレンスKotlin Fest 2024にもスポンサー企業のメンバーとして参加しました。
Kotlin FestのアフターイベントなどKotlin関連イベントにも参加/登壇するようになり、

直近は以下のイベントで登壇も予定しています。

今後は、スマートラウンドでの開発実践からの学びも技術イベントでの登壇や技術記事の公開などを通して積極的に発信していきたいと考えています。

スマートラウンドとともに歩むこれから

過去から現在までの私のキャリアを振り返ってみると、思いがけない意外なきっかけや些細な思いつきが大きな転機になったことばかりでした。
スマートラウンドの入社のきっかけはエンジニアリングマネージャーの採用枠でしたが、現在はマネージャーというよりプレイヤーとしての働き方をしています。
重要なのは役割や役職の名前ではなく自らの意志で何にコミットするかであり、事業と組織/システム、そして社会のために何でも挑戦したいしその機会は日々の中にある(例えば様々な「マネジメント」が求められている)と感じています。
«Vouloir, c'est pouvoir.» (直訳: 望むことはできること)という学生時代から変わらず好きなフランス語表現を改めて胸に刻み、スマートラウンドでも引き続き、楽しく楽にクールにスマートに良い仕事をしたいと思います。


スマートラウンドが掲げる夢に心惹かれるという方、集まる人たちや働き方に興味を抱かれた方、ぜひ気軽にお話しませんか(大歓迎です!)。

この記事が気に入ったらサポートをしてみませんか?