インターンからHENNGEのフロントエンドエンジニアへ
Ray Wongさんは大学在学中にHENNGEでインターンを経験しました。その体験がとても良かったため、卒業後にフロントエンドエンジニアとして入社しました。
Rayさんが海外インターンを探し始めたのは、香港の大学3年生のときでした。日本の音楽やテレビ番組のファンだった彼は、日本でのソフトウェアデベロッパーインターンのポジションをインターネットで探し回り、その中でHENNGEがインターンを募集していることを知りました。
詳しく調べてみると、とても魅力的な選択肢でした。彼はこう話します。「日本で6週間生活するには十分な福利厚生があると思いました。会社のバックグラウンドを調べてみると、オープンマインドなカルチャーで、インターナショナルな職場環境だと分かりました。エンジニアリング面でも、月に1回テックセッションを開催していて、最新の技術について共有する文化があると知りました。この会社は自分に合いそうだと思いました。そこで応募を決めて、最終的にこの会社でインターンをするチャンスを手に入れました。」
実際のプロジェクトチームに入り、そのプロダクトのフロントエンドとバックエンド両方のプロトタイプを作っていました。本当に多くのことを学びました。
Rayさんの最初のインターンプロジェクトは、Twitterクローンを作ることでHENNGEの技術スタックに慣れるというものでした。彼はこう振り返ります。「その時点ではフロントエンド寄りになりつつあったので、フロントエンドにフォーカスして、バックエンドはフロントエンドエンジニアだったらどのように関わるかをイメージできる程度に取り組みました。RXJSのような、自分にとって新しい技術にも挑戦しました。この機会を、自分がやってみたかったことを試す場として活用しました。」
2つ目のプロジェクトも完全に教育目的のもので、DevOpsにフォーカスしていました。Rayさんは「インフラの設定について、EC2インスタンスなどをコードで構成する方法を少し学びました。当時はChefを使っていましたが、僕のバッチの後でインターンの仕様が変わり、Terraformに切り替わりました」と話します。
3つ目であり最後のプロジェクトでは、HENNGEが開発を検討していたプロダクトのプロトタイプを作りました。彼は「実際のプロジェクトチームに入り、そのプロダクトのフロントエンドとバックエンド両方のプロトタイプを作っていました。本当に多くのことを学びました」と言います。
インターンと大学のプロジェクトとの最大の違いは、プロのソフトウェアエンジニアから直接学び、フィードバックやアドバイスをもらえたことでした。例えば、プロトタイプがクラッシュしてしまう問題を経験した後、彼はDocker化して自動的に再起動できるようにすることを提案しました。「その時点ではバックエンド開発やDockerにはあまり詳しくありませんでしたが、この機会を使って自分にチャレンジしたいと思いました。多くのサポートを受けて、Dockerの使い方や正しい設定方法についてたくさん教えてもらいました。」
どの方向に進むか、どの技術を使うかについて、ほぼフルに決定権を与えられていました。設計に関する決定権はすべて任せてもらえました。
大学を卒業した後、彼はフロントエンドエンジニアとしてHENNGEに戻ることを決めました。これまで様々なプロジェクトに関わってきましたが、特に印象に残っているのは、HENNGEのセキュアブラウザのデスクトップアプリケーションの新バージョンを開発したことです。このアプリは、ユーザーが自分のデバイスから会社のデータにアクセスできる一方で、データのダウンロードやエクスポートを防ぎ、情報漏えいを防止するものです。彼はこう述べます。「新しい技術を使ってそれをリニューアルするチャンスがありました。どの方向に進むか、どの技術を使うかについて、ほぼフルに決定権を与えられていました。設計に関する決定権はすべて任せてもらえました。プロジェクトをゼロから立ち上げたので、アーキテクチャをどうするかを決めたり、このプロダクトに合う技術をリサーチしたり、デザイナーと相談したりする機会がたくさんありました。ブラウザプロダクトに関して、ほとんどすべてを任されていました。」
最終的にRayさんは、アプリにはElectronを使うことに決めました。以前に使用経験はなかったため、Electronを使ったオープンソースのブラウザアプリを調査したり、技術自体に慣れたりするのに約1ヶ月を費やしました。この時間を取ることはマネージャーからも推奨されており、急ぐようなタイムプレッシャーは感じなかったと言います。
この会社はそれほど大きくないので、自分の貢献が多くのことに影響します。
HENNGEで働く中で、Rayさんは自己成長と責任ある仕事の機会を特に評価しています。「新卒でしたが、それでもいくつかのプロダクトのリビルドを任されるほど信頼してもらえました。僕のようなジュニアエンジニアでも、シニアのような仕事ができます。情熱的な人が多く、たくさん助けてもらいました」と話します。
また、自分が興味を持っている新しい技術を学び、試す機会もあります。「もしReactを使いたければ、どう実装するかの提案や計画を持っていくことができます。自分がやりたいことは何でも提案するチャンスが与えられています。」
最後に、彼は仕事から得られる達成感も楽しんでいます。「この会社はそれほど大きくないので、自分の貢献が多くのことに影響します。なので、かなり大きな達成感があると言えると思います。」