結論から言って、初心者の方が独学でプログラミングを身に付けることはできません。
100%不可能では無いのは事実ですが、独学で身に付けることは簡単ではなく、できる方は少数です。
その理由は、独学ではプログラミング習得時の目的意識の設定が難しく、プログラムがその場での書き写しのみになってしまい本質の習得ができない。
また、いろんな人が書いた実際のアルゴリズム、メソッドが実際に使われるソースに触れる機会が少ない点があります。
単純に独学でプログラムの書き方のみを覚えたとしても、実際のアプリケーション開発では、その他にも考慮すべき点や、処理の流れを作るアルゴリズムが必要となります。エンタープライズで利用するアプリケーションでは各企業毎のコーディング規約など、実践的なプログラミングを学ぶことができないのです。
独学では知識的なプログラミングを習得することができても、実践的なプログラミングはどうしても習得が難しいのが現実なのです。”使える”プログラミングは独学だけでは身に付けることが難しいのです。
しかし、筆者はプログラミングは誰でも身に付けることが可能だと思っています。
独学では無理だが、ではどうすれば身に付けることができるのか?
考えられる方法は3つあります。
- 仕事として身に付ける
- プログラミングスクール
- 大学、専門学校で学ぶ
1.仕事としてプログラミングを身に付ける
実践プログラミングを行いながら身に付ける方法です。筆者はこの方法でプログラミングを身に付けました。
仕事として行うので、目的や期待値も明確になっており、必然的にプログラミングをやらざるおえない、身に付けなければならない状況になります。
少しハードなイメージがありますが、この方法は確実に”使える”プログラミングを身に付けることが可能です。
昨今ITエンジニアは労働者不足が注目されています。全ての企業ではありませんが、転職サイトや、新卒入社では未経験での採用も積極に実施している会社が多くあります。
こういった企業に入社し、何か1つでもプログラミングを習得できれば、あとは独学で違うプログラミング言語をマスターし、転職やフリーランスに転身することも可能になります。
”使える”プログラミングの根底は考え方、アルゴリズムが重要だと筆者は考えています。
逆に、この考え方さえマスターしてしまえば、あとは独学の知識習得により多言語のプログラミングをマスターすることも可能になります。
実際の開発現場では、アルゴリズムを考え、コーディング時にはWEBなどをリファレンスを参照しながらソースを書く事が一般的なので、知識として全てのメソッドの使い方を記憶しておく必要はありません。
注意ポイント:プログラミングに”なまり”ができる
注意が必要なポイントとしては、その企業のプログラミング手法が標準として身についてしまうことです。
採用されるフレームワークやコーディング規約、セキュリティ要件の違いなど、様々な要素があり、個社毎に独特のルールができることがあります。
これを基本として学んだ場合は、汎用性にかけることがあります。ここは少し注意が必要で、プログラミングを習得する際も意識して、標準なのか、自社独自なのか第三者視点でたまに評価してみるのが重要になります。
注意ポイント:偏った知識、経験しか得られない
開発プロジェクトでは納期やコストを意識し、効率的にアプリケーションを開発することが求められます。
そのため、プログラマのタスクをスキルや経験に応じて割り振ることになり、必然的にスキルや経験の浅い人には簡単で単調な作業が振られることが多くなります。
そうなると、なかなか幅広くプログラミングスキルを習得することが難しくなってしまいます。
ビジネスなので仕方のないことですが、自分からアピールしたり、経験を積んでより広い範囲を対応できるように行動する必要があります。
クラウウドソーシングも活用してみる
企業就業という方法の他にも最近ではクラウドソーシングという方法もあります。
クラウドソーシングは企業や個人事業主などが仕事の一部をネット上で依頼し、そこに対しそのスキルを持つ人たちが応募し、成果物の納品と報酬が支払われる最近広まっている働き方の1つです。
クラウドソーシングでも開発案件は安定的に多く募集されています。応募の際に実績を問われる案件もありますが、経験不問の案件もあり、チャレンジしてみるのも1つの方法になります。
流石に無知の状態での応募は無理ですが、部分発注の案件では独学の知識ベースのプログラミングでも対応できる案件があります。
初心者にはおすすめしませんが、知識があり、より実践的なプログラミング、開発経験を増やしたい方には有効なプログラミング習得方法になります。
2.プログラミングスクールでの習得
おすすめは、プログラミングスクールでの習得です。
ひと昔前では大学や専門学校でしかプログラミングを習得する場はなかったのですが、最近ではプログラミングスクールが充実しており、一般化しています。
プログラミングスクールでは基礎、基本から課題設定などにより”大体使える”プログラミングまで習得することが可能になっています。
実践度と言った観点では、企業就業した、現場で学ぶプログラミングとは差がでますが、基礎から学べ、その後多言語もマスターするなども視野に入れると、企業就業よりもプログラミングスクールでの学習が断然優位になります。
講習のパターンも登校するケースやオンライン完結など用意されており、自分の希望に合わせたスクールを選択することが可能になっています。
オンライン講習のみでも、十分に独学以上の知識、スキルを習得することが可能なので、最近の学習方法としては間違いなくおすすめの方法です。
プログラミングスクールおすすめの理由:知識よりも考え方
プログラミングスクールを活用した学習方法をおすすめする理由はこの知識と考え方の習得によるものです。知識は独学でも習得することは可能です。しかし、この根底にある考え方、プログラミングのアルゴリズムについてはなかなか独学では習得できません。
また、多言語プログラミングを習得することも昨今では多くなっていますが、知識のみの独学習得では、横展開も難しくなります。
しかし、アルゴリズムの考え方さえ習得してしまえば、後から知識を習得することで、応用を効かせることが可能になるのです。

プログラミングスクールでは、このアルゴリズムを学ぶことが可能になりますので、3年後や5年後でその違いが大きく出てくることになります。
今から習得するならこの言語!おすすめのプログラミングスクール3選
最後に
これからの社会、世界ではデジタル化がどんどん加速していくことが予想されます。
全員がプログラムを組むことができる必要はありませんが、スキルとして持っていた方が、今後優位に働く可能性はあると思います。
プログラミングが気になっている方には胸を張っておすすめするスキルです。
