プログラミングができても、WEBサービスを作れるわけではない
学生のころ、WEB系の企業で数社インターンをさせていただいた。
インターンをする前から、将来は独立して、WEB系のサービスを運営していきたいと考えていた。実際にインターンを経験してみて考えたのだが、WEB系のサービスを運営するためには、マーケティング、営業、カスタマーサービスさまざまな職種があって、全て重要な職種だけれども、サービスを0→1を作っていくところで一番重要な役割がエンジニアだと感じた。またエンジニアがエンジニアリング以外の役割を担うことは可能だが、エンジニアではない人がエンジニアの役割を担うのは難しい。
そこで未経験だったけれども、ファーストキャリアとしてエンジニアになることに決めた。
新卒でエンジニアとしてSI企業で約一年間働いた。そしてプログラムは読めるようになったし、誰の助けを借りることなく、独力でそれなりのものを作れるようになった。だが、まだまだ独力でサービスを作るためには圧倒的に力が不足していると感じている。
「サービスが作れる」 = 「プログラミングができる」ということではない
プログラミングは英語と同様に訓練するれば習得は可能だ。しかし、プログラミングを習得したからといて、実際にお金を稼ぎるようなサービス(WEBアプリケーションまたはスマホアプリ)作れるようにはならない。プログラミングができることはITサービスを作るための必須条件だけれども、十分条件ではない。
なぜなら、プログラミングスキルにカテゴライズされないさまざまな技術的な知識が必要からだ。
純粋なプログラミングスキルだけでなく、もっと包括的な技術知識が必要となる。例えば、Apacheと呼ばれるWEBサーバがある。製造したWEBアプリケーションを動かすためにはWEBサーバに設置しなければ動かない。よってWEBサーバの知識が必須となる。
JavaでWEBアプリケーションを作成したいなら、近年であれば純粋なJavaプログラミング知識だけでなく
Struts,SpringなどのJavaのライブラリ群、またフロントエンドではJavaScriptのプログラミングまた、jQueryやAngularなどのライブラリ群、HTML・CSS、DBの知識、ネットワークの知識、セキュリティの知識、各種ツールの使い方など、様々な知識が必要なのである。
純粋なプログラミングの知識だけであれば一年詰め込んで勉強すれば、習得できる。しかし、包括的な技術の習得はまだまだ時間がかかる。それ故、一人前のエンジニアになるためには最低3~5年はかかるといわれているのであろう。
技術自体がそもそも大好きな人のみが莫大な時間を投資し、自分でWEBサービスを作って、お金を稼ぐことができるのであろう。技術を磨くこと自体にそれほど情熱を持っていない私はマネージメントや投資などの役割を担っていくほうがよさそうだ。