もうだいぶ前になるが、以下の記事を公開した。
ふと過去書いた記事を見返していた時に見つけて、確かにこんなこと書いたなぁと思っていた。
…のだが、改めて読んで、本当にこれでいいのか?と思ってしまった。
というのも、この記事で書いている通り、私も大学でほぼ独学と言えるような形で学習をしてきた。
それで、ある程度は書けるようになったのも確かに事実だ。
しかし、そこはやはり大学の講義で、講師やインストラクターの人がいる環境だ。
独学とは異なる環境には違いない。
そこで、今回改めてプログラミングを独学できるか、考えてみた。
結論から言うと、目的によって異なる。
それが趣味でやりたいか、仕事としてやりたいか、といった具合だ。
そんな内容を、深掘りしていこう。
目的別プログラミング独学の可否
早速ではあるが、この記事をご覧の方は、プログラミングが独学でやりたい、あるいはできるのか気になっている方だと思う。
どちらにしろ、何らかの目的でプログラミングをしたい、という方のはずだ。
では、失礼を承知で逆に質問させてもらいたい。
そのプログラミングは、何のためだろうか。
用意している選択肢は二つ、趣味でやりたいか、仕事でやりたいか。
これによって、独学の可否が変わってくる、というのが私の考えだ。
趣味なら独学OK!
まず趣味でやりたいという方。
この場合は、独学でも十分だろう。
今や解説書だったりネットだったりで、色々な言語の解説がされている。
ちょっと宣伝になって申し訳ないが、当ブログでも幾つか解説を行っている言語もある。
そういったものを見つつ、作りたいものに適した言語を選択して勉強していこう。
この時のやり方は、冒頭に貼った過去記事の方法で問題ない。
そして、趣味でやりたい方向けの内容は以上なので、ブラウザバックして学習に励んでもらいたい。
私も今はこちら側なので、ともに楽しんでいこう。
仕事は…あまりオススメしない
次に、仕事としてのプログラミングを考えている方。
はっきり言うと、独学はオススメしない。
理由は大きく二つある。
ベストプラクティスが分かりづらい
まず一つ目、ベストプラクティスがなかなか身に付けづらい。
そもそもプログラミングの世界では、やりたいことが一つあった時に、その実現方法は数多く存在する。
趣味の範囲であれば、そのどれを選択しても大して問題にならないだろう。
しかし、仕事をする上では、できる限り良いとされている方法を選択すべきだ。
その、同じことをする中でも最良とされているもの、それがベストプラクティスだ。
多くの参考書や(当ブログを含む)解説サイトでは、こういう方法で実現できるよと書かれていても、その中でこれが一番いい方法だよと明記しているところは少ないように思っている。
つまり、ベストプラクティスが分かりづらいのだ。
しかも厄介なのが、どういう部分でベストプラクティスを考えるべきかも独学では判断がつかない。
一応解説されているものもあるとは思うが、それを探すだけでも一苦労だろう。
学習スピードが求められる
二つ目、仕事に使うためには学習スピードも求められる。
例えばこの時期までに転職したい、あるいはIT系の部署に異動になって勉強する必要があるといった場合、その期限までにある程度の知識を持っていなければいけない。
しかし、それまで触ったことのない人にとっては、大げさに言えば一つの学問を習得するようなもの。
そんな膨大な内容を独学だけでやろうとすると、かなりの時間がかかることが容易に想像できる。
しかも、ただでさえ時間がかかるのに、一つ上で解説した通りベストプラクティスまで考える必要もある。
これを独学でこなせるのは、相当優秀なごく一部の方に限られてしまうだろう。
基礎としてのプログラミング
さて、IT系に転職したいという方のうち、営業系を目指している方もいるだろう。
実際に私は営業ではなかったので推測だが…そういう方は、実際にプログラムを組むわけではないと思う。
よくイメージするのは、客先に出向いて、あるいは今だとオンライン会議などで、自社の商品を提案したり、問題解決のためのヒアリングをしたり、といった感じだろうか。
手を動かしてプログラムを組むわけではないので、ここにはプログラミングの知識は必要ない…と思っている方。
それは間違いだ。
そもそも提案をするためには、自分たちが何をできるかが理解できている必要があるだろう。
その理解に、プログラミングの知識が必要になる。
他にも、開発ではなく運用保守をやりたいという方もいらっしゃるかもしれない。
その場合でも、既存システムの理解のためにやはり知識として持っておくべきだろう。
つまり、IT系であれば内容はどんなものにしろ、大抵の場合プログラミングは必要になってくる。
避けて通れるものではないだろう。
もっと言うと、開発であれば開発の流れというものがあり、例えば有名なウォーターフォールモデル。
要件定義で何をしたいかまとめ、外部設計で見た目や各部分の連携を考え、内部設計でそれぞれの詳細を決め、実際にプログラミングして、それぞれ単体テストをした後に連携させた結合テスト、さらに実際の運用を見据えた運用テストをする、という流れ。
このそれぞれで具体的に何をするのかや、成果物として何があるかといった知識も必要だ。
営業であればトークスキル、運用保守であればシステム監視の知識も必要かもしれない。
何が言いたいかというと、プログラミング以外にも目的によって学習すべきことはある、ということだ。
そのため、一つ一つでかける時間は短く、効率的に進めた方がいいだろう。
プログラミングスクールを活用しよう
では、独学をオススメしないならどうやって学ぶか。
まあ、多くの方が推奨している方法ではあるが…やはり、スクール等に通うのが一番だろう。
理由は大きく三つ。
まず、スクールではカリキュラムが組まれており、身に付けたいことを明確な道筋で辿ることができる。
中には現役エンジニアが講師を務めているところもあり、現場で気を付けている点の補足なんかも期待できるだろう。
独学の場合でも参考書等の順序はあると思うが、直接教えられると安心感も違うと思う。
また、進捗管理も行われると思うので、一人だと続かないという方も続けやすそうだ。
それだけでなく、できるようになったことが視覚的にはっきりするので、モチベーションも高まる。
二つ目は、分からない部分があった場合に質問ができるという点。
これも独学の場合は自力で調べる必要があり、それにもまたある程度の能力が必要となる。
単語がはっきりしている場合はいいが、それが分からない場合はどういうワードで検索するか、という部分がなかなかに難しい。
特にこれまでPC自体あまり触ってこなかった人にとっては、大きな壁の一つとなるだろう。
しかし、聞ける人がいれば質問すればいい。
ここで、もしかしたらご友人で詳しい方がいらっしゃって、その方に聞けばいいと考えている人もいるかもしれない。
でも、そのご友人は(そういう職場でない限り)教えるプロではないだろう。
さらにこの場合は相手のプライベートを多少なりとも奪ってしまうことになるので、迷惑もかかるだろう。
個人的にはあまり推奨できない。
ここまでをまとめると、スクールを利用することで安心感を持ちつつ、スピーディに学習を進めることができるのだ。
では三つ目の理由。
スクールに通うということは、やはり費用がかかる。
すると、折角払ったのだからと、その費用分何かしらの利益を得ようとする。
つまり、それだけ学習に身が入りやすくなるのだ。
皆さんも経験あるという方がいらっしゃるのではないだろうか。
私の実例で言うと、今まさに絵の練習をしている。
最初は紙に鉛筆などでやろうとしていたが、iPadも持っていたしあえてApple Pencilを購入した。
元値の約16,000円は流石に手が出せなくてリユースショップで購入したのだが、それでも1万円ほど。
元々かなりの飽き性で何か始めても1週間続けば長い方だったのだが、絵の練習は今のところ2ヶ月以上継続できている。
やめたらApple Pencilにかけた1万が無駄になってしまうからだ。
他にも、噂で聞いた程度なので本当かどうかは知らないが、某ダイエットジムが非常に高額なのもこれが理由らしい。
大金を払っているのだから、痩せれなければ無駄になる、といった感じだろう。
こういった心理も活用できるという観点では、やはりスクールに通うのがいい。
…と書いてきたが、今やスクールも数多く存在する。
その中で、どれを選べばいいのだろうか、と疑問に感じる方もいらっしゃるだろう。
そこで、幾つか具体的なスクールを調べてみたので、ごく簡単にではあるが紹介してみよう。
もちろん、今回紹介する以外にもスクールはあるので、あくまで一例であることは認識しておいてほしい。
Code ViIlage
一つ目はCode ViIlage様。
完全オンラインの、Web系に特化したプログラミングスクールだ。
Web特化ということもあり、ちょっと当ブログで書いたHTML、CSS、JavaScript、PHPなどももちろん入っている。
嬉しいのは、PC自体に不慣れな方もサポートしてくれるところ。
正直こういったプログラミングスクールはPCの基本操作ができること前提のようなイメージがあったが、その理由で諦めなくても大丈夫。
最初は無料でのカウンセリングを行えるそうなので、まずはそこで相談してみるといいだろう。
2022/7/22追記
久しぶりに見てみたら、どうやら内容が少し変わっているようだが、オススメに変わりはない。
Web特化は変わらずで、言語がJavaScriptを強く推している。
公式サイトにも書かれている通り、JavaScriptは全てで使用する超重要ポイントなため、それを集中して学習できるのは嬉しいポイントだ。
サポートが手厚いのは変わりなく、実践経験まで用意されているので、転職を考えているならかなりオススメだ。
最初の無料カウンセリングも同じく用意されているので、気になったら一度相談してみよう。
Freeks(フリークス)
二つ目はFreeks(フリークス)様。
通常のプログラミング技能アップのコースだけでなく、転職に特化したコースが分かれているのが特徴だろう。
また、通常のスクールとは異なりサブスクリプション形式で、公開されている授業を自分で選択して受講する形のようだ。
とはいえ講師への質問も随時可能で、分からないところはガンガン聞くようにしたい。
この、教材と質問可のセットがなかなかに強いので、自分で進捗を管理してしっかり進められるならかなりオススメだ。
こちらも最初に無料のカウンセリングを受けられる。
TECH STADIUM
三つ目、ちょっとこれまでとは種類が変わる。
TECH STADIUM様、ここはゲーム製作に特化したスクールだ。
ここまでは業務で使用するシステムを題材に話していたが、ゲームはゲームでまた異なるベクトルの技術が必要になる。
私自身そのタイプはあまり触ったことがないので詳しい内容は分からないが、それを特化して学習できるようだ。
また、プログラミング以外にも3DCG、VR、AIなども取り扱っているようで、かなり幅が広い。
就職支援もやはり行っているので、ゲーム業界への転身を考えている場合は、有力な選択肢の一つとなるだろう。
例によって最初に無料相談できるので、興味があれば見てみて欲しい。
無料相談を活用しよう
これだけ色々なスクールがあると、今度はそのどこを選べばいいのだろうか…と迷ってしまう方もいらっしゃると思う。
いくら心理を活用できるとはいえ、大なり小なり費用もかかるため、慎重にならざるを得ない。
そこで、オススメなのが無料相談の活用だ。
スクールの中には最初に無料相談を受けることができるものがあり、そこで本当に自分に必要かを考えられる。
どんなことができるのか、自分が本当に何をしたいのかをすり合わせて、合っていると思うところを選ぶようにしよう。
実は、今回具体的に紹介した3か所も、最初に無料相談を受けられるところを意図的にピックアップしている。
ある程度やりたいことを明確にしてからの方がいいのは確かだが、場合によってはそこの相談から受けてもらえるかもしれない。
ここを検討している方は、文字通りその後の人生を左右する可能性があるため、慎重に見極めていこう。
スクール選びのためのサービス「スクマド」
一つ、調べているうちに面白いサービスがあったので紹介しておく。
スクマド様というところで、なんとスクールを選ぶためのサービスだ。
ここ自体はスクールではないのだが、数多く存在するプログラミング等のスクールから、自分に合ったスクールを提案してくれるそうだ。
扱っているプランも100種類以上と非常に幅広い。
自分がやりたいことのために何を学ぶべきか、あるいはどのスクールを選ぶべきか迷ったら、まずはここに相談してみるのもいいだろう。
スクール選びに特化しているので、分からないことが多いまま自分で選ぶよりもより合ったスクールで学ぶことができそうだ。
おわりに
さて、後半はもはや話が変わってしまっていた気がするが…一応まとめておこう。
まず、本記事の主題としてあったのはプログラミングは独学でできるか、というところ。
私なりの見解は、趣味なら独学でも十分、仕事はあまりオススメしない。
その仕事のためであれば、スクールを活用した方がいいだろう。
迷ったのであれば、それぞれの無料相談やスクール選びのサポートサービスを活用したい。
本文中にも書いたが、やはりスクールに通うためには少なからず費用がかかる。
が、これはデメリットだけではなく、それだけ高品質な情報を得られるし、自身のモチベーションアップにもつながる。
一個だけ補足しておくと、むやみやたらにスクールに通えばいい、というものでもない。
自分が本当にやりたいことは何か、選ぼうとしているスクールがそれに合っているか、しっかり確認してから決めるようにしよう。
そこまでの道筋で、本記事が参考になれば幸いだ。
コメント