独学でプログラミングを学ぶことは可能、しかし……
最近はプログラミングを学ぶための書籍やウェブサイト、オンライン講習などのさまざまなツールが出ています。
現場で活躍しているプログラマーがブログやSNSで発信する生の情報から知識を得たり、ハッカソンに参加して、ほかのプログラマーの技術を手本に学んでいったりすることができます。
実際には、独学でプログラマーになるための環境は、十分に整っていると言っていいのです。
ただ1点、業務で通用するプログラマーになるために必須のことで、独学では学べないことがあります。
それは、「チームでの開発経験を積む」ということです。
大規模なシステムの開発になればなるほど、チームでの作業が必要になります。チームでスムーズな開発を進めるためには、ただプログラムが動けばいいというだけでなく、自分以外が自分のコードを参照することを想定して設計をしていく、という能力が必要になります。
チーム開発の現場でソースレビューやリファクタリングが行われ、コードの整理整頓が徹底されているのは、まさにこのためです。
コンピュータに理解できるというだけでなく、どんなプログラマーにも理解してもらえるコードを書くことができることこそ、プログラマーとして身につけなければならないスキルなのです。
この配慮ができないと、いくら高度な技術を使ったプログラムを構築できても「現場で使えないプログラマー」になってしまうのです。
本当に活躍できるプログラマーになるために必要なこと
また、プログラミングは、さまざまな仕様の調整を経て開始されます。独学では、仕様書を読んだり書いたりといった作業や、仕様を決定するまでの人と人との情報の共有や調整といった経験を積むことができません。
独学でプログラミングを勉強することは可能です。ただそれだけでは実際に「仕事ができる」プログラマーとは言えません。
独学で「使えるプログラマー」になるためには、チームワークや調整能力を身につけられるかどうかが、ひとつの条件になるでしょう。