はじめに
「未経験だけど、エンジニアになりたい」という人に、僕がまずやってもらっていることを、この記事にまとめてみました。
「習得してほしい」というのももちろんですが、何よりも自分自身がエンジニアに向いているかを確かめる意味でも、これらを一通りこなすことがその試金石になるのでは...と考えています。
以下、やってみてほしいことと、その理由を書いていきます。それぞれ、無料で取り組めるサービスがあるものは、それも紹介していきます。
ブラインドタッチの練習
初っ端からプログラミングと関係ない感じですが、この業界に携わる上での根幹部分になると思ってます。
タイピングスピードは、あらゆるタスクの解決スピードを底上げしてくれます。コーディングはもちろん、ちょっとした調べごと、メールやチャットでの相談など、仕事のあらゆる場面で、僕たちはキーボードを触ることを求められます。
エンジニアに限った話ではないですが、仕事をするならば、ブラインドタッチは最低限習得しておきたいところです。
無料で練習できるツールは世に溢れていますが、「e-typing」「寿司打」なんかが有名ですね。
競技プログラミング
「競技プログラミングができる」ならば「開発ができる」とは限りません。
しかし、「開発ができる」人は、ある程度「競技プログラミングができる」コーディング力と思考力を備えています。
プログラミングを勉強し始めたばかりの人は、「反復」「条件分岐」といったプログラミングの基礎を、「知識としては習得」していると思います。
この、「知識として習得」している状態から、「自由自在に使いこなせる」ようになるまでに必要なこと、それは「数をこなすこと。すなわちたくさん練習をすること」です。
競技プログラミングの問題を、解けるレベルからガンガン解いていくことで、コーディングの基本が身体に染み付いてきます。
なんやかんやで結構考えさせる問題も多いので、論理的思考力が試される場面も多いでしょう。
最初は1問解くのにも、時間がかかるかもしれません。与えられたサンプルコードでは通るのに、提出したらWA(不正解)やRTE(実行エラー)まみれで絶望するかもしれません。
時間かけて良いです。たくさん間違えたって良いです。ここで根気よく考える力、地道にデバッグする力を身につけましょう。
別に競技プログラミングで上を目指せというわけではないのですが、やるならばコンテストが盛んなAtCoderやyukicoderが楽しいかもです。paizaのスキルチェックは、チェックサンプルが非公開なため勉強はしづらいかもしれませんが、ランク判定をしてくれるので、やりがいはあるかもしませんね。
SQLの練習
データベースは、システム・アプリケーションの根幹とも言える重要な要素です。
SQLを練習しながら、リレーショナル・データベースがどんなものなのか、ある程度理解し、触れるようになっておきましょう。
簡単な文法を学ぶならば、SQL攻略くらいのレベルから始めると良いと思います。もう少ししっかりと書けるようになりたければ、SQL Tutorialなどがおすすめです。
(特にWebアプリ開発をしたい人)Webアプリフレームワークのチュートリアル
「Web」「フレームワーク」「サーバー」「デプロイ」「コマンド」「Git」...などなど、実際にアプリを作ろうと思うと、プログラミング以外にも知らなければならないことが山のように出てきます。
もちろん座学で習得することも重要ですが、実際に手を動かして、自分で何かを作ってみると、より知識が血肉となってくれるはずです。
PHPのWebアプリフレームワーク「Cake」や、Pythonの「Django」には、無料でアプリ開発→公開まで学べるチュートリアルが存在しますので、それらを活用するのが良いでしょう。(もちろん、自分の好きな言語で良い題材があれば、それをやってみるのが良いと思います。)
まとめ
以上、「エンジニアを志すならば、まずやってみてほしいこと」をまとめてみました。
「これをやればエンジニアとして活躍できる」ことを保障するものではないですが、エンジニアならば身につけておかなければならない基礎の多くを身につけることのできるものだと思っています。
逆に、これらをやってみて「楽しくない」「全然意味がわからない...進まない」という人にとっては、エンジニアは辛い仕事かもしれません。
そういった、自分の向き不向きを考える上でも、まずはここで紹介したことから、始めてみることをおすすめします。
おわりに
弊社では、経験の有無を問わず、社員やインターン生の採用を行っています。
興味のある方はこちらをご覧ください。