TL;DR
- 「環境が整っていないから成長できない」は、因果が逆だと思っています。環境の穴こそ、仕組みを作る練習台です
- 転職や異動で環境を変える前に、いまの環境に working code を 1 本通すほうが先。整った環境に行ってしまうと「整える経験」は積めません
- 共通する型は「制約を所与として受け入れる → 制約の中で動く最小の回路を組む → 回った実績を持って次の制約を緩める」のループです
- ただし「環境のせいにしない」と「劣悪な環境を我慢する」は別の話。撤退の見極めにも最後に触れます
はじめに:「うちの会社、整ってないな……」と思ったことありませんか?
ツール導入の稟議は通る気がしない。AIコーディング支援もない。レビューの仕組みも揃っていない。気づけば「成長できる環境」で求人票を検索している──心当たりはありませんか?
正直に言うと、弊社も少し前まではツールの導入があまり進んでいない状況でした。勤怠入力のチェックは人力の声かけ、AIレビューを試しても結果はチャットに流れて消える。「整っている」とは言いがたい状態だったと思います。
でも、いま振り返ると、この「整っていなさ」こそが一番の練習台でした。この記事では、自分(たち)が実際にやってきたことを「制約の中で回路を作る」という観点で並べ直し、共通する型を抽出してみます。
「整った環境 → 成長」は因果が逆
最初に視点の転換だけ共有させてください。
整った環境には、整える仕事がもう残っていません。レビュー文化が完成している会社でレビュー文化の立ち上げは経験できないし、ツール導入のフローが滑らかな会社では、稟議の論理をゼロから組む筋肉は付きません。仕組みを「使う側」の経験は積めても、「作る側」の経験は積めないのです。
市場価値っぽい言い方をすると、「整った環境で開発した経験」はその環境にいた人全員が持っていますが、「整っていない環境を動くようにした経験」は手を動かした人しか持っていません。希少なのは明らかに後者です。
もちろん、整った環境のほうが快適なのはその通りです。ただ成長という観点に限れば、環境の穴は障害物ではなく素材です。穴を見たときに「埋まったら本気出す」と考えるか、「これを埋める仕組みを組んでみるか」と考えるか。違いはそれだけだと思っています。
制約別・回路の作り方 4 パターン
ここからは実例です。どれも特別なスキルは使っていません。やったことは一貫して、「制約を言い訳にする」を「制約を仕様にする」に置き換えただけです。
パターン1:予算がない → 小さく区切って、承認の論理を組む
ツール導入が進まない会社で「全エンジニアに GitHub Copilot を入れてください」と言っても通りません。そこで有志の AI タスクフォースで、申請のロジックを自分たちで組み立てました。
ポイントは、全員導入の即効性をいったん捨てて、「4名 × 1ヶ月 × 19ドル = 76ドル(約12,000円)」という最小単位に切ったことです。さらに「何が起きたら見送るか」という終了時の判定基準を先に言語化し、申請文を「目的 → 背景 → プラン選定 → 導入計画 → 費用 → 期待効果」の構造で組みました。承認する側から見れば「1ヶ月・76ドルで全社導入の判断材料が手に入る」話なので、YES と言いやすいわけです。
結果、経費申請は承認され、トライアルが始まりました。詳細は別記事「【開発作業効率化】GitHub Copilot Business をエンジニア4名でトライアルしてみた」に書きましたが、このとき実感したのは、稟議を通すのも、仕組みを動かすためのエンジニアリングの一部だということです。「予算がない」は終了条件ではなく、「いくらまでなら・どんな論理なら動くか」という設計条件でした。
パターン2:ツールがない → 既存インフラを配線し直す
「今日の工数、入力したっけ……?」を人力の声かけで回すのがしんどい。かといって高機能な勤怠連携ツールを新規契約するのは、費用も社内調整も重い。
このとき選んだのは、新しいものを何も買わずに、すでにあるものを配線し直すことでした。GAS(Google Apps Script)で勤怠サービスの API を叩き、結果を Slack の Webhook に流し、祝日判定は Google カレンダーに任せる。判断軸は「追加費用ゼロ」「既存の Google・Slack アカウントで完結」「欲しい機能は入力チェックと通知だけ」の3つで、この条件なら稟議も予算も不要で今日から始められます。平日の決まった時刻に入力状況が自動で Slack に届くようになり、確認作業と「催促する側のストレス」が消えました。
もちろんタダではなくて、属人化リスクとメンテ責任は自分が背負います。なので設定は1か所のオブジェクトに集約し、仕組み自体を文書化して緩和しました。このあたりの「内製で捨てたもの」も含めて、別記事「GASとCrowdLog APIで、チームの勤怠入力を自動チェックしてSlackに爆速通知する」に書いています。
「うちはツールがないから」の大半は、正確には「専用ツールがない」であって、配線できる部品なら大抵もう手元にあります。
パターン3:流れて消える → 残る仕組みに変える
AI にコードレビューをさせるところまでは、いまや誰でもできます。問題はその後で、レビュー結果がチャットに出て終わり、PR には何も残らない。gh api を毎回手で組み立てて投稿する運用は、面倒すぎて結局誰もやらなくなります。
そこで、Cursor のスキルとシェルスクリプトで「レビュー結果が出たら『投稿しますか?』と1回だけ聞き、Yes なら commit ID の取得もエスケープ処理もフッタ付与も全部スクリプトがやって、PR の行コメントとして投稿する」運用フローを自作しました。導入後は、レビューから行コメント投稿までが 30 秒です。詳細は別記事「AIコードレビュー結果を『やりっぱなし』にしないために、Cursor スキル + gh で運用フローを作った話」に書きました。
ここでの学びは、「みんなでちゃんと残しましょう」という呼びかけは回路ではないということです。人の心がけに頼る運用は、忙しい週に必ず止まります。面倒な部分をスクリプトに閉じ込めて、人間に残す動作を「Yes と言う」の1個まで減らして、はじめて回路になります。
パターン4:時間がない → 上限を先に切る
「改善活動をやりたいが、本業が忙しくて時間がない」。これに対する弊社の答えは、意外かもしれませんが時間を増やすことではなく、上限を先に切ることでした。
弊社にはエンジニア自身が研修・ドキュメント・勉強会などの環境を作るタスクフォース制度があり、活動は週1時間程度と決まっています。これはリソースが足りないからではなく、あえて設けている上限です。改善活動が本業を圧迫し始めると、忙しい時期に真っ先に削られて自然消滅します。そうならないよう先に枠を固定し、その代わり「週1時間で前に進められるサイズ」まで課題を絞り込む。大きな理想を掲げて止まるより、小さく確実に回し続けるほうを取るトレードオフです。
この上限設計のおかげで掛け持ちも成立していて、筆者自身も複数のタスクフォースに参加しています。詳細は別記事「エンジニア組織の業務改善活動について」に書きましたが、「時間がないからできない」は、「この時間でできるサイズに切れていない」の言い換えであることが多い、というのが実感です。
共通する型:制約を受け入れる → 最小回路を組む → 実績で次を緩める
4つの事例を並べると、同じループが見えてきます。
| 制約 | 組んだ最小回路 | 回った実績がもたらしたもの |
|---|---|---|
| 予算がない | 4名×1ヶ月×76ドルのトライアル + 先に決めた判定基準 | 承認実績と、次のツール検討に使い回せる申請の型 |
| ツールがない | GAS + Slack + カレンダーの配線(新規契約ゼロ) | 確認作業の自動化と「内製でここまでやれる」前例 |
| 流れて消える | Yes 1回で PR に固定するスクリプト + スキル | 残り続けるレビュー資産と運用フローの標準 |
| 時間がない | 週1時間の上限つきタスクフォース | 自然消滅しない改善活動の継続 |
ループとして書くとこうです。
- 制約を所与として受け入れる(予算・ツール・時間の不足を嘆く対象ではなく、設計の前提条件にする)
- 制約の中で動く最小の回路を組む(理想形ではなく、いま動く一番小さい仕組み)
- 回った実績を持って、次の制約を緩める(承認実績・自動化の前例・残った成果物が、次の交渉材料になる)
もうひとつ重要なのが、許可を待つ箇所と、勝手に始めてよい箇所の見極めです。
- 会社のお金や契約が動く領域 → 許可が要る。だから承認の論理を組む(Copilot のケース)
- 既存アカウントと自分たちの作業範囲で完結する領域 → 待つ理由がない。今日から始める(GAS やレビューフローのケース)
ここがポイント
「環境に働きかける」と聞くと大きな改革を想像しがちですが、実際は逆です。許可が要らない範囲で小さく回し始めるのが一番速く、そこで回った実績だけが、許可が要る領域の扉を開けます。順番を逆にして「まず会社を説得しよう」から入ると、動いていない仕組みの提案になり、ほぼ通りません。
注意点:「環境のせいにしない」と「我慢する」は別
ここまでの話を「環境に文句を言わず自分でなんとかしろ」と読まれると本意ではないので、線を引いておきます。
見極めるべきは、それが自分の働きかけで変わる種類の問題か、構造的に変わらない問題かです。ツールがない・仕組みがない・時間が切れていない、は働きかけで変わる側の問題で、この記事で扱ってきたのは全部こちらです。一方で、小さく区切った承認の論理を組んでも検討すらされない、勝手に始めてよい範囲が一切ない、回路を1本通しても何も変わらない──そういう環境なら、働きかけの効かない構造の問題なので、移動はまっとうな選択肢です。
ただ、その判断をするためにも、一度は回路を通そうとしてみる価値があります。試した上での撤退なら「何を試してダメだったか」という再現可能な知見が残りますし、その経験自体が次の環境で使える筋肉になります。試さずに出た場合、次の環境でも「無いもの」を見つけて同じ不満に戻る可能性が高い、というのが冒頭の因果の逆転の話でした。
まとめ
- 「環境が整っていないから成長できない」は因果が逆。環境の穴は、仕組みを作る練習台
- 予算がない → 小さく区切って承認の論理を組む。ツールがない → 既存インフラを配線し直す。流れて消える → 残る仕組みに固定する。時間がない → 上限を先に切る
- 型は「制約を所与として受け入れる → 最小の回路を組む → 回った実績で次の制約を緩める」のループ
- 許可が要る箇所と勝手に始めてよい箇所を見極め、後者から今日始める
- 働きかけて変わらない構造的な問題なら撤退してよい。ただし一度は回路を通してから
「成長できる環境」は、探すものではなく、いまいる場所に組むものでした。まずは今週、稟議も予算も要らない範囲で回る小さな回路を1本、通してみませんか?