プログラミングエンジニアになりたい。けど何を学習すれば良いか分からない。
さらに、どのような順序で学ぶのが良いのか分からない。
初学者が最初にぶつかる疑問だと思います。
これからRubyエンジニアを目指す人向けにロードマップを作成しましたので参考にしてみてください。
※ Javaエンジニアを目指す人はこちらを参考にしてみてください。
ロードマップの大枠
まず、ロードマップの大枠としては図のようになります。
いかがでしょうか?
「こんなに学習しないとダメなの?」
という感想を持つかと思います。
プログラムの学習というと、図の中の「プログラミング基礎」や「フレームワーク」部分だけをイメージするでしょうし、多くのプログラミングスクールで扱っているのも、この部分だと思います。
しかし、これだけでエンジニアを目指すのは難しいです。
前提となる知識や、その周辺の知識も必要になってくるのです。
もしかしたら遠回りの学習と感じる人もいるかもしれませんが、しっかりと前提知識を身に付けておくと、プログラミングの学習もスムーズになり、結果的に早くエンジニアになれるのです。
学習教材
では、独学するにあたり、お勧めの本を紹介しておきます。
初級(学習1ヶ月〜6ヶ月くらいを想定)
コンピュータ基礎
「プログラムはなぜ動くのか」
プログラムの処理をコードとして書くには、コンピュータに何をしてもらわなくてはならないのかを知る必要があります。それを事前に学習には良い本です。
本の内容を下記でも紹介しています。
「キタミ式イラストIT塾 基本情報技術者 令和03年」
基本情報技術者試験を受験することには賛否両論ありますが、学習しておく(知識として知っておく)事は必要だと考えます。
下記にも基本情報処理技術者試験については書いていますので参考にしてみてください。
Git/GitHub
「GitHub実践入門」
プログラムのバージョン管理をする上で必須となった技術である Git/GitHub です。
まずは使い方を学習して、プログラム学習中から Git/GitHub を利用していきましょう。
Rubyプログラミング基礎
「たのしいRuby」
早くRailsを学習したいと思うかもしれませんが、まず基本となるRubyをしっかり使えるようになっておきましょう。
かなり分かりやすく解説されていますので、これでRubyの基礎を学びましょう。
データベース基礎
「ゼロから始めるデータベース操作」
最近のシステムでデータベースを使用していないシステムは無いと言えるくらい、データベースも必須になっています。
まずはデータベースをユーザーの立場から使えるようにSQLを学んでおきましょう。
HTML/CSS
「いちばんよくわかるHTML5&CSS3デザインきちんと入門」
Webアプリケーションを作成するには、ブラウザ上への画面表示が必要になってきます。
その時に使用するのが HTML/CSS です。
Ruby on Rails
「Ruby on Rails 5 超入門」
Rubyをしっかりと理解した上で、Ruby on Rails を学んでいきましょう。
これを学ぶことでWebアプリケーションが作成できるようになります。
「プロになるためのWeb技術入門」
ただWebアプリケーションを作成するだけでは無く、さらに一歩進んで、Webアプリケーションがどのような仕組みで動いているのまで知っておきましょう。
Linux基礎
「入門者のLinux」
通常プログラムを最初に学習する際には、Widows や Mac といったご自身のPCで開発を行うと思います。
業務でも開発自体は Widows や Mac を使うことが多いですが、実際にWebアプリケーションを本番運用するとなると、「Linux」というOSを使用する事が多いです。
Linux は Windows や Mac と事なり、コマンド操作することがほとんどですので、基本的なコマンド操作は覚えて使えるようになっておきましょう。
おまけ
「リーダブルコード」
プログラムはただ書けば良いだけではなく、綺麗に見やすく書く必要があります。
綺麗に見やすく書くことで、バグ(プログラムコードのミス)が発見しやすくなりますので、早い段階から綺麗に見やすく書く習慣を付けておきましょう。
まとめ
いかがでしたでしょうか。
学ぶことが多すぎて、はじめる前から挫折気味になってしまった人もいるかもしれません。
ただ、どれもエンジニアになるためには必要な内容ですので、しっかりと計画を立てて、少しずつでも知識を蓄えていきましょう。