誇張タイトルでした。すみません。エンジニアリングも楽しいです。
ということで本題。
「プログラミングは楽しいがエンジニアリングは楽しくない」
これは僕が仕事中よく言ってる言葉。ボスに飲み会で拾われて言及されたので、よく言ってることを意識し始めた。
ここでは、
プログラミング=文字通りのコーディング作業を指す。実装。
エンジニアリング=開発中の作業全般のことを指す。
です。そういう表現。
いわゆる業務の固い開発って、プログラミングだけする時間より楽しくないよねっていう。
業務の中で起きるプログラミング以外のエンジニアリング部分
・ステークホルダーとの調整
・工数への意識
・テキストコミュニケーション
・設計
・チケット管理
・要件定義
・テスト
・チームビルディング
・障害対応
・本番作業
などなど。挙げだしたらキリがない。
こういうのやりたくてweb業界来たわけじゃなかったよな、みたいな気持ちがある。
これは嫌というわけではなくて単に業界入った頃は気づけてなかったって感じの気持ち。ジュニアだとプログラミングと設計で100%でも変じゃないからまあ。
業務でやるエンジニアリングってのは品質とかコストとか、そういう部分を最大限良くする動きを求められる、この最大限ってのが楽しくなくなる要因かなと感じる。
本音としてはテスト書きたくない、好きな技術使いたい、チーム開発とかいいから1人で好き勝手動きたい。みたいな気持ちがある。だめだね。
ということで、よくプログラミングは楽しいけどエンジニアリングはなあって話をするのでした。
実際僕が思う業務エンジニアリングで一番困るのは人間が出てくるところかも。最適解が最適じゃなくなっちゃうときが多くて難しい。
あと、ここでは業務エンジニアリング嫌とか言いつつも、実際業務では僕は多分かなり偏った思想というか、固い設計みたいなのをかなり推進してる側な気がする。ダブスタ。頭カチカチエンジニア。
一応補足で、固いエンジニアリングは辛いけど、チーム開発自体の楽しさは個人開発を上回る部分もあるというのも日々感じてはいます。ダブスタ。
おわり。