私は一年前に実務未経験でエンジニアになりました。
一年間必死に業務をこなして現在二年目です。
最近ではだいぶ業務にも慣れ、安定した日々を過ごせています。
今回はそんな、未経験でエンジニアになって苦労しつつも業務にキャッチアップした自分の立場から、「実務未経験でエンジニアになる前に最低限やっておいた方が良いこと」をまとめてみました。
実際に未経験でエンジニアになった立場から、「これはやっておいてよかった!」「これはもっとやっておけばよかった。。」をまとめてあるので、信頼性はそれなりにあると思います。
この記事が、これからエンジニアへの転職を目指す方、もしくはこれからエンジニアになることが決まっている方の参考になれば幸いです。
未経験でエンジニアになる前に最低限やっておいた方が良いこと6選
それではさっそく、「実務未経験でエンジニアになる前に最低限やっておいた方が良いこと」をまとめていきます。
未経験でエンジニアになった私が思う、「実務未経験でエンジニアになる前に最低限やっておいた方が良いこと」は以下の6つです。
- タッチタイピングの練習
- コンピューターサイエンスの基礎を学ぶ
- 最低限のツールの使い方を学ぶ(Git・Linuxコマンド・SQL・Vim)
- 会社で使うプログラミング言語・フレームワークの基礎を学ぶ
- 作業環境を整える(リモートワークの場合)
- 「一年目はしんどい」と心得ておく
それぞれ説明していきます。
タッチタイピングの練習
エンジニアとして入社する前に「絶対に」やっておいた方が良いことは、「タッチタイピングの習得」です。
理由は以下の二つです。
- 常にコードを打ち、文章でコミュニケーションを取るエンジニアがブラインドタッチをできなかったら仕事にならない
- 技術の習得以外のところ(キーボードを打つ)で時間が取られて辛い
エンジニアとして就職したあとに技術の勉強に集中するためにも、「最低限のブラインドタッチ」は事前に習得しておきましょう。
参考までに、私がブラインドタッチを習得するために取り組んだことをまとめておきます。
以下の3つの手順です。
- ホームポジションを知る
- e-typingで「毎日」トレーニングする
- 普段キーボードを打つときに「ホームポジション」「スピード」「キーボードを見ない」を意識する
ホームポジションとは、要は「タイピングをする上で基本となる指の置き場所」です。
ホームポジションを覚えることで、より効率よくタイピングができるようになります。
ホームポジションを覚えたら、e-typingや寿司打等のサイトでタイピングの練習をしましょう。
得点やランキングが表示されるので、ゲーム感覚で練習を積み重ねることができます。
ここでのポイントは、「毎日」取り組むことです。
タイピングはピアノのようなもので、理屈ではなく体で覚えるものです。
1週間おきとかだと感覚を定着させることができないので、必ず「毎日」取り組むようにしましょう。
ある程度ブラインドタッチができるようになったら、あとは普段PCに触れる中で練習を積み重ねるだけです。
以下の3つを意識して研鑽を積みましょう。
- ホームポジションを守る
- なるべく速く打つ
- 絶対にキーボードを見ない
真面目に取り組めば、一ヶ月程度でできるようにはなると思うので、エンジニアとして入社する前に必ず取り組んでおくようにしましょう。
コンピューターサイエンスの基礎を学ぶ
最低限のコンピューターサイエンスの基礎は学んでおくようにしましょう。(特に大学の学部などがコンピュータ系ではない人)
なぜなら、最低限のコンピュータサイエンスの基礎(ネットワーク、データベースなど)を理解していないと、技術の習得スピードが遅くなってしまうし、そもそも仕事中に他のエンジニアが話していることが理解できなくて苦労するからです。
情報系の大学院卒業レベルの知識を付ける必要はありませんが、最低限の知識は付けておきましょう。
おすすめは以下の2冊です。
これさえやっておけば、同僚のエンジニアが話していることはある程度理解できるでしょう。
最低限のツールの使い方を学ぶ(Git・Linuxコマンド・SQL・Vim)
仕事で絶対に使うであろうツールは事前に触って使い方に慣れておきましょう。
特に必須なのは以下の4つです。
- Git
- Linuxコマンド
- SQL
- Vim
それぞれおすすめの教材を載せておきます。
Gitは以下のUdemyの教材がおすすめです。
この講座の教材をマスターしておけば、基本的には仕事で困ることはないでしょう。(実際私もこの教材で学んだ知識で困っていません)
Linuxも以下のUdemyの講座がおすすめです。
Linuxの基礎をサクッと身に付けることができます。
SQLのおすすめは三つあります。
一つ目と二つ目は、手前味噌ですが以下の記事です。
SQLの基礎中の基礎をサクッとまとめてある記事と、SQLの練習が積めるサイトを集めた記事です。
どちらもSQLを習得するうえで参考になるでしょう。
もう一つはProgateのSQL講座です。
これを学んでおけばSQLの基礎はOKだと思います。
最後はVimのおすすめ教材です。
こちらもおすすめは二つ。
一つ目は以下の私の記事です。
Vimとは何か?から基礎的な操作方法までが学べます。
もう一つはVimtutorというツールです。
実際にVimを触りながら操作方法を学ぶことができます。
私の場合は、会社に入ってからVimを知り、「Vimって何??」となったので、事前に勉強しておくことをおすすめします。笑
会社で使うプログラミング言語・フレームワークの基礎を学ぶ
会社で使うプログラミング言語およびフレームワークの基礎は事前に学んでおきましょう。
私の場合は、会社がPHPとLaravelを使っていたので、PHPとLaravelを事前にある程度学んでいました。
それにより、ある程度はスムーズに業務に入れたかなと思います。
ちなみに私が取り組んだのは、PHPはProgateの講座で、Laravelは以下の本です。
この辺りは、自分が入る会社に合わせて教材を選んで下さい。
また、言語とフレームワークを学んでもなお余裕がある人は、その会社が採用している「開発 -> リリース」までの流れを体験しておくと、よりスムーズに仕事に入っていくことができるでしょう。
例えば、開発環境にDocker、本番環境にECSを採用してある企業なら、事前に「Dockerによる環境構築 -> CircleCIでのECSへのデプロイ」を体験しておくのです。
ここまでやっておけば、かなり余裕を持って業務に取り組むことができると思います。(私は全然やっていなかったので苦労しました。。)
ちなみにDockerを最初に触る場合は、入門Dockerというサイトがオススメです。
CirclreCIを最初に学ぶ場合は、いまさらだけどCircleCIに入門したので分かりやすくまとめてみたというQiita記事がオススメです。
作業環境を整える(リモートワークの場合)
事前にリモートワークで働くことが決まっている場合は、入社前にしっかりと環境を整えておきましょう。
そうすることで、より効率よく仕事に取り組めますし、体にも優しいです。
私がこだわったのは以下の4つです。
- 椅子
- モニター
- PCスタンド
- キーボード
椅子については、「長時間座ってもお尻が痛くならないもの」を選びましょう。
私の場合は、事前にリモートワークの準備を全くせずに入社してしまったため、しばらくの間固い椅子で作業をすることになり、かなり辛い思いをしました。。笑
二つ目はモニターです。
エンジニアとしてリモートで働くなら、モニターはあった方が良いです。
あるのとないのとでは仕事の効率が全然変わってきます。
私が使っているのは以下のモニターです。
画質が良く、USB-Type-Cで直接Macと接続することができるので、無駄な配線が増えず便利です。
PCスタンドは、PC(Mac)を使うときの目線を上げるために使っています。
長時間目線を下げて作業をしていると首を痛めてしまうので、自身の健康を守る上でも以下のグッズはオススメです。
最後にキーボードです。
エンジニアは毎日ひたすらタイピングする仕事なので、キーボードにはこだわった方が良いです。
私の場合はMacの薄いキーボードが馴染めなかったので、REALFORCEのキーボードを使っています。
以下の記事にもまとめてあるので、興味のある方は参考にしてください。
また、おまけですが以下のグッズもオススメです。
リラックスしつつ眼精疲労も解消することができるので私は愛用しています。
「一年目はしんどい」と心得ておく
最後は物理的な準備というよりは、「心」の準備です。
正直に言いますが、エンジニア一年目はきついです。
分からないことが多すぎて自分の無力さを痛感するし、そもそも分からなすぎて仕事もまともにこなせないので楽しくないです。
私自身も一年目は以下のような心境でした。。
ただ、一つ言えるのは、そのしんどい状態は永遠には続かないということです。
一年間しっかりと頑張れば、徐々に点と点が繋がって色々なことが分かってきます。
分かることやできることが増えれば、仕事がどんどん楽しくなってきます。
最初はキツイとは思いますが、「一年の辛抱」と思って耐えて下さい。
必ずや「エンジニアって楽しい!」と思える未来が待っているはずです。
実務未経験でエンジニアになる前に最低限やっておいた方が良いこと まとめ
今回は、未経験でエンジニアになる前に最低限やっておいた方が良いこととして、以下の6つをご紹介しました。
- タッチタイピングの練習
- コンピューターサイエンスの基礎を学ぶ
- 最低限のツールの使い方を学ぶ(Git・Linuxコマンド・SQL・Vim)
- 会社で使うプログラミング言語・フレームワークの基礎を学ぶ
- 作業環境を整える(リモートワークの場合)
- 「一年目はしんどい」と心得ておく
ほんの少し先に未経験からエンジニアになった先輩からのアドバイスとして、少しでも参考になっていたら嬉しいです。
最後まで読んでいただきありがとうございました。
あなたのエンジニア人生が明るく楽しいものとなることを願っています。