MoTLab -GO Inc. Engineering Blog-MoTLab -GO Inc. Engineering Blog-

エンジニア実務未経験者の最初の1年

行灯LaboEngineerLife
December 02, 2018


💁🏻
※本記事は Mobility Technologies の前身である JapanTaxi 時代に公開していたもので、記事中での会社やサービスに関する記述は公開当時のものです。
An image from Notion

JapanTaxi(JTX)の開発部はエンジニア歴の長い方が多く、平均年齢はおそらく30代前半?くらい。しかしこの1年で20代のメンバーもずいぶん増えました。若いメンバーでも基本的には実務経験のある方が採用されているのですが、中にはエンジニアとしての実務が未経験でJTXに入社した人もいます。

そのうちの1人がスコーンです。スコーンは2017年9月に入社したのですが、JTXがエンジニア未経験者を採用するのは初めてだったそうです。そんな初めての未経験枠採用者が、最初の1年をどのように過ごしたのか。これが本記事のテーマです。

JTXに入社するまで

2015年に大学(歴史学専攻)を卒業。卒業後の2年は貿易事務、大学教授秘書などとして働きました。エンジニアになりたいと一念発起し、プログラミングスクールに通い、そこから紹介してもらったのがJTXです。

詳細はこちらにあります。

tech-camp.in

JTXに入社してから

最初に、この1年で学んだこと、触った技術をまとめて書いておきます。

◎: がっつり ○: そこそこ △: 使っただけ

  • Ruby ◎
  • Ruby on Rails ◎
  • Sinatra ○
  • Node.js ○
  • SQLServer ◎
  • React △
  • AWS
    • Lambda ◎
    • Alexa ◎
    • API Gateway ○
    • IAM ○
    • IoT △
  • LINE Clova ◎
  • GitHub ◎
  • Travis CI △

0〜1ヶ月目: メンタリング&簡単なタスク

初の未経験者ということもあり、教育制度などは特に定まってはいなかったようです。(面接で入社後の教育体制について聞いたら「一緒に作っていきましょう」と返ってきた記憶…)

まずは毎日10~20分、メンター2人とメンタリングタイム。スコーンがあらかじめ質問を書き溜めておき、それを2人に質問するという形式でした。 また、RailsからAWS IoTを呼び出す、という小さな実装タスクにアサインされました。

プログラミングスクールで3ヶ月なにを学んだんだろう、と不思議になるほどなにもかもわからないことばかりで、メンタリングタイムで毎日質問する時間が設けられていたのは救いでした。

2〜4ヶ月目: HTTPS・SFTP間の中継サーバー

入社2ヶ月目からは、3ヶ月におよぶプロジェクトにアサインされました。技術スタックは以下のとおり。

  • Ruby
  • Sinatra
  • SFTP
  • Amazon Elastic Beanstalk

「SFTP!なんてレガシーな…!」と周囲には憐れまれたのですが、当時私はなにがレガシーなのかもよくわからず、もうひとりのベテランメンバーと一緒にスクラッチからリリースまでを経験しました。リリース後はプレスリリースも出て、自分の仕事が新聞に載るという初めての経験はなかなか感動的でした。

プロジェクト終了後に、他社との勉強会でこのプロジェクトに関してLTをさせていただいたのも、とても良い勉強になりました。

学んだこと

  • チーム開発のやりかた
  • インフラ・テスト・スケジュール調整など、開発で必要なプログラミング以外のスキルの存在
  • SFTPはレガシー
  • Sinatraの書き方

5〜6ヶ月目: Amazon Alexaプッシュ通知

すでにリリースされていたAmazon Alexaの「全国タクシー」スキル(今は「JapanTaxi」スキル)に、プッシュ通知を追加実装しました。

  • AWS
    • Alexa Skills Kit
    • Lambda(Node.js)
  • Ruby on Rails

Ruby以外はほとんど書いたことがなかったので、Node.jsという新たな言語での実装はひと苦労でした。当初の予定よりも納期が遅れてしまったり、いろいろと苦しい思いをした記憶があります。しかしこの下地があったからこそ、その後LINE Clova対応を任せてもらうことができ、「VUIに詳しい人」のポジションを確立できたのだと思います。

学んだこと

  • 1人プロジェクトの進め方
  • Node.js
  • 「サーバーレス」という概念

7〜10ヶ月目: 「JapanTaxi」アプリ サーバーサイド開発+ちょっとフロント

入社7ヶ月目にしてようやく「JapanTaxi」アプリのサーバーサイド開発がメイン業務となりました。加えて、WEB画面のサービスをちょこちょこ修正したりもしました。

  • Ruby on Rails
  • React
  • SQLServer
  • TravisCI

APIを初めて実装し、HTTP/HTTPSといったプロトコルや、Railsの動く仕組みなどをようやく理解し始めました。また、このころには毎日のメンタリングも終わり、いよいよ独り立ちかな、という段階でした。

学んだこと

  • API開発の基本
  • HTTP/HTTPSといったプロトコル
  • Railsの動く仕組み

11〜13ヶ月目: LINE Clova 「JapanTaxi」スキル

Alexaの経験を買われて、LINE Clovaの「JapanTaxi」スキル開発を1人でスクラッチから任せてもらうことになりました。

  • LINE Clova
  • AWS
    • Lambda(Node.js)
    • SNS
    • API Gateway
  • Ruby on Rails
  • SQLServer

インフラの設計からスケジュール策定、実装、テスト、リリースまですべて1人でやらせてもらえたのはとても良い経験になりました。

学んだこと

  • プロジェクトの進め方
  • サーバーレスの設計・実装方法
  • JavaScriptのお作法

まとめ

この1年で学んだこと

  • エンジニアは面白い仕事
  • エンジニアは勉強すれば即できることが増える
  • 仕事成長期の会社は面白い

これからやっていきたいこと

  • 数年後に海外で働きたいので、海外でミドルクラスとして就職できるレベルになる
  • バックエンド&インフラを究めていきたい

以上が、初の未経験採用者の最初の1年でした。今のところ未経験採用者は2人いる…のかな?未経験ならこのルートということは全くなくて、私以外のもう一人はScalaがメインだったりSQLをこねくり回したりしているようなので、入るチームや入社のタイミングによってやることは大きく異なりそうです。これからもたくさんの新たな仲間に出会えることを楽しみにしています!

JapanTaxi Advent Calendar 2日目、おしまい。まだまだ続くよ〜〜!

https://qiita.com/advent-calendar/2018/japantaxi


💁🏻
※本記事は Mobility Technologies の前身である JapanTaxi 時代に公開していたもので、記事中での会社やサービスに関する記述は公開当時のものです。

Mobility Technologies では共に日本のモビリティを進化させていくエンジニアを募集しています。話を聞いてみたいという方は、是非 募集ページ からご相談ください!