見出し画像

プログラミングが楽しい! 新しいものを作って、発信していきたい(ブライアン・エリス/エンジニア)

アシアルには、さまざまな個性とスキルを持ったメンバーが集まっています。そんな個々のメンバーにスポットを当てたインタビューの第5弾となる今回は、中途入社8年目のブライアン・エリスにお話を聞きました。

日本で働きたいという想い

アメリカ合衆国出身のブライアンは、新卒で行動分析サービスを開発する会社で働いていましたが、子供のころからの夢であった日本で働きたいという想いが強くなり、日本での転職活動を開始しました。

「様々な企業を調べる中で、自分がその時にもっていた技術スタック(JavaScriptやPHP言語)とアシアルが求めるスタックがぴったり一致していて、興味を持ちました。
また、アシアルがWebシステムの開発だけでなく、Monacaを使ったモバイルアプリケーションの開発をしていることも魅力的で、入社を決めました。」


自社サービスとOSS(オープンソースソフトウェア)での成長

入社してすぐにMonacaプロジェクトに参加し、フルスタックエンジニアとして、フロントエンド、バックエンド、ビルドシステムなど、開発のすべてに携わる事になったブライアン。

「クラウドIDEを利用して、Monacaのエディター機能の全般を改善していきました。プログラムを記述するごとにコードヒントを出したり、全体のフォーマットを整える機能、Gitと連携するための機能などを使いやすく改善しましたね。」

アメリカの大学では、コンピューター情報システム工学を専攻し、理学士号を取得しているブライアン。アシアル入社後、大学や前職とは違う成長を感じたところがあると言います。

「学校や前職でも、プログラミングを学習し、実際に開発業務にも携わっていました。しかし、アシアルでは、オープンソース製品であるCordovaの開発チームの一員に加わるなかで、世界中にいる多様な人と一緒に働くという状況が生まれました。

オープンソースの世界では、誰でもプロジェクトメンバーとして参加できます。そのコミュニティにおいては、各人の作業内容と、自分が取り組んでいる内容とを比較しながら、全体に問題が発生しないように管理していくという事が重要で、そのスキルが身につきました。
 
Cordovaの開発を通じて、iOSで利用するObjective-Cなどの新しいプログラミング言語を習得できましたし、AndroidにおいてもJavaなどの大学から学んできたスキルを、ずっと深く掘り下げることができました。」

オープンソースならではの開発環境の中で、ブライアンはさらに成長を感じたそうです。

「まだCordovaプロジェクトに参加する前は、なにか不具合があった際には、不具合を報告して、その修正を待つしかない事がありました。自分が深くCordovaを理解した結果、Cordovaのプログラムを直接触れることができるようになりました。その結果、今では自分の手でコードの改善を進めています。」

OSSプロジェクトのマネジメントに従事

ただ、オープンソースであるが故の苦しさもありました。

「OSSのコミュニティでは、世界中の人が開発に貢献するため、もっと良いコードがあるかもしれないという事で、自分の開発内容が却下されることもあります。

また、Cordovaに入れた方がいいかもしれない新機能のアイデアがあっても、多くの人に必要な機能であるかどうかを元に精査されるため、そのバランスが難しいんです。」

「普段の開発とは少し異なる仕事の進め方だと思います。プロダクトが会社の管理下にある製品とは異なり、あくまでもボランティアによる開発なので、開発が進む時もありますし、全く進まない時もあります。一方、Cordovaは多くのユーザーが利用している製品なため、課題もたくさん挙がってくる。問題を特定すると同時に、その優先順位を判断したり、やる・やらないの取捨選択をするのに悩みます。」

それでも、ブライアンはバランスを取りながら進めていると言う。

「OSSプロジェクトをスムーズに進めていくコツは、とにかくコミュニケーションをとることです。オープンソースであるCordovaと、そのCordovaを使ってプロダクト(Monaca)を開発している会社(アシアル)の間でアンバランスが発生しないように、チームメンバーと頻繁に会話をしています。自分たちの意図を含めて、丁寧に説明していきます。」

「例えば、古いモバイル端末のサポートポリシーが挙げられます。Cordova側で古いOSのサポートが終了した場合、アシアルとしても対応ができなくなってしまいます。そこで、ただ単にできませんでは終わらせず、“こうすれば延命できる”と伝えながら、折衷案を見つけていきます。」

受託のアプリ開発プロジェクトに参加して

そうしてWebやモバイルアプリの開発技術を身につけていくなかで、その仕事ぶりが評価されたブライアン。クライアントがいる、Webアプリの受託開発にも参加を依頼されるようになります。

「クライアントがいるWebアプリ開発でも多くの学びがあります。SwiftやKotlinなどのネイティブ言語も多用するようになりました。」

「新たなプロジェクトに入りたての時は、とにかく学ばなければならないことが多く、まずは、いつもそこからです。そして、これが一番大変でした。

すぐに開発に取りかかる前に、プログラミング言語やツール、ライブラリなど多くの事を学ぶ必要がありました。これには本当に時間がかかりました。インターネットを使って学習したり、既存のコードをレビューしたりしながら、階段を上っていく感じです。」

OSS開発も受託開発も、それぞれ大変な事が多いが、充実感も大きいと言いいます。

「オープンソースでは、『ブライアン、ありがとう』という感謝の言葉がパブリックな場所に投稿されますし、自分がどれだけ貢献したかもわかるので、ソフトウェアが公開できた時は嬉しいし、仕事自体にも充実感があります。また、自分のコミットを通じて、直接頼ってくれる人も出てきました。」

「仲間からは、Cordovaの定期リリースを安定して実現するという意味で“Release Train”と呼ばれたりしています。

これには自分の今いる環境が関係していて、全員がボランティアでの開発なので、自分の仕事の空き時間にCordova開発を行っているのですが、Monacaを開発しているアシアルでは、Cordovaに貢献していいよ、という時間を与えらえられているため、仕事の中で対応できるんです。このアシアルの環境のおかげで、Cordovaへ大きく貢献できたと感じています。」

これからもまだまだ成長していきたいと語るブライアン。

「新しいものに挑戦したい!どんどん新しい技術、新しい言語が出てくるので、新しいフレームワークを作ったり、Cordovaのようにパブリックに貢献していきたいですね。

エンジニアに貢献できるツール、そして、多くのユーザーに認知されて使われるツールを生み出していきたいです。」

▼インタビューにも登場するアシアルのメンバーはこちらでご覧ください。https://www.asial.co.jp/company/member/

▼アシアルでは一緒に働くメンバーを募集しています。
https://www.asial.co.jp/recruit/

テクノロジーで人や社会の「できること」を広げる仲間を募集しています。 カジュアル面談で情報交換からはじめませんか?