接客や工場労働者はマニュアル的な仕事で単純動作が求められるため、エンジニアの仕事とはレベルが違う、という話があります。 これはちょっと職業差別のように感じる話でもありますし、結構違うと思います。

まず、なぜマニュアルがあるかと言えば標準化の結果です。 つまりモノをつくるときの作業目的を分解し、動作原則(インダストリアル・エンジニアリング)に着目して、その状況をドキュメント化してアップデートしようと考えることが標準化の原則です。

工場労働者に求められているのはカイゼン活動と言うものです。つまり、そのドキュメントの通りの作業をこなした後、そのドキュメントには記されていない問題点を検知して修正するというものです。

原則としてはカンコツを標準化に載せられる方が望ましく、そうでない場合は追加の作業や教育などで対応します。

別に工場も1つの製品だけをずっと作り続けている訳ではないですし、技術的な修正は基本的にあるでしょう。それによってあるべき行動基準というのは修正が入ってくるということです。

これはプログラミングでも恐らくあまり変わりません。 例えば「宣言的プログラミング」の思想は、上記と実はあまり変わりないように思います。つまり、例えばプロダクトリリースのような「作業」の標準操作に着目して、どのような原則が普遍的に用いられているかを切り出してスクリプト化し、それを持って効率の改善を図ろうとします。これは本来、普段「作業者」として普段の操作を理解しており、普遍化な部分を抽出し、要所要所の勘所をピックアップしないと質の高いものにはなりません。

本当に思うのですが、考えなくて良い仕事というのは世の中に存在しないと思います。私自身はエンジニアという職業に、別にそこまで高尚な特殊性はないように思えます。特殊性はと言えば、どちらかというと「リリース」みたいなものが決まっていて、それが出来たときの達成感とか、そういうものがあるかな、と思います。こういった感情的な「やりがい」は他にとって変わらない独特なものがあるのだと考えています。