【メンターインタビュー】TechTrainの開発環境とこれまでに取り組んだこと

こんにちは!TechTrainの開発をやってる大木優(おおきすぐる)です!入社してから、約2ヶ月半にして、初めてこうやって記事を書くので、自己紹介をば!

自己紹介

ニックネーム: すーさん

最近書いているコード:TypeScript, Nuxt.js

好きなエディタ: Atom, Vim(最近は泣く泣くVSCode)

最近の気持ち: バックエンドもたまには書きたい。

今開発しているTechTrainとは

ユーザー目線で端的にいうと、

自分がエンジニアインターンを始めたばかりの頃に欲しかったサービス

です。

大学が茨城の日立市にあり、業界屈指のエンジニアがいるというわけでもない環境において、一緒に働いているエンジニアの方が調べてもわからないことは、どうやって調べたらいいのかもわからないという状況でした。

そこで別の場所にオンラインですごい人に質問できたら!!!と当時考えたことがあるし、現在も考えることがあるため、TechTrainは自分もユーザーになりうるサービスと言えます。

ちなみに、インターンの頃の話はスライドに簡単にまとめたものがあるので以下のスライドを見てください。学生の頃にわかんなすぎて泣いた話が簡単に書かれてます。

https://docs.google.com/presentation/d/1aUusdto9wfY_g8eR57xI4SsHhtItLtfHIUIO_ZFydcQ/edit#slide=id.g61275e9f8e_0_116

技術紹介

利用している技術としては以下の通りです。

最近は、フロントにTypeScriptが導入されたので、型にロマンを感じる方にも、魅力を感じられる環境になってきました。ただ、開発環境をはじめとして開発体験をもっと良くしたいと思ってます。開発以外の余計なことに頭のメモリを取られたくないのは、エンジニアのみなさまならわかってくれるはずです。

フロント-----------------------------------------------------------
[言語、フレームワーク]
Nuxt.js(Vue.js) → Nuxtの機能をメインに使用
TypeScript → 全体的に型で縛っている
jest → Vuex部分にのみ一部導入中
[ツール]
eslint
prettier
lint-staged
husky
npm

バックエンド----------------------------------------------------
[言語、フレームワーク]
PHP→Laravel

インフラ---------------------------------------------------------
firebase
AWS(メインはEC2とRDS)

開発環境に一部Dockerだったり(完全導入はまだ)

↑の概要をまとめたのは、こちら。

スクリーンショット 2019-10-01 18.28.23

ここが面白い -技術的な話- 

技術の話はわかりやすく、メリットデメリットが整理できます。

◯メリット
1. 必要な技術、ライブラリを調査してすぐに導入することができること
2. リリースにいちいち許可がいらないこと(レビューはしますが)
3. 開発環境を良くするために(業務委託の方とも)話合いを必ずしていること
◯デメリット
1. フロントエンドを書くならエディタがほぼVsCode一択になってしまう
(TypeScriptの補完がいまいちで辛くなるため)
2. GCP派の方には申し訳ないが、AWS一択で現在は進めていること
3. 開発に必要なグロースのためのデータが揃い切っていないこと

デメリットの一番目が大問題です。必ず変えたい。せめてVimにしたい。いつか変えてやるんだ・・・。

ここが面白い -仕事的な話- 

まぁ、あれです。端的にいえばカオスです。

1. 欲しい機能がわかりやすく決まっているわけではない
2. 数字などがすでに全部揃っているわけではない
3. なんかエンジニアリング以外の仕事もめちゃくちゃ多い

こんな感じ。無い無い尽くしだし、もうごっちゃごっちゃに混ざってます。

ただ、混ざっているがゆえに、以下のことができます。

1. ユーザーの声をその日のうちに反映する
2. 自分がユーザーインタビューして、直接ユーザーの声を聞ける
3. ユーザーが欲しい潜在ニーズを極限まで考え、本質的機能開発ができる

すでに出来上がったサービスにおいては、実際にすべてを体験、実践できるところは少ないと思います。

そしてこれはTechBowlにしかできない荒技ですが、わからないことを自社サービスTechTrainのメンターに聞けるといった利点もありますw

ここが面白い -エンジニアから見た事業的な話- 

ここからは自分が感じているちょっと真面目な話なので、読み流してもらっても大丈夫です。興味のある方はぜひ読んでいただきたく思います。

現在、エンジニアリングを始めたばかりの状態の際にはこんな課題感があると思っています。

現場で求められるレベル感
チュートリアル終わった状態のレベル感の乖離

です。 

理由としては、自分の体験に基づいています。エンジニアインターンを始めた当時の自分のステータスを書いておくと以下の通りです。

2年間大学の情報工学科に通って勉強していた
なんとなくコードを読み、基本的な理解をすることができる
基本情報技術者を受かるような知識量

上記ステータスで始めた結果、

現場で必要な知識がわからない
何をしたら良いかわからない
思った通りの実装をできない

といった状態に陥りました。これは、独学で勉強を始めた方や大学に通っている方々は、自分で何かをずっと作り続けてきたとかでない限り、過去の私と同じような状態になりがちです。上記状態で、現場で仕事をしていると、自信が全くもってなくなる上、最初は作れてきて楽しいと思っていたエンジニアリングも楽しくなくなっていきました。それでやめてしまう人が増えているとしたら、勿体無いなと思う次第です。もう少し頑張れば、もっと楽しいものを作れる世界が待ってるのに。

最近、長期の学生エンジニアインターンや社会人インターンという言葉が出てきました。だからこそ、自分のような状態に陥っても、もっとレベルの高いところに行けるような後押しをしていく必要があると思っています。

難しいけれども、社会的にすごく役立つことですし、何よりも誰もやっていない領域のサービスに踏み込んでいくワクワク。これは現在でないと味わえないと言うのがエンジニアにとっては何よりのご褒美。難しいんですけどね。

最後に

色々書きましたが、一番言いたかったのは、こんなカオスな環境ですが、一緒にサービス開発してくださる方いませんかってことです。

まだ、踏み込んだことのない領域に初めていくのにワクワクする方

一緒にエディタ、開発環境論議しながら、開発しませんか?

興味ある方はinfo@techbowl.co.jpに連絡いただくか、ここから

エントリーをお願いします。



この記事が気に入ったらサポートをしてみませんか?