りゅーそうブログ

仕事はすべてプログラミングと捉える

組織 キャリア 開発

2026/04/28 23:09

これは自戒をこめて。

ソフトウェアエンジニアという仕事では、シンプルにプログラムを書く。問題に対して、ロジックで解を出していくというのが本筋であるというのが主だと思う。

この記事ではAIでその部分がなくなって、それ以外の価値が〜という話をしたいわけではない。これはAIの進化前後で何も変わっていない普遍的な話です。

その話とはエンジニアがコードに向き合っていない時、PM、他のエンジニア、デザイナーとの仕様調整・打ち合わせ、タスクの割り振り、些細な相談すべてをプログラマーとしてのスキルと捉えるということです。

プログラマーが単独では解決できてない複雑であり、知識を必要とする問題に関してはスキル不足ということを認識できるが、このプログラム以外の時間をスキルと捉えることができない傾向が強いと感じます。

そのあたりが気の持ちようや意識の問題とされてしまうことに問題があると私は考えています。

機能開発などのプログラムで解決する仕事を進める上では、

  • どのタイミングで、周囲の人に相談をする必要があるのか?
  • 同期・非同期で進めるべきなのか?
  • どのようなドキュメントを用意すべきなのか?どのタイミングで?誰のために?どのクオリティで?
  • 他のエンジニアとの連携はどのタイミングでやるか?
  • 実装に詰まった時にいつ、どのタイミングで相談するか?
  • タスクをどう分割して、他のエンジニアが進めやすいようにするか?

などこれらは全て仕事(機能)にステークホルダー(主にチームの人間)という部品(例えば悪いことは自覚している)を使い、処理タイミングは同期なのか?非同期なのか?合流タイミングはいつなのか?どこにどのような処理を届けるものなのか?全てを組み合わせて仕事を完結する必要がある。

問題なのはプログラミングは出力が一定であるのに対して、これらの要素は出力が一定ではないということだ。それらのことにも考慮しながら予測も踏まえながら仕事を組み立てていく必要がある。

経験したことがないプログラムが理解できないのと同様に、これらの最適な処理の仕方も経験しなければわからない。

まさにこれらはスキルであり、こなした経験がないと最適な行動もわからないのだ。

未知の領域にしかも一見するとプログラマーと違う領域と思えるタスクでプログラムをすることにフォーカスできない。そこにもどかしさを感じることもあるだろう。

そこでそれら全てを普遍的なスキルと捉え、さらにはプログラマーの価値として捉え仕事をしていくことがモチベーションを保つ上で重要であると私は思う。

AIでこれらの時間、もしくはAIをコントロールする必要も出てきてさらにそういった負荷は高まっていると思うが、それらをプログラミングで捉え楽しむ(あるいはサラリーマンであることを自覚)ことがさらに重要になっていくのかもしれない。

またこれらはスキルなので、個人だけではこれらのスキルは習得できないということは仕事に関わるメンバー全員が認知しておくべきだと思う。

タイミングや仕事のスコープの設計を一瞬誤る。そのことだけで、仕事全体のパフォーマンスに影響することは多いにある。そこで必要なのは周りのコミュニケーションであり、教育であるということは心に刻んでおきたい。

なぜならそれはスキルだからだ。そしてスキルはみんなで学んで、みんなで高めていくそんな意識は常に持っておきたい。