学生エンジニアがテックキャンプ(TECH::CAMP)卒業後にした勉強をまとめる

学生エンジニアのしばです。

僕は大学3年生の時未経験からプログラミングを勉強しました。今ではプログラミングスクールTECH::CAMPでメンターとして働きつつ、企業で学生エンジニアとして働いています。

テックキャンプに通って、プログラミングスキルをかなりあげることができたけど、テックキャンプのカリキュラムを終えたからと言ってもまだまだ修行が足りないと感じていました。

この記事ではテックキャンプや他のプログラミングスクールを受講した後は何をすればいいのか考えている人に向けて、僕がテックキャンプ卒業後に何をしたかについてまとめておきます。

テックキャンプ(TECH::CAMP)卒業後の僕のスキル

テックキャンプ 卒業後

テックキャンプ(TECH::CAMP)卒業したときにはカリキュラムで支持された通りにプログラミングできるくらいのレベルにはなっていました。

具体的には、

  1. HTML/CSSを使って簡単なデザインなら再現できる
  2. Rubyの簡単なアルゴリズムなら自力でかける
  3. Railsの基本的な仕組みは理解できた
  4. jQueryでTodoアプリなら作れる
  5. Gitがなんとなくわかった

みたいなレベルでした。勉強の様子はこんな感じです

 

テックキャンプ(TECH::CAMP)のメンター試験の勉強

僕はテックキャンプ(TECH::CAMP)受講後はそのままテックキャンプ(TECH::CAMP)のインターンに応募しました。

ある程度の基礎的なスキルを身につけたら、大学生の場合IT企業のインターンに応募するのが一番いいです。僕の場合だとテックキャンプ(TECH::CAMP)のメンターから直接誘われてメンターに応募したので、求人サイトなどは見ませんでしたがWantedlyとかで探すといいです。僕が今やっているインターンはWantedlyで見つけました。

WantedlyていうのはIT系の求人がめっちゃ乗ってるおしゃれ感のあるサイトです

テックキャンプ(TECH::CAMP)のメンター試験は合格率5%と結構難しいので、めちゃくちゃ勉強しました。テックキャンプ(TECH::CAMP)に受講生として通っていた時間を合わせて、合格するまでに200時間くらい勉強しました。

勉強しすぎて、テストは制限時間の途中で終了したし、先輩メンターよりも賢くなりました。やる気さえあればプログラミングはいくらでも習得できます。

テックキャンプ(TECH::CAMP)のメンターとして勉強

テックキャンプ(TECH::CAMP)のシフト

メンター合格後は、テックキャンプ(TECH::CAMP)で実際に受講生の方に教えたりしながら技術力を身につけました。しかしテックキャンプ(TECH::CAMP)のシフト中はもちろんカリキュラムの中のことしかやらないので、そんなに伸びませんでした。

テックキャンプ(TECH::CAMP)の研修カリキュラム

ありがたいことに、テックキャンプ(TECH::CAMP)では研修がしっかりしていて、メンターになってから昔の転職用コースのカリキュラムのアプリを自力で作る研修がありました。

そのカリキュラムはマジで自分の力だけで作るカリキュラムになっています。「これしろ。あれしろ。後はググれ。」みたいな。受講生でもない僕たちは方針についてメンターに聞くなんて事も出来ないので、ググりまくります。

その時実感したんですが、一番力がつくのは自分で考えたアプリを作る時です。これは間違いないです。カリキュラムの内容だと初心者向けに難易度が調整してあって学習しやすいんですが、それに甘えていてはダメです。

自分でアプリを作り始めると、

  • そもそもデータって何がいるだろう?
  • デザインどうしよう
  • どうやってこの機能つければいいんだ

と無限に疑問が湧いてきます。数学で回答をみると納得できるけど、自分で何も見ずに解くと何もわからない問題に似ています。

研修のアプリでは簡単なチャットアプリを作ったんですが、

  1. データベース設計
  2. HTML/CSSの全自力でのコーディング
  3. ユーザー登録・編集機能
  4. グループ作成・編集機能
  5. チャット送信機能
  6. 画像送信機能
  7. ajax通信
  8. AWS

とかなりたくさんのことを学びました。

ある程度の知識を身につけたら、めっちゃ簡単なアプリを何か一つは作ることをオススメします。

アプリ チャット

デザインはクソですが、みんな最初はこんなもんです

ちなみにこれが僕が作ったやつですが、かなりデザインは微妙ですね・・・。でも結構苦労して作ったんで愛着があります。これ全部作り終わってAWSと言うサーバーにあげるのに2ヶ月かかりました。

偉そうに学生エンジニアとか言ってる僕がこんなクソみたいなやつ作っているので、本当最初に簡単なアプリ作って自信をつけるのって大事です。

javascriptの勉強

上のアプリを作って思ったんですが、デザインがクソだとやる気が出ない!

テックキャンプ(TECH::CAMP)ではRubyとかRailsみたいに初心者が独学でやりにくいところを重点的に学習するためHTML/CSSのような結構独学でやれることは勉強しません。

そのためHTML/CSSをどう使えばおしゃれなアプリが作れるかがわからなかったんですよね。なのでまずはデザイン面を標準的なレベルまで持って行きたかったんです。

加えて、研修で作ったアプリで使ったjavascriptに興味が湧いたのでjavascriptの勉強をしました。

Vue.jsと言うフレームワークに興味が出たので簡単なゲームのアプリを作りました。herokuと言うサービスで公開しているのでみることができます。

あとは公開はしてませんがこんなのも作りました

企業で開発インターン

テックキャンプ(TECH::CAMP)で人に教えるのは楽しいんですが、カリキュラムのことを完璧に理解するとスキルがそこで頭打ちになってしまいました。

そこで今は企業で開発インターンをしています。やってるのがRuby On Railsなのでテックキャンプ(TECH::CAMP)で身につけたことをそのまま活かせる感じですね。最近はフロントからサーバサイドあたりを主にやっています。これもまたWantedlyで探しました。

企業でプログラミングすると、プログラミング以外の重要なスキルが身につく気がしています。他の人がデザイン周りで修正をお願いしてきた時も、間違いなく相手の意図を汲み取れることが重要です。相手の思い通りに直せず、もう一度修正が入ってしまうと、その時間とその時間分の人件費が無駄になりますからね。

あと、自分の作ったものがWeb上にあってお客さんに使われたり、修正がうまくいって使いやすくてかっこいいアプリになると普通に嬉しいですね。エンジニアの醍醐味のような気がします。

最後に

振り返ってみると、あくまでプログラミングスクールはきっかけです。結構そのあとに自分でどれだけ気合い入れて勉強したかが大きい。エンジニアになるということは、一生勉強(どの仕事でもそうだと思うけど)ということです。

勉強が好きだったり、面倒くさがりな人にはエンジニアは向いていると思っています。僕自身もっともっとレベルアップしてすごいことができるエンジニアになりたいです。