希望する条件・好み

ほぼ確定している希望条件

  • 2025 年 5 月 1 日に入社できること
  • 一定以上の年収
  • 副業可であること
    • サイバーエージェント AILab での研究開発の仕事を続けたいため
    • もちろん原則として本業を優先する前提
  • 生成 AI を使ってソフトウェア開発できること
    • ソフトウェア開発における AI 利用を NG としていないという意味です。もちろん会社としてのガイドラインは守る前提

やや希望する条件・環境・お気持ち

当てはまる項目が多いとうれしいというくらいのリストです

  • 正社員としての雇用契約であること
  • 一定以上は手を動かして開発に携われる役割であること。マネージャかエキスパートかとか、EM か IC かみたいな職種の分類へのこだわりはそんなにないというか分からない。適性があって事業推進に役にたてるのであれば良い
    • ただし、ピープルマネジメントのみみたいな役割が限定的な EM ロールはネガティブ
    • 「手を動かして開発に携わる」の定義としては対象システムのコードやデータを理解できる程度には開発の細部を見られて、いざとなれば自分で直せるくらいの解像度で把握できているというくらいの意味。コーディングするという作業自体に強いこだわりはない。対象のシステムに対してある程度細部まで自分が理解できているということが大事で、そのためにはある程度手を動かす必要があると思っているという意味
  • 開発と運用でチームが分かれていないこと
    • コード書いた人がデプロイする、本番環境にも責任を持つ
    • ヘルプをしあうこと自体はポジティブ。主体がどこかの話
  • 開発メンバーは少人数のほうが好み
    • 多いとその分コミュニケーションパスが増えて複雑になってスピードが落ちがち
    • AI の発展によりより少ない人数で開発できるようになってきたと感じるのでそれをフルに活かしたい
    • チームにバックエンド・インフラは一人でも良いが、オンコール対応を考えると会社全体では複数メンバーでヘルプしあう冗長性は必要
    • とはいえ、より複雑なシステム+大きな成果を出すのに多くのメンバーが必要というのもその通りだと思う。チームメンバーを増やすのには慎重でありたいけど必要なことでもある
  • 変更容易性を第一に、実装時間・デプロイ頻度などのスピードも重視して、かつセキュリティ・認証認可やデータのモデリングも軽視しないこと
    • CI/CD, E2E を含む自動テスト整備は上記のために重要
    • 後戻りできない・失敗したときのリスクが大きいことは慎重に、後戻りできる決定(変更容易性を担保していればあとからどうにでもなる)は迅速にくだせる意思決定が理想
    • いざとなれば捨てて新しく作ってリプレイスしても差し支えない内部システムのようなアーキテクチャにできれば、技術的チャレンジがしやすい
    • サーバー・クラウド費用については考えが少し違って、動いているシステムをデグレや性能劣化させずにあとから削るのはかなり大変なので、キャパシティプランニングをある程度まではしっかり考えて負荷を見積もりしやすくかつ低コストなアーキテクチャを最初から工夫すべきだというやや保守的な考え。クラウド費用は PL を圧迫する
  • シンプルなアーキテクチャが好み。依存するコンポーネントを減らすことは大事
    • シンプルであることは認知不可を減らす。一人の担当業務が広い昨今においては、シンプルで見通しがいいことが大事
    • 変更容易性+シンプルを保つには、ある程度コード量が増えてもプリミティブな部品を使って自前の実装することも意味がある場合も多い
    • 外部サービス・ライブラリの追加は必要最小限がいい。依存ライブラリが多すぎて苦しんだ経験あり
    • 要はバランス
  • 基本的には PMF(プロダクトマーケットフィット) 済み、あるいはしそうなシステム開発のほうが自分には向いてそう
    • まず人を集めてこれからやることを考える(とりあえず新規事業やることだけ決まってる)という感じだとネガティブ
    • 売上が立っている、あるいは立つことが見えていること。研究開発は副業でやっているので、本業は商用のシステム開発をやりたい
    • ある程度のピボットは全然問題ないし、必要だと思う
  • ターゲット業界の特定のドメインに深く入り込むシステムであること
    • 汎用的すぎる技術開発だとグローバル大手に勝つのは難しい
    • できれば何らかのデバイス・機械とか特許とかビジネススキームとかでモートになりえる競合優位性を備えていると尚良し
  • ドメイン知識の習得にポジティブ
    • メインの仕事はシステム開発業務だけど現場に行ったり実際に働いたり使ってみたりとかも大事
    • 土日を含む短期の出張とかも低頻度であれば問題ない
  • 教え合ったり、新しいスキルを学ぶことに積極的であること。職種を完全固定せず、越境することにポジティブであること。かといって全てにエキスパートになれないのも事実だと思うので、各人が得意分野もちつつオーバーラップするみたいなのが理想
  • フルリモートの会社よりは、東京都内か埼玉県南部にオフィスがある企業が好ましい
    • 対面のコミュニケーションを好むため
      • 要件や仕様を相談するコミュニケーションの量・質はとても大切だと思っている
      • ゾーンに入って集中して開発するときは一人でやりたい。
      • リモートでオンラインで短時間で会話するのはポジティブだけど、長時間のオンラインミーティングは苦手
    • 月ー金フル出社ではなくハイブリッド出社のほうが好ましいが、それは勤務スペースの環境次第。オフィス環境がよくて、業務遂行のためにフル出社が効率的なのであれば毎日出社でもポジティブ
    • オフィスの場所は、大塚(池袋の隣)に個人でレンタルオフィスを契約していて副業や勉強とかはそこでしているので、そこからアクセスが良いとポジティブ
  • 出社する場合、オフィス環境について
    • 良い椅子・モニタ・換気・照明は生産性に影響
      • 特に椅子がしょぼいと疲れやすい
    • トイレがきれいで寒くないとありがたい
    • ヘッドホンしていいならうるさいことはそこまで気にならない
    • エントランスや共用スペースが豪華・おしゃれである必要はない。執務するデスクのスペースでほとんどの時間すごすのでそこにお金かけてほしい
  • 書籍購入や資格取得への補助があるとありがたい

あまりこだわらない、あるいは未定の条件

  • プログラミング言語、フレームワーク、ツールやサービス
    • ただし AI との相性を考えると、マイナーな技術選定をしているとややネガティブだが、技術選定に明確な理由があればその限りではない
    • 即戦力で入って最速で成果出すなら、サーバーサイドは Python(Django, FastAPI, Streamlit あたりはスラスラ書ける), 2 番手で TypeScript(Node.js)。Rust もまあまあ書いてる。フロントエンドも React/Next.js ならそこそこ読み書きできるつもりだがシニアレベルには遠いかも。C/C++/Ruby/Java/Scala はちょっとできるかブランクあり。クラウドは AWS メイン。GCP も本番環境の運用経験あるけどブランクあり、最近はあまり深くは使いこなせていない。IaC は CDK/Cloudformation/Terraform は 5 年以上の継続運用の経験あり
    • もちろん他の技術でもキャッチアップしていく前提なら全然問題なし。逆に特定の技術を使いたいという強いこだわりはない。
    • 一方、全体のアーキテクチャ設計やデータモデリングがとても重要だと思っている。アーキテクチャを間違うと変更容易性が下がってスピードが落ちたり、中長期の運用に苦しんだりしがちと思っている
  • 程度の問題もあるが、レガシープロジェクトや技術的負債やシステムリプレイスに対応することは嫌いではなく、比較的得意だと思う
    • レガシーで多少バグってても動いてるシステムは偉い
  • どちらかといえば BtoB のほうが良いと思っているが BtoC もあり
  • 自社サービスか受託かはどちらが良いかは決まった考えを持ってない。自分の適性がどちらにあるかも分かっていない。きれいにどちらかに分けられるものでもないと思うし、社内受託っぽくなってる自社サービスの会社もある。システム開発に対する主体性を持てることが大事