1 ポイント 投稿者 GN⁺ 2024-02-12 | 1件のコメント | WhatsAppで共有

GitLabでの経験

  • 2015年10月から2021年12月までの約6年間、GitLabで勤務した。
  • GitLabを離れてInkoの作業に専念することを決めたが、GitLabでの経験について共有したことはなかった。
  • NDA(秘密保持契約)が満了し、GitLabで過ごした時間を振り返るだけの気力が出てきた。

GitLab以前

  • アムステルダムを拠点とする小さなスタートアップで働きながら、RubiniusとOgaというXML/HTMLパーシングライブラリの開発も並行して進めていた。
  • 資金不足と技術的な問題により、Rubiniusの採用をこれ以上進めなくなった。
  • GitLabで週に1日をRubiniusの作業に充てられるかを確認したうえで、GitLabに入社した。

2015-2017

  • GitLabでの初日は前職での最終勤務日の翌日で、そこでリモートワークへ移行した。
  • GitLabはリモート企業だったが、交流の多い会社でもあり、さまざまな集まりやイベントがあった。
  • GitLabは性能問題、頻発するサーバーダウン、運用上の問題などに苦しんでいた。
  • 性能監視インフラが不足していたため、性能改善は難しかった。
  • GitLabの文化や姿勢を変えようと努めたが、性能改善に対する会社側の不満もあって苦労した。

2017-2018

  • 性能は大きく向上し、GitLabも性能をより真剣に受け止めるようになった。
  • データベース性能に焦点を当てた「データベースチーム」へと変わった。
  • GitLabのデータベースロードバランサーを構築し、性能に良い影響を与えた。
  • データベースシャーディングに関するGitLabの要望に対し、データに基づいて反対した。

2019-2021

  • 「デリバリー」チームへ移り、GitLabのリリースプロセスとツールの改善に注力した。
  • コミットがメインブランチに入ってからGitLab.comにデプロイされるまで、平均で数日、最悪の場合は3週間かかった。
  • GitLab Community EditionとGitLab Enterprise Editionを1つに統合する作業を主導した。
  • ノートPC管理に関する問題や文化的変化により、モチベーションと生産性が低下した。
  • 新しいマネージャーとの対立により、「成果改善計画」を作成することになった。

学んだこと

  • スケーラビリティは企業文化の一部であるべき: GitLabはスケーラビリティに十分な注意を払っていなかった。
  • チームはよりデータ重視・開発者重視にすべき: GitLabはプロダクトマネージャー中心の構造を持っていた。
  • データなしでは「最小機能製品」を決められない: GitLabは「最小機能変更」を中核原則としていたが、実際には有用でない機能を多く作っていた。
  • SaaSとセルフホスティングは相性がよくない: GitLabはセルフホスティング版の提供とSaaS提供を同時に行っていたが、これは効果的ではなかった。
  • 人が増えればより良い結果になるわけではない: GitLabは長年にわたり多くの人を採用したが、開発者が増えること自体が生産性向上を意味するわけではなかった。
  • Ruby on Railsの採用をめぐる葛藤: GitLabはRubyとRuby on Railsで成功を収めたが、大規模プロジェクトでは課題にもなった。
  • コードデプロイ時間は組織の成功に極めて重要: GitLabではコードのデプロイ時間を短縮することが重要な目標だった。
  • 地域ベースの給与は差別的である: GitLabは地域によって給与を変えていたが、これは差別的な行為である。

GN⁺の見解

  • GitLabでの経験は、リモートワーク環境の長所と短所、そしてスタートアップの成長過程で直面するさまざまな問題を理解する助けになる。
  • 性能向上とスケーラビリティの重要性、そしてそれらを文化として定着させることの重要性を強調している。
  • 地域ベース給与の問題を指摘しており、これはリモートワーク環境における公正な報酬体系を議論するうえで重要な事例である。

1件のコメント

 
GN⁺ 2024-02-12
Hacker Newsの意見
  • 位置ベースの給与は差別的だという主張

    • 肌の色や性別による差別と、居住地ベースの給与を比較するのは適切ではない。肌の色や性別は変えられない一方で、居住地は変更できる。
    • 居住地は、会社が直面する法的・税務上の問題、時差、出張費用など、業務に関わる現実的な問題と結びついている。
    • 居住地ベースの給与差について議論することはできるが、人種差別や性差別と同一視すると議論を終わらせてしまう可能性がある。
  • 社員番号28番として始まり、その上に徐々に多くの管理職が置かれていった

    • 初期にはCEOに直接レポートしていた社員が、次第に多くのマネージャーの下に置かれ、最終的には業績評価を受けて会社を去った。
    • 大企業でしばしば起こる一般的な状況であり、このような構造のために大企業では偉大な成果を上げるのが難しいことが多い。
  • 社員が個人のコンピューターを使うことについての意見

    • 組織の規模に関係なく、会社支給のコンピューターを使わせるべきだ。
    • 会社の知的財産を管理し、仕事と私生活の時間を分けるうえで大きな利点があり、コストもそれほどかからない。
  • 悪いマネージャーについての意見

    • 悪いマネージャーはこの業界の害悪だが、多くのスタートアップは創業者が前職で悪いマネージャーを経験したことをきっかけに生まれている。
    • 筆者自身も、非技術的で政治的な悪いマネージャーに出会ったことでスタートアップを始める動機を得た。
  • 位置ベースの給与に対する考え方の変化

    • 位置ベースの給与は差別的だと考えていた段階を離れ、それぞれの地域で適切に暮らせる給与を受け取るのは合理的だとしている。
    • より高い給与を望むなら引っ越す必要があり、引っ越さないのであればそれには理由がある。
  • Ruby/Railsの利用についての意見

    • Rubyは言語の速度が重要ではないという前提で設計されたが、現在ではNode.jsやJVMには、非同期処理によってIO/ネットワーク待ち時間のあいだに別の作業を進められるプログラミングモデルがある。
    • Ruby/Railsは特定の状況では依然として有用かもしれないが、時間がたつにつれて保守が難しくなる可能性がある。
  • グローバル企業における給与方針についての意見

    • アムステルダムの開発者がベイエリアの開発者と同じ価値を提供するなら、同じ給与を支払うべきだ。
    • グローバル企業として他のグローバル企業と競争している以上、長期的には所在地に関係なく、人材にその価値に見合った給与を支払うことが重要だ。
  • GitLabの価格設定についての質問

    • GitLabの価格ページで、地域ベースの価格をどのように選ぶのかという質問。
  • GitLabのスケーラビリティに関するマネジメントの問題

    • GitLabは主にセルフホスト版のGitLab Enterprise Editionから収益を得ており、GitLab.comはコストがかかる一方で収益は少ない。
    • 会社が収益を生む部分に投資するのは合理的だが、GitLab.comの性能向上がより多くの顧客を引きつけ、より強い評判を築ける可能性も考慮すべきだ。
  • 会社の成長と初期社員の役割についての意見

    • 小さな会社で成長したあとも、同じ人たち全員が引き続きうまくやれるとは限らない。
    • 初期に重要な役割を果たした社員に適切な報酬を与え、個人の成長や会社の成長を妨げないようにすることは、リーダーシップの責任である。
    • 初期の貢献者が、価値とメンタルヘルスの両方を同時に保つのが難しく、早期の流動性イベントを待ったり、大きな金銭的利益を諦めたりするケースが生じる。
    • カルチャーの衝突と離職を最小限に抑えるためには、ストックオプションの行使期間を大幅に延長し、カルチャーの衝突や離職の初期兆候を見せる個人に対しては重複する役割を優先的に採用し、問題を明確に指摘しつつ、適したチームや会社に関するリソースを含む共感的なコーチングが必要だ。