クリエイティブな仕事か?
「プログラムはクリエイティブな仕事か?」と問えば、そんなイメージが大体あるだろう。
「そうじゃない意見」があっても、その前提で進めさせてください。
「組み込みは?」となると私は「正直 微妙」と思う。
ほんとに若い時からやってきたRice Work(飯のタネ)で、そこそこ楽しい思いもしました。
が、若い人が入ってきて「わあ、クリエイティブ」とは思わないだろうな、と思う。
なぜか?
メカトロ制御の大部分は、メカ部門と仕様をすり合わせることであり「こう思ったから作る」という部分は極力なくすのが正義と思っているからだ。
この辺をアバウトにやると「ソフト屋にまかせとけば何とかなるね」とメカ屋から感謝されることが増えるのはわかっている。
しかし、逆に問題を起こしやすいことも体感してきた。
「よかれ」と思って作る部分が、メカトロ制御では「部品寿命」に効いていたり「部品スペック」を十分に生かしきれていない、ということが出てくる。
その結果、不揮発性メモリの書き込み回数保証を越え、データが飛んで制御が崩壊というようなこともある。
「よかれ」と思ってやるのは危険なのだ。
言い訳がロジカルでない
「問題」が発生すると「原因」を求めて上流にさかのぼる。
さかのぼった結果、「勝手に考えた制御」というと、実に説明に困る。
「そんな開発ってある?」というぐらいに炎上する。
「ソフトってそういうところありますよ」というソフト屋の「常識」は通用しない。
販売しているのはハードウェア製品だからだ。
「いやいや、誰も考えてないから考えてあげたんだ」という苦しいまぎれの言い訳はしづらい。
責任転嫁のようだし、まあ、その通りだ。
しかも「失敗」してるわけだから中堅にもなるといいづらかろう。
「よかれ」は「悪」だと考えるようになった。
「再発防止」を繰り返した結果「考える」という作業を表面化していったわけだ。
その結果「クリエイティブ」というよりは、手続きを踏む、という感じが増えてきた。
人を増やしても工数が減らない仕事のやり方
コミュニケーションパスは増え、時間の大部分がそこに使われるようになる。
工数がやたらとかかる理由でもある。
「制御の穴」の仕様を詰める「交渉事」「理解力」に長けた人材が限られるため、人を増やしたところで改善しない部分でもある。(※これについてはソフトウェア工数についての分析ブログなどを参考にされたい。いずれ書くことになるだろう。)
こうすると、問題自体が劇的に減ることはないが、問題が発生したときに、すべての責任を背負わずにすむ。
クリエイティブさが高度化
引き換えに「自由に作る」という「クリエイティブさ」の感覚は犠牲になっていくように感じる。
「仕様を詰める」という「言われたことだけやってるわけじゃないよ」ということにはなるが「ソフト屋が考えるクリエイティブ」さとは少しイメージが違うだろう。
「素晴らしいコード」という「クリエイティブさ」とは離れている。
「クリエイティブさ」は「コーディング」自体よりも、もっと高度なところ、部品化や、自動化、というところに向かっている。部
品も「誰が使うかよくわからない」ものをつくるぐらいなら「プラットフォーム化」という流れになっている。
「高度」になった分、経験数年の新人が楽しさを感じる部分は少なくなりつつある、と思える。
今までの敷居が低すぎたのかもしれない、と考えたりもする。