振り返ってみた

これまでの学習を振り返ってみた 〜未経験からのエンジニア転職を目指して〜

はじめに

今回は、MENTAを利用して未経験から学習を開始して、転職活動を始めるまで半年ほど経過したので、自身の振り返りとして記事を書いてみたいと思います。

自己紹介

エンジニアを目指すきっかけ

前職では、何かに困っている方の生活を支える仕事をしたいとの思いから、訪問介護士として障害者の生活支援をする仕事に携わっていました。

しかし、24時間体制で人員を募集している現場も多く、30分〜1時間などの短時間の介助もあるため、なかなかエリアマネージャー同士の連携がうまくいかず、介護士が埋まらない状況が続きました。

そんなある時、会社の上司から「試しに使ってみてほしいWebサービスがある」と言われました。

当時出来たばかりのそのWebサービスは、全国の介護事業所から登録された介護士を募集している現場が地図上に表示されて、その場所をタップすると氏名・住所・時間帯・症状などの詳細がわかる、というものでした。

このサービスはエリアマネージャーだけでなく、会社に所属している従業員全員が見れるものでした。

これができたおかげで、人員不足は圧倒的に改善しました。そして私は、IT技術によって課題が解決できることに対して、またそれを作ったエンジニアの方に対して大変感動しました。

またその他の介護システムで現場職員の負荷軽減や、利用者とそのご家族の満足度向上をIT技術によって実現していく様を目の当たりにし、その必要性を強く感じ、これからは、自分自身もIT化を進めていく側に回り、いずれは介護業界の人手不足の課題をIT技術で解決できるようになりたいと思うようになり、Webサービスの土台を支えるインフラエンジニアへの転職を決意しました。

学習を開始するまでの過程と、その準備期間にやったこと

自身のメンターさん選びの基準

ご指導頂くメンターさんは、主に下記の4点を基準に探しました。

  • インフラを学べる

自分はインフラエンジニアを志望していたので、インフラが学べるメンターさんを探しました。

その中でも、未経験の方向けの育成プランのようなものがある方を、重点的に探していきました。また、契約プランで気になることがあれば、契約前にメッセージでご相談させて頂いたりしました。

  • レスポンスの早さ

もし自分で調べてもわからない事があった場合に、あまり長い間ご返信がなかったりすると自分のような初学者の場合、詰まってしまう事があると思ったので、こちらに関しては先にご契約されている方のレビューを参考にさせて頂きました。

  • 転職活動のサポート

課題に取り組んでいく事と並行して転職活動を進めていくにあたって、転職先を選ぶ際のアドバイスを頂けたり、過去にメンティーさんが転職できた実績のある方を探しました。

  • SNSやブログ等で発信されている内容

こちらはプロフィールのリンクや、もしなければ自分で色々検索して調べてみて、SNSやブログなどで、普段エンジニアとしてどんな事を発信されているのかを調べるようにしました。

またインフラエンジニアといってもサーバエンジニアやネットワークエンジニア、データベースエンジニア等色々あるので、自身が興味のある事を発信されている方を探しました。

ご指導頂いたメンターさん

  • あだちんさん(安達 涼 さん)

主な学習内容

  • VagrantやDockerを使用してWordPress開発環境の構築、LAMP環境の構築
  • PHP,php-fpm,Ruby,Rails,unicorn,Nginx,MySQLなどのミドルウェアの設定
  • AWSでのWordPress開発環境構築
  • Git・GitHubの操作
  • Ansible・Terraform等を使用してインフラ構成管理をコード化
  • Redmineの構築
  • Zabbix・Mackerelを使用したサーバ監視
  • CircleCIによる自動デプロイ
  • SSL証明書の設定
  • シェルスクリプトでのプログラミング
  • 基本的なネットワークの知識

実際に契約してみて

レスポンスがとても早く、またその内容も答えを全て教えるTeachingではなく、解決や調べることへのヒントを与えるCoachingで教えて下さる方なので、学習意欲がある方はとても楽しく課題に取り組めると思います。

また、転職活動の時期に入って面接を受ける企業を選ぶに際には、〈5~10年後に自分はどんなエンジニアになっていたいのか〉をちゃんと考えた方がいいと、自身の今後をしっかり考えた上でのアドバイスも頂きました。

準備期間(1ヶ月程度)にやったこと

  • アルバイトを週2日に減らす(勉強時間確保のため)
  • 予習(Git・GitHubの操作、Linuxコマンドなど)
  • エンジニア用のツイッターアカウントを作成
  • メンターさんと契約する

課題に取り組む上でやってみて、個人的に良かったこと

書籍やサイトなどで簡単なチュートリアルを見つけて、それを動かしてみてから、課題に取り掛かる

例えばAnsibleの場合であれば疎通確認だけしてみたり、TerraformであればAWSのS3 bucketを作成するなどして、まずは簡単でいいので実際に動かしてみるとイメージが沸きやすく、その後頂いた課題に取り掛かる際も、理解して学習を進める事ができました。

意識してやるようにしたこと

Issueのコメントを丁寧にまとめる

まず課題の進め方ですが、自身のGitHubにリポジトリを作成して、メンターさんを招待します。

そちらにメンターさんが要件を書いたIssueを作成するので、こちら側でその要件を満たす環境を作成し、その過程をIssueのコメントにまとめます。

この時に、後から読み返しても理解できるように、そして上から下まで読めばまた同じ条件で構築できるように意識しました。

 こうすることによって、学習した事を自分の中で整理できた事と、後から振り返った際に自身の復習にもなりました。

Pull Requestをこまめに分けて出す

また、コードを書く課題であればPull Requestを出してレビュー依頼を出し、レビューが通れば次のIssueに進むといった流れになります。

 Pull Requestする時は、実際に動いたものを、実行結果とともに、役割ごとに分けて出すように心がけました(例えばAnsibleだと以下の感じ)。

ブログでアウトプットする

取り組んだ課題やチュートリアルは、継続的に本ブログに投稿するようにしました。ペースは大体週に1回最低でも2週間に1回は更新するようにしました。

また、このブログに投稿する事が学習のモチベーションにもなりました。

これから

この約半年間、Webサービスを支えるインフラの部分の基礎をあだちんさんにメンターについて頂いて、ご指導頂きました。

この期間は、週に50~60時間程度の学習時間を確保するようにしてきましたが、元々何かを作る事が好きだった事と、新しい技術を覚える度に楽しさとやりがいをより感じるようになっていった為、毎日学習を続けていくことが全く苦ではありませんでした。

特に、AnsibleやTerraformを使用して、インフラ構成管理をコード化する作業では、書籍やサイトで調べながらも、最終的には自分で考えてコードを書いたので、達成感もありました

今後は、自分はSREエンジニアを志望しておりますので、まずは中小規模のサービスの設計・構築・運用の経験をたくさん積む事と並行して、上記のインフラコード化の学習は、これからも継続していきたいと考えております。

また、自身の長所であるコミュニケーションをチームのメンバーとしっかり取るようにして、将来的には、今回ご指導頂いたあだちんさんのように、若いエンジニアの育成に関わっていきたいです。

ちなみに

スライドにもまとめてみましたので、よろしければこちらもご覧ください

タイトルとURLをコピーしました