どうも、遅咲プログラマー(@yoshito410kam)の神里です。
今回は、あまりスクールでは教えてくれないけど、現場ではめっちゃ使うスキルについてお話しします。
実際、これからプログラミングを始める初心者にここらへんの理解がないと、現場に入ってから辛い思いするだろうなと思います。
それを知らずに無駄な勉強をするのはあまりにもかわいそうだなと思ったのでまとめてみました。
プログラミングスクールの手薄なところ
実際にカリキュラムを受けてみたり、色々とスクールの受講内容を見てきて、僕が手薄だなと思ったのは以下の項目です。
- Git/Githubを利用したバージョン管理のスキル(共同開発含む)
- RSpecを利用したテスト実装のスキル
- SQLの理解
実際、スクール通ってアプリ作るとなると、見た目はめっちゃ綺麗なんだけど裏側の処理は大したことないサンプルがたくさんあります。
確かに、見た目綺麗な方がぱっと見印象もいいし、初心者の人もテンション上がるんだろうけど、それだけじゃ転職活動はきついよねと。
初心者が面接を受けにきた時、サーバーサイドのロジックがきちんとかかれてないと、いくら見た目のいいもの作ってもあまり印象は良くないです。
「この人はちょっと育てるの大変そうだな」ってなります。
なぜなら、プログラマーにとって大切なのはロジックを組む能力と、それをさせる基礎知識だから。
その部分ができていない人を現場で育てるのは結構骨が折れるんですよ。
だから、見た目はそんなにパッとしなくても、正規表現使ってバリデーションしっかり組めたり、SQLがきちんと読めたり、データ処理速度を意識して検索機能実装できたり、テストコード書いてテストを自動化できたりとか、そういうの作ってきてくれる人の方がよっぽど印象いいです。
あと、Gitを使ったバージョン管理のスキルはしっかりと身につけておいた方がいいですよ。
現場でチームとして働く以上、このスキルは必須になります。
できれば、Githubなどのサービスと連携させ、共同開発する経験を積んでおくといいです。
とにかく、プログラマー目指すならいらない勉強はやめて、基礎文法とフレームワークの理解に焦点を当てましょう。
実際、ロジック組める人ならHTMLやCSSは調べながらで普通に実装できるようになりますからね。
プログラミングスクールの無駄なところ
スクールのカリキュラムで無駄だなと思うのは、HTMLやCSSなどを広く浅く学んで体裁だけを整えることです。
それをやる暇があるなら、1行でも2行でも自分で考えてロジックを組む力を鍛えた方がいい。
実際、ほんとに僕もHTMLやCSSは調べながら画面の部分作ってますからね。
現場でも、それを繰り返しながらデザインスキルを身につけていく感じです。
もちろん、それでも普通に働くことができてます。
確かに見た目の部分を整えたい気持ちはわかりますが、HTMLやCSSについて深掘りするのは時間がもったいないです。
あと、プログラマー目指すならIllustratorやPhotoshopは確実にいらないです。
それらの技術は、プログラマーになってから必要なときに身につければいい。
あとは、web上にサービスをアップするデプロイの技術なんかも、実はそこまで重要じゃないですね。
Herokuとか。
ポートフォリオ見せるためにその技術を教えてるのかもしれないですが、実際にはソースコードを見せてもらった方が実力を把握しやすいです。
新人にデプロイを任せる現場なんてほぼないですしね。
そこはインフラエンジニアの専門領域です。
まとめ
アラサーからプログラミングスキルを身につけ、プログラマーへの転職を目指すのであれば、無駄な時間を過ごすのは何としても避けましょう。
大切なのは、現場で使用する実践的なスキルを身につけるのに時間を使うことです。
もう一度言いますが、HTMLやCSSはRubyやRuby on Railsを理解できるようになってからでも充分間に合います。
そこに時間を使うあまり、基礎文法やフレームワークの理解が遅れることのないよう、最新の注意を払ってください。
見た目の部分は最低限で大丈夫です。
ぜひ、裏側のロジックを組むことに注力してください。
GitやGithubを利用したバージョン管理や共同開発、テスト、SQLやデータベースの理解など、実際に現場で役立つスキルは目立たないものが多いです。
地味かもしれませんが、コツコツ練習するとだんだん楽しくなってくるので、ぜひやって見てください。
もし、それでモチベーションが保てなくなったらうちのサロンに来てみてください。
同じ方向を目指している仲間がたくさんいるため、モチベーションも維持できますよ。