JavaScriptとVue.jsの専門性の背景には、子供時代の独学プログラミング経験がある〜フロントエンドエンジニア・TJ EppersonのTRUSTDOCK転職インタビュー(後編)〜

TRUSTDOCKの3人目のエンジニアは、TJ Eppersonです。彼は面接のときから「JavaScriptとVue.jsには自信があります!」と話していました。一方で、経理と物流の経験があったりと、エンジニア以外の経験を持っています。

今回はCOOの菊池をインタビュアーとして、TJのエンジニア歴を辿ってもらいます。また、働き始めて間もないにも関わらず、「ビジネスサイドの要望を受け止めてくれる」開発姿勢についても聞いてみました。

●話し手
TJ Epperson 株式会社TRUSTDOCK フロントエンドエンジニア

学生時代に小企業向けの戦略立案会社を設立し、その後はドイツ企業で経理と物流業に1年間従事する。大学卒業後、2015年に広島市の会社で会社管理ソフトウェアを開発すると同時に、データ分析の資格を取得。2019年からはクリプトカレンシー分析のスタートアップで、JavaScriptベースのシステムの開発の経験を積んだ。2020年TRUSTDOCKにフロントエンドエンジニアとして入社し、今に至る。

●インタビュアー
株式会社TRUSTDOCK 取締役COO 菊池 梓

2016年にシェアリングエコノミー業界へのブロックチェーン技術の活用として、本人確認・デジタルアイデンティティを実装、後に本人確認サービス部分を「TRUSTDOCK」としてサービス化し、独立。
TRUSTDOCKでは、業務執行の責任者として、営業支援・プロダクト開発内容の策定・オペレーション関連の顧客折衝・海外事業・海外技術調査等を行なっている。OpenID Foundation Japan KYCワーキンググループ ポリシーチームリーダー。

JavaScriptの魅力は「簡単にはじめられる」けれど、深めるには専門的な知識が必要になる複雑さ

菊池:TJさんが「JavaScriptとVue.jsには自信があります!」と面接で話していたことが印象に残っています。これまでどんな開発歴を辿っているんでしょうか?

TJ:私のプログラミングのバックグラウンドは、12歳の時にVisual Basicを始めた頃からの趣味にあります。16歳の頃には、ゲームを改造するためにC++を少し学び、その数年後にはゲやWindowsアプリケーションを開発するためにC#に手を出しました。

菊池:独学でプログラミング言語を学んでいたんですね。

TJ:スタートはソフトウェア開発の正式な教育ではなかったですね。でも、コーディングキャンプに参加したこともあります。3ヶ月間閉じ込められましたよ(笑)。そこで一気にJavaScript、React、Vue、Express、SQL、NoSQL、TDD、デプロイメントを学びました。

菊池:短期間でスキルを積み上げたんですね。

TJ:コーディングキャンプの18人のクラスの中から、一番最初に採用していただきました。この時に、「スキルを習得するスピードが早い」という才能があるのかもしれないと気付きました。これまでは独学や自分の興味のために開発言語を学んでいたので、他のひとと比べたことがなかったんですよね。

菊池:周りのひとより習得のスピードが早いと自信もつきますよね。自己評価ではなく、他者評価を得たことにもなりますから。

TJ:そうですね。1日16時間以上の時間を費やしていたこともあり、私は開発が好きだし向いていることがわかりました。

菊池:面接のときに「JavaScriptとVue.jsには自信があります!」と話していたことが印象に残っています。

TJ:JavaScriptは好きですね。JavaScriptは信じられないほど簡単に飛び込める反面、専門的な知識がないと複雑な部分が多い部分が好きなんです。shallow cloneとdeep cloneの違い、"true + true + true === 3 "がなぜ真なのか、なぜ物事を[object Object]かundefinedで表現するのか、などを考えたり、理解するのが好きです。

菊池:独学で学び始めることができて、さらに深めるには自分だけの知識では不可能。TJさんの開発歴と一致していますね。

TJ:確かにそうですね。言われてみて気がつきました。closure、currying、event loopなどの概念も面白いですよ。フレームワークは、JavaScriptに力を与えてくれる素晴らしいものです。フレームワークのおかげで、フロントエンドで使っていたJavaScriptがバックエンドでも使えて、フルスタック開発が信じられないほど直感的で簡単になります。


エンジニアの重要な仕事のひとつは、「ビジネスサイドが意思決定しやすいコミュニケーション」である

菊池:TJさんに、JavaScriptでカメラを動かしての写真を撮影するの部分をお願いしています。

TJ:JavaScriptの経験が活かせてうれしいです。

菊池:ビジネスサイドとしては大変ありがたいと思っています。それに、技術的負債の解消やリファクタリングを実施するタイミングと、リリースに向けて機能実装を進めるタイミングをうまく使い分けてもらえているんです。入社してすぐのエンジニアは特に、全て書き直したくなったりしませんか?

TJ:エンジニアがコードベースを見て、リファクタリングやリライトが可能だと感じるのはよくあることですよね。でも、私はリファクタリングやソフトウェア開発の問題に対処するために、ビジネスサイドの開発への要望を保留にしたことはありません。

菊池:その理由は、何か過去に経験があったからですか?

TJ:確かに私のビジネスのバックグラウンドを振り返ると、同様の状況に対処した経験があります。別のコードベースでは1日でつくれたはずの機能を実装するのに2週間かかったなどがあります。

菊池:そういった開発の遅延はよく起きるものですが、どうすれば防げるのでしょうか?

TJ:最初のキーポイントはコミュニケーションです。ビジネスサイドは、開発の詳細に常に気づけているわけではありませんし、関与しているわけでもありません。だから、両者の間には活発なコミュニケーションが重要になります。

菊池:ビジネスサイドはビジネスのプロフェッショナルであって、開発のプロではないですよね。

TJ:そうです。エンジニアもビジネスサイドの人間の性質を理解する必要がありますね。だから、エンジニアからビジネスサイドとのコミュニケーションを活発に行うべきです。それは例えば「技術的な負債に対処しない限り、機能開発は苦しいものである」だったり、「負債は時間が経つにつれて指数関数的に増加し続ける」ことだったりします。

菊池:技術的な負債を放置しておくとどうなるかをエンジニアから教えてもらえれば、開発に資金と時間をどう投資するかを考えられますね。

TJ:エンジニアはビジネスサイドが意思決定しやすい情報を提供すると、開発のスピードも質も高められると考えています。

「エンジニア以外の経験」が、ビジネスサイドの事情を理解する糧になっている

TJ:2つ目のキーポイントは信頼関係です。例えばTRUSTDOCKではCTOの荘野さんが 「リファクタリングにはこれくらいの時間をください」と言ったときに、ビジネス側はそのリクエストを理解して協力できるか。これが鍵になります。

菊池:ビジネスサイドは顧客の要望を直接受けています。いわば、顧客と開発サイドとの板挟みになることがありますよね。

TJ:そうなんです。ビジネスサイドにとって「弊社のエンジニアはビジネスの事情を理解してくれている。だからその提案は正当なものだ」と思っている。これが信頼関係がある状態と言えます。

菊池:自分をわかってくれているひとの提案であれば、受け入れやすいですよね。

TJ:エンジニアサイドは開発環境や技術レベルから開発のスケジュールを、ビジネスサイドは顧客の要望や締め切りをオープンに話し、双方が納得のいく開発スケジュールを見つけることが大切ですね。

菊池:どちらも「一方的に事情を押し付けられた」と思うと、その関係は長く続かないですね。

TJ:お互いが「事情を考慮してくれた」と思える信頼関係が、エンジニアサイドとビジネスサイドの理想的な関係です。私はエンジニアの他にも経理や物流の経験もあります。こういった「エンジニア以外の経験」を生かして、TRUSTDOCKのエンジニアサイドとビジネスサイドの関係をつくっていこうと思います。

編集後記

TRUSTDOCKのフロントエンドエンジニア、TJのインタビューを前編と後編にわけてお伝えしました。

「独学からはじまった開発歴」と聞くと職人気質が強い印象もありますが、TJはビジネスサイドの考えも持っているエンジニアであることがわかりました。今後もTRUSTDOCKのメンバーがどういった考え方、経歴、志向を持っているか詳細にお伝えします。

前編、後編ともにご覧いただき、ありがとうございました!

【TJ Eppersonインタビューはこちら】

【CEO千葉のインタビューはこちら】


【TRUSTDOCKのメンバーインタビューはこちら】





TRUSTDOCKはプロダクトファーストな考えが根付く少数精鋭チーム~女性エンジニアから見た社内は「プロダクトの成長」に時間を割いていた~ | 株式会社TRUSTDOCK
日本で唯一の本人確認やKYCの専業会社である弊社TRUSTDOCK(トラストドック)は、プロダクトの品質が要です。法律や金融だけでなく、セキュリティの面も考慮したプロダクト開発が必須です。この技術力を担っているのがエンジニアチームになります。今回はエンジニアの中でも入社3年目の女性エンジニア坪井有花の話をお届けします。内容は入社の経緯やTRUSTDOCKの開発環境や働き方、共に働きたい人物像...
https://www.wantedly.com/companies/trustdock/post_articles/171710


株式会社TRUSTDOCK's job postings
5 Likes
5 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more