1
/
5

FLATが考える、アプリケーションエンジニアに必要なスキルと学習方法

フロントエンドの受託制作会社である株式会社FLAT。2016年創業時からWebサイト制作だけではなく、Webアプリケーション開発の案件も受託しています。

今回はアプリケーションエンジニアで、エンジニアチームのリーダーも務める伊藤さん、Webアプリの実装を担当するエンジニアである佐久間さん、飛田さんの3名にインタビュー。アプリケーションエンジニアとして働くためにはどのようなスキルが必要で、そのスキルをどのように身につければいいのか、詳しく伺いました。

伊藤 将貴:アプリケーションエンジニア/プレイングマネージャー
ReactやNext.jsを用いたWebアプリケーションのフロントエンド開発業務に従事。Web制作出身で、FLATのフロントエンド開発全般のリードとエンジニアのマネジメントも担当。最近はフロントエンドに限らずクラウドの活用やバックエンドにも興味があります。

佐久間:エンジニア
数年間SIerでシステムエンジニアとして勤務。その後、自分で手を動かしながら技術力を高めたいと思い、2022年FLATへ入社。

飛田:フロントエンドエンジニア
2000年生まれ。2023年にFLATに入社。ドラクエとFFが好き。主にWebサイトとWebアプリの実装を担当しています。

フロントエンドの知識だけではなく、
バックエンドへの理解やソフトスキルも必要

ーーはじめに、FLATのアプリエンジニアチームではどのような案件を行っているのか教えてください。

伊藤:FLATでは創業時からWebアプリ開発を行っており、2021年からはReactやNext.jsを使った開発も開始。バックオフィス業務のアプリや電気自動車の充電サービスの管理者向けWebアプリ、web3の技術を使ったモバイルゲームなどを開発してきました。開発だけではなく保守・運用にも携わらせていただいているので、年単位のプロジェクトがほとんどです。基本的にクライアント企業様のチームに参加させていただき、フロントエンド開発を行っています。最近はReactやNext.jsといった技術を活用して、開発にあたることが多いです。

ーーアプリケーションエンジニアとして働くために必要な知識やスキルはどのようなものだとお考えですか?

伊藤:まず技術面で3つあります。1つ目は、フレームワークやライブラリに関する深く正しい知識があること。昨今、Webアプリのフロントエンド開発の現場では、フレームワークをベースに、色々なライブラリを活用して開発を進めていくことが主流です。そのため、実践で使えるレベルでフレームワークやライブラリの知識がないと、案件に携わることは難しいと思います。

2つ目はサーバーサイドやインフラなどフロンエンド以外の領域に関する知識。もちろんサーバーサイドやインフラの実装もできれば一番ですが、実装はできなくても少なからず知識があると、非常に役立ちます。サーバーサイドやインフラの領域では、積極的にクラウドが使われる傾向があるので、クラウドに関する知識があるとなお良いと思います。

3つ目は、開発のプラットフォームに関する知識。FLATはWebの案件がほとんどなのですが、スマホアプリの開発も一部行っています。React Nativeを使って開発を行っているので、そこへの知識も必要だと思います。

エンジニア:伊藤

ーーフレームワークやライブラリ、サーバーサイド、インフラ、プラットホームとフロントエンドに関わらずさまざま知識やスキルが必要だと。

伊藤:はい。あと技術だけではなく、総合的なソフトスキルも必要だと思います。具体的には3つあります。1つ目は読解力と文章力、いわゆるテキストコミュニケーション能力です。エンジニアはお客様と口頭でやり取りをするよりも、テキスト上でやり取りをする機会の方が多いです。そのため、仕様書を正しく読むための読解力、伝えたいことをテキストで漏れなく正しく伝えるための文章力が必要です。

2つ目は主体性。仕様書だけでは不足している情報もあるため、情報をこちらから取りにいかなければいけない場面もあります。与えられた指示に従っているだけでは、アプリ開発のフロントエンドエンジニアは務まらないと思います。

3つ目はお客様の業界に対して興味関心を持つこと。どの業界のどのような業務で使われるのか、どのようなエンドユーザーが使うのか。これらを知ろうとしなければ、より良いサービスは開発できません。自分たちが開発しているサービスの背景にまで興味関心を持つことが重要です。

飛田:総合的なソフトスキルは、Webアプリ開発だけに関わらず、Webサイト制作を行う上でも大事なことだと思います。また、将来的にエンジニア以外の職種に就いたとしても活きてくるものですね。

佐久間:私も総合的なソフトスキルはとても大事だと思っています。プロジェクトを円滑に進めるためには、お客様や同じプロジェクトのチームメンバーと必ず関わることになるので、技術力だけを磨いていてはいけないなと痛感しています。

伊藤:エンジニアは技術にフォーカスしがちだと思うのですが、技術力のベースになるのは総合的なソフトスキルです。仕様書を正しく読めたり、お客様と円滑なコミュニケーションがとれたりして初めて、技術力が活きてきます。

それにソフトスキルがあれば、技術力が足りない部分をカバーすることもできます。知らない、わからないことを誰かに聞く。一人では解決できないエラーをチームメンバーと考える。ソフトスキルがあれば、そのようにして円滑にプロジェクトを進められます。

大切なのは、どうすればより良い仕事ができるのかを
考え続ける意思

ーーどのようにすれば技術力やソフトスキルが身につくと思いますか?

伊藤:まず技術面に関しては、3つあります。1つ目は、公式ドキュメントをきちんと理解すること。ただ読むだけではなく、正しく理解することが大切です。

公式ドキュメントには推奨する実装方法やサンプルが載っています。それをただ読むだけではなく、自分で触ってみてどのような挙動をするのかを確認し、どのように実務で使えるのかを理解することが大事だと思います。

2つ目は、自分より技術力が高い人に教えてもらうこと。積極的にコミュニケーションを取って、業務上のアドバイスや学習の指標を教えてもらい、それを素直に受け取ることが大事です。

3つ目は、業務外で勉強をすること。例えばフロントエンドの業務ばかり担当していると、どうしてもサーバーサイドやインフラに触れる機会はありません。そういった業務で触れない領域に対しても自分で学んでみる、触ってみる姿勢はエンジニアには欠かせないと思います。

飛田:私は勉強する優先順位をつけることがとても大事だと思います。フロントエンドは技術トレンドの移り変わりが激しい領域です。スピード感を持って学習していかないと技術の進歩に置いていかれてしまいます。伊藤さんがおっしゃるように技術力が高い人に、学習の指標をアドバイスいただくのが最も効率的だと思います。

佐久間:私も自分よりも技術力が高い人に積極的に教えてもらうことはとても大事だと思っています。自分だけで勉強していると、誤って理解をしてしまったり、効率の悪い学習方法をしてしまったりするので。躓いたときは早めに技術力が高い人に聞くのが一番だと思います。

伊藤:これは技術力だけではなく、ソフトスキルを身につける上でも重要なことですが、どうすればより良い仕事ができるのかを考え続ける姿勢を常に持っておくといいと思います。

より良いサービスを作るために必要な技術力は何か。もっと円滑に進めるためにはコミュニケーションの取り方をどう変えればいいのか。定期的に自分自身の仕事の仕方を振り返り改善点を考えて、妥協せず取り組んでいくことで技術力もソフトスキルも向上します。

エンジニアが裁量を持って、成長環境を作っていける

ーーFLATはアプリケーションエンジニアに必要なスキルを身につけられる環境だと思われますか?

飛田:私はエンジニアとして未経験でFLATに入社をしているのですが、必要なスキルを身につけられている実感があります。FLATには勉強会やLT大会、1分間スピーチなど、業務時間内でインプット・アウトプットできる場がたくさんあります。そういった場を活用することで、技術面はもちろん、ソフトスキルの向上も図れていると思います。

エンジニア:佐久間

佐久間:インプット・アウトプットの場が多いというのは私も感じています。またそういった場を自分たちで企画し、実行できる点もFALTのいいところですね。スキルを身につけるために必要なことがあれば、声を上げられ、自分たちで制度や取り組みを行っていけます。

伊藤:確かに環境を自分たちの手で変えていけるというのは、FLATの大きな魅力ですね。業務だけではなく会社全体の制度や取り組みに関しても、エンジニアに裁量を持たせてくれているので、成長できる環境を自分たちで構築していくことができます。

佐久間:会社全体に教え合い学び合う文化が醸成されていますよね。だからこそ、声を上げやすいですし、相談もしやすいのだと思います。初歩的なことを聞いてもみなさん快く丁寧に教えてくれます。またネガティブな発言をする人はいません。基本的に前向きに捉えて背中を押してくれる人ばかりなので、学習するモチベーションも維持しやすいなと感じています。

飛田:FLATに入社してから、成長したいというモチベーションが切れたことは一切ありません。いつもワクワクしています。成長するために必要な場は提供されていますし、足りなければ自分たちで作っていくこともできます。それぞれの強みをお互いに共有し合って、組織全体で成長していこうという文化が醸成されている会社です。

ーー全員で成長していこうとする会社なんですね。

飛田:また伊藤さんのような技術力もソフトスキルも高い先輩エンジニアがいることも、私のような若手にとってはありがたいですね。ロールモデルがいないと、「成長しよう」と漠然と思うだけになってしまって、行動に移せないことも出てきます。

伊藤さんが話してくださったように、一人前のフロントエンドエンジニアに必要なスキルが明確になっているので、モチベーションも維持しやすいのかなと思います。

佐久間:どのように学習を進めていけばいいかというロードマップや一人前のフロントエンジニアに必要なスキルをまとめたマンダラートなどが社内Wikiに公開されています。常にそこを確認しながら、成長するための学習をしていけるので、迷うことがありません。

伊藤:ロードマップやマンダラートなどは業界の流れに応じて変えなければいけないものですし、それに合わせて制度や取り組みも改善し続けています。

フロントエンド領域では、昨今新しいフレームワークやライブラリが次々と出てきています。フロントエンドでできることがかなり広がってきているのです。

そういう意味でも、FLATのように現場で実装に携わっているエンジニアが会社の体制を変えていけるのは、非常に大きな魅力だと思います。

フロントエンドに軸足を置いて
活動したいエンジニアには最適な環境

ーーエンジニアファーストであり、自分たちで成長していける環境を構築できるわけですね。FLATでは、アプリケーションエンジニアはどのようなキャリアパスを描けると思われますか?

伊藤:幅広いキャリアパスがあると思います。自分のようにフロントエンドに主軸を置きつつ、フルスタックエンジニアとして活動することもできますし、将来的にはPMやPdMを目指すことも可能です。

飛田:私もフロントエンドに軸足を置いて、他の領域へ挑戦していきたいと考えています。フロントエンドエンジニアはWebデザイナーやバックエンドエンジニア、ディレクター、クライアントとさまざまなポジションの方と関わる職種です。幅広い領域の知見が得られるため、フロントエンドに軸足を置いておけば、将来的にも融通が効きやすいのではと考えています。

エンジニア:飛田

佐久間:私も幅広いキャリアパスが描けると思います。最近はAIが発達してきているので、特にソフトスキルの重要性がより高まってきていると感じています。技術力はもちろん大切ですが、ソフトスキルを成長させておけば、AIに代替されず将来的にも様々な領域でエンジニアとして活動できるはずです。

ーー最後に、どのような人がFLATに合うか教えてください。

伊藤:FLATの最大の特徴は、プロジェクトでもプロジェクト外でも、ナレッジを共有し合い、学び合えることです。色々なバリュエーションのWebサービスやWebアプリの開発に携われますし、自分が触れたことがない領域のことをチームメンバーから教えてもらえる機会もあります。スキルアップが確実にできる環境なので、フロントエンドエンジニアに軸足を置きつつ、活動していきたいという方はぜひ!

佐久間:FLATはハードスキルとソフトスキルの両方を伸ばしたいというエンジニアには最適な会社です。スキルを伸ばすために必要な体制は自分たちで作っていくことができるので、自分達でより良い環境を作っていきたいというエンジニアの方にはマッチすると思います。

飛田:コーディングが好き、最新技術が好きという人からしたら、ワクワクするような仕事がたくさんあると思います。情報を共有し合いながら成長できる人と一緒に働きたいです。

FLATは、一緒に働くメンバーを募集しています

募集職種の確認・応募はこちらの公式サイトやWantedlyで行っていただけます。

フロントエンドを一生の仕事にしたい方、アプリ開発を行いたい方、エンジニアとして技術を高めたい方、FLATに少しでも興味を持っていただけた方は、ぜひお話しましょう。


株式会社FLATでは一緒に働く仲間を募集しています
1 いいね!
1 いいね!
今週のランキング
株式会社FLATからお誘い
この話題に共感したら、メンバーと話してみませんか?