■結論
プログラミングのスキルを身につければ、それでプログラマーとしてやっていけると思っている人は多い。
もちろん、スキルがなければプログラマーになることはできないのだが、実際の開発の現場で真に必要なスキルはプログラムの仕様を決めることができるスキルだ。
これにはお客さんの求めているものを理解し、それをどうシステム化すればよいか見極める力が必要になる。
ここに欠かせないのはコミュニケーションのスキルとモノゴトの本質を見極めるスキルだ。
これはなかなか簡単には身につかない。
なぜなら様々な社会経験が必要とされるからだ。
お客さんの求めていることが本当にシステム化することなのかどうか、お客さんにとって役に立つことが本当にシステム化することなのかどうか、そういったところにまで思いを馳せないと見極めることができない。
IT業界でプログラマーとして働き始めるのは良いが、プログラミングスキルさえ身につければすべて上手くいくと考えていると後々大変苦労することになる。
■ツイート内容
アプリケーション開発で大切なことはアプリの仕様を決めることだ。
仕様が決まれば、その仕様に従ってアプリを作っていけばよいのだが、仕様を決められないことが開発にとっては致命的な失敗の原因になる。
業務を考えている人はプログラミングに詳しくない人なのでどう実現すればよいのかわからない。
アプリを開発する人は仕様通りに作ることはできても業務の整理ができない。
作ったアプリが使われないことの原因は業務の整理と仕様を決めることに詰めが甘いからだ。
プログラミングのスキルを身につけた人が現場で直面するのは、この業務の整理と仕様を決めることができない問題だ。
このスキルを身につけない限り、仕様が決まらないとアプリが作れない単なるコーダーになってしまう。
自分自身でサービスを作りだす場合も同じだ。
どのようなサービスをどう整理しアプリの仕様として定めていくか、これができないと独りよがりな使い勝手の悪いアプリになってしまう。
■根拠
プログラマーはプログラミングスキルさえ身につけておけばOKという考え方は危ない。
もちろん、それだけでも仕事はできるが、それは決められた仕様を決められた通りにアプリを作るだけのコーダー(コーディングだけをする人)で終わってしまう。
言われたことを言われた通りにやるだけなら、誰でもできる。
難しいのはお客さんが言っていることを整理し分析し理解し、それをどのようにシステムとして成り立たせるかということ。
ここができないから、プロジェクトが遅延したり、揉めたり、訴訟になったり、止めざるを得なくなる。
プログラマーの先にさらにスキルの高いエンジニアを目指すならば、そうしたスキルを身につける必要がある。
そうしないと自分自身の単価も上がっていかない。