若手社員が活躍する、スマホ向け組込みアプリの開発現場
家電製品や工業機器などの製品には、それを動かすためのプログラムが組み込まれています。組込み開発エンジニアのニーズは年々高まっており、その中でもスマホ向けアプリの分野は今後大きく伸びていくことが予想されます。
今回は当社でスマホ向けアプリ開発エンジニアとして活躍する神山(こうやま)さん、叶(よう)さんに、お話を伺いました。
今回は当社でスマホ向けアプリ開発エンジニアとして活躍する神山(こうやま)さん、叶(よう)さんに、お話を伺いました。
エンベデッドソリューション事業部
叶 志涛、神山 恭祐
スマホ向けアプリ開発とは
――まず、スマホ向けアプリ開発とはどんなものか教えてください。
神山さん:
当社ではスマホ向けアプリ開発のことを、Flutterアプリ開発と言っています。FlutterはGoogleが開発したアプリ開発のためのフレームワークです。Flutterを利用すれば、iOSとAndroid両方のアプリを同じ開発環境、かつ同じ言語で作成可能です。
もともとスマホ向けアプリは特定の端末に向けて開発するもので、Flutterを利用する前はiOSとAndroid専用の開発キットを準備し、iOS用、Android用に2つアプリを作っていました。
Flutterを使えば作成した1つのコードをiOS用とAndroid用に使い回せるので、メンテナンスや仕様変更の作業も一度で済みます。開発者の負担や制作コストを大幅に削減できるうえ、リリースのタイミングをiOS・Androidで合わせやすく、デバッグもしやすいなどの特徴があります。開発側にとっても、アプリ開発を依頼するお客様にとってもメリットが大きいといえます。
―iOSとAndroidは、開発する上でどのような違いがありますか?
叶さん:
パソコンでいうWindows製とMac製の違いのように捉えると分かりやすいかと思います。iOSとAndroidはスマホ向けのOSという共通点はありますが、開発環境、UI、フレームワーク、使っているライブラリなどがそれぞれ異なります。
―おふたりがスマホ向けアプリの開発に携わることになったきっかけを教えてください。
当社ではスマホ向けアプリ開発のことを、Flutterアプリ開発と言っています。FlutterはGoogleが開発したアプリ開発のためのフレームワークです。Flutterを利用すれば、iOSとAndroid両方のアプリを同じ開発環境、かつ同じ言語で作成可能です。
もともとスマホ向けアプリは特定の端末に向けて開発するもので、Flutterを利用する前はiOSとAndroid専用の開発キットを準備し、iOS用、Android用に2つアプリを作っていました。
Flutterを使えば作成した1つのコードをiOS用とAndroid用に使い回せるので、メンテナンスや仕様変更の作業も一度で済みます。開発者の負担や制作コストを大幅に削減できるうえ、リリースのタイミングをiOS・Androidで合わせやすく、デバッグもしやすいなどの特徴があります。開発側にとっても、アプリ開発を依頼するお客様にとってもメリットが大きいといえます。
―iOSとAndroidは、開発する上でどのような違いがありますか?
叶さん:
パソコンでいうWindows製とMac製の違いのように捉えると分かりやすいかと思います。iOSとAndroidはスマホ向けのOSという共通点はありますが、開発環境、UI、フレームワーク、使っているライブラリなどがそれぞれ異なります。
スマホ向けアプリ開発を始めたきっかけ
―おふたりがスマホ向けアプリの開発に携わることになったきっかけを教えてください。
叶さん:
私はもともとフィーチャーフォン(ガラケー)のアプリの開発を担当していたんです。だんだんスマホの需要が高まっていたことから、スマホ向けアプリ開発に興味を持ち、今の仕事に移りました。
―スマホ向けアプリの開発に取り組むうえで、目標にしていることはありますか?
神山さん:
チームの筆頭となってメンバーを引っ張っていけるような存在になりたいです。その思いで、日々研究開発の技術を磨いています。
叶さん:
仕事をする中で、既存のやり方に限界を感じる場面がありました。もっと自分に知識があれば、お客様ときちんとコミュニケーションを取ってアプリ開発を進められると思っています。
私はもともとフィーチャーフォン(ガラケー)のアプリの開発を担当していたんです。だんだんスマホの需要が高まっていたことから、スマホ向けアプリ開発に興味を持ち、今の仕事に移りました。
―スマホ向けアプリの開発に取り組むうえで、目標にしていることはありますか?
神山さん:
チームの筆頭となってメンバーを引っ張っていけるような存在になりたいです。その思いで、日々研究開発の技術を磨いています。
叶さん:
仕事をする中で、既存のやり方に限界を感じる場面がありました。もっと自分に知識があれば、お客様ときちんとコミュニケーションを取ってアプリ開発を進められると思っています。
1年間でアプリ開発の技術を磨き、後進のために手順書を作成
―どれくらいの期間でスマホ向けアプリ開発の技術を習得されたのですか?
神山さん:
私たちは2023年4月に配属されてから2024年3月までの1年間で、スマホ向けアプリ開発の技術を学びました。それと並行して取り組んだのが手順書の作成です。その背景には、これから入ってくる新人さんがすぐに既存メンバーと同じレベルの仕事ができるようにという思いがありました。
そのため特に自分たちがつまずいた部分について、どんなエラーだったのか、どのようにしてエラーを解消したのかなど、細かく記載するようにしました。
叶さん:
そうですね。手順書を作り、私たちがやっている開発を標準化して後進育成に役立つものを作りたいと思いました。新人さんが配属されるとまず手順書を渡して、先輩の指導無しで環境構築や簡単な開発を進めてもらうんです。その中で発生した問題があれば、さらに手順書に反映して……と、随時内容をブラッシュアップしています。
―それは良い取り組みですね。ちなみに、これまでで一番困ったエラーはどんなものですか?
神山さん:
社内ネットワークのセキュリティ制約の都合で、ソフトをインストールできないことや、使いたいソフトの設定をうまく調整しないと処理が通らず処理に手間がかかることがありました。
叶さん:
私は開発前の環境構築の段階が一番大変でした。しっかりと手順書は作っていたものの、Flutterを自社の環境に置き換えると上手くいかないことがあり、苦労しましたね。
―どのように開発技術を磨いていったのですか?
神山さん:
Flutterの書籍を何冊か読んで知識をインプットしました。毎日定例で先輩や上司に相談できるタイミングがあるので、その時に詰まっている悩みを相談して、方向性の回答をいただけたので疑問をそのままにせずに進めました。
叶さん:
開発計画の段階で、過去に自分が作ったシステムを活用できないかと思い、先輩や上司に相談しました。そのおかげで、無事に活用を実現できました。
―先輩からのアドバイスで印象に残っていることはありますか?
神山さん:
開発の進め方を相談した時に「神山君が思うようにやってみなよ」と背中を押してもらう場面が多くありました。自分は下っ端の存在なのに、これだけ自由にいろいろなことにチャレンジできるんだと嬉しく思ったのを覚えています。
叶さん:
「過去に作ったシステムを活用したとして、その後に何をすべきかのステップについても考えてみては?」という気づきをいただき、視座を高めることができました。そのアドバイスが、活用したシステムのライブラリを作って社内で標準化する取り組みのきっかけとなりました。
―アプリ開発に際して悩んだことはありますか?
神山さん:
Flutterを使って1つのソースコードで構築していけるのですが、その環境を構築するまでが大変でした。iOS、Androidのバージョンに対応できるツールのバージョンが決まっていて、そこに新しくFlutterが乗っかるので、それらを加味した上でどちらにも使える環境構築を作る作業に一番悩みました。
例えばカメラが使える機能を取り込む際、Flutter上では使えることになっているのに実際ではAndroidで使えないこともあり、うまくいくかを試す作業には時間がかかりましたね。
―その悩みはどのようにした解消したのでしょうか?
神山さん:
ひたすら調べる!検索する!ですね。同じような悩みの解決策を多くの人が提示してくれているので、それを片っ端から試してみました。
アプリ開発をするのは初めてだったので、エラーがどのレベルで発生しているのか分からなくて。先輩に見て頂くと思いもよらない根本的なところで間違いが見つかったことがありました。また、先輩からは問題に対してどの程度ウェイトをかけるべきかというバランスも教わりました。
―叶さんはアプリ開発で悩んだことはありますか?
私たちは2023年4月に配属されてから2024年3月までの1年間で、スマホ向けアプリ開発の技術を学びました。それと並行して取り組んだのが手順書の作成です。その背景には、これから入ってくる新人さんがすぐに既存メンバーと同じレベルの仕事ができるようにという思いがありました。
そのため特に自分たちがつまずいた部分について、どんなエラーだったのか、どのようにしてエラーを解消したのかなど、細かく記載するようにしました。
叶さん:
そうですね。手順書を作り、私たちがやっている開発を標準化して後進育成に役立つものを作りたいと思いました。新人さんが配属されるとまず手順書を渡して、先輩の指導無しで環境構築や簡単な開発を進めてもらうんです。その中で発生した問題があれば、さらに手順書に反映して……と、随時内容をブラッシュアップしています。
―それは良い取り組みですね。ちなみに、これまでで一番困ったエラーはどんなものですか?
神山さん:
社内ネットワークのセキュリティ制約の都合で、ソフトをインストールできないことや、使いたいソフトの設定をうまく調整しないと処理が通らず処理に手間がかかることがありました。
叶さん:
私は開発前の環境構築の段階が一番大変でした。しっかりと手順書は作っていたものの、Flutterを自社の環境に置き換えると上手くいかないことがあり、苦労しましたね。
―どのように開発技術を磨いていったのですか?
神山さん:
Flutterの書籍を何冊か読んで知識をインプットしました。毎日定例で先輩や上司に相談できるタイミングがあるので、その時に詰まっている悩みを相談して、方向性の回答をいただけたので疑問をそのままにせずに進めました。
叶さん:
開発計画の段階で、過去に自分が作ったシステムを活用できないかと思い、先輩や上司に相談しました。そのおかげで、無事に活用を実現できました。
―先輩からのアドバイスで印象に残っていることはありますか?
神山さん:
開発の進め方を相談した時に「神山君が思うようにやってみなよ」と背中を押してもらう場面が多くありました。自分は下っ端の存在なのに、これだけ自由にいろいろなことにチャレンジできるんだと嬉しく思ったのを覚えています。
叶さん:
「過去に作ったシステムを活用したとして、その後に何をすべきかのステップについても考えてみては?」という気づきをいただき、視座を高めることができました。そのアドバイスが、活用したシステムのライブラリを作って社内で標準化する取り組みのきっかけとなりました。
―アプリ開発に際して悩んだことはありますか?
神山さん:
Flutterを使って1つのソースコードで構築していけるのですが、その環境を構築するまでが大変でした。iOS、Androidのバージョンに対応できるツールのバージョンが決まっていて、そこに新しくFlutterが乗っかるので、それらを加味した上でどちらにも使える環境構築を作る作業に一番悩みました。
例えばカメラが使える機能を取り込む際、Flutter上では使えることになっているのに実際ではAndroidで使えないこともあり、うまくいくかを試す作業には時間がかかりましたね。
―その悩みはどのようにした解消したのでしょうか?
神山さん:
ひたすら調べる!検索する!ですね。同じような悩みの解決策を多くの人が提示してくれているので、それを片っ端から試してみました。
アプリ開発をするのは初めてだったので、エラーがどのレベルで発生しているのか分からなくて。先輩に見て頂くと思いもよらない根本的なところで間違いが見つかったことがありました。また、先輩からは問題に対してどの程度ウェイトをかけるべきかというバランスも教わりました。
―叶さんはアプリ開発で悩んだことはありますか?
叶さん:
Flutterは汎用性があるからこそ、計画段階で他社とどう差別化するか、強みをどこに置くかを悩みました。実装したい機能でまだFlutterにないものがあれば独自のライブラリとして提供し、東芝情報システムの独自性を持たせました。
Flutterは汎用性があるからこそ、計画段階で他社とどう差別化するか、強みをどこに置くかを悩みました。実装したい機能でまだFlutterにないものがあれば独自のライブラリとして提供し、東芝情報システムの独自性を持たせました。
風通しの良い社風だから仕事がやりやすい
東芝情報システム株式会社は、社員一人ひとりのアイディアをカタチにするイノベーションの手法に長けた会社です。神山さん、叶さんが手がけた事例にも、それが表れています。
―おふたりのアイディアが実現した事例を教えてください。
―おふたりのアイディアが実現した事例を教えてください。
神山さん:
自分たちが苦労したバージョン合わせの作業を簡略化しようと思い、あるアプリを作ったんです。これはFlutterの環境が端末で正常に動作するかチェックするアプリで、当初は自分たちが直面した課題を解決するために作ったものでした。
実際に使ってみると、開発前の段階でお客様にも「この端末なら機能を実装できますよ」と提案しやすくなり、開発難易度も可視化できるなど思いがけないメリットが多くて。今、特許を出願しているところです。
叶さん:
私は社内に共有エリアを作って、自分が開発に使った資料をアップし、誰でもアクセスできるような仕組みづくりのアイディアを出しました。実際に、それを実現することができました。
―アイディアが叶えられた要因はどこにあると感じていますか?
神山さん:
毎日「定例」といって、どこかの時間でメンバーが集まって情報共有をする場があるんです。開発の仕事というと各自がディスプレイに向かって黙々と作業をするイメージがあるかもしれませんが、うちの会社はちょっと違っていて、割とワイワイガヤガヤしています(笑)
それに毎日定例でコミュニケーションを取っているから、先輩や上司との距離もすごく近いんです。ちょうど席が近いので、ちょっとした悩みを部長に相談することもあるんですよ。
―一般的に、上長に直接相談するというのはハードルが高そうに思えます。それも東芝情報システムの社風なのでしょうか。
自分たちが苦労したバージョン合わせの作業を簡略化しようと思い、あるアプリを作ったんです。これはFlutterの環境が端末で正常に動作するかチェックするアプリで、当初は自分たちが直面した課題を解決するために作ったものでした。
実際に使ってみると、開発前の段階でお客様にも「この端末なら機能を実装できますよ」と提案しやすくなり、開発難易度も可視化できるなど思いがけないメリットが多くて。今、特許を出願しているところです。
叶さん:
私は社内に共有エリアを作って、自分が開発に使った資料をアップし、誰でもアクセスできるような仕組みづくりのアイディアを出しました。実際に、それを実現することができました。
―アイディアが叶えられた要因はどこにあると感じていますか?
神山さん:
毎日「定例」といって、どこかの時間でメンバーが集まって情報共有をする場があるんです。開発の仕事というと各自がディスプレイに向かって黙々と作業をするイメージがあるかもしれませんが、うちの会社はちょっと違っていて、割とワイワイガヤガヤしています(笑)
それに毎日定例でコミュニケーションを取っているから、先輩や上司との距離もすごく近いんです。ちょうど席が近いので、ちょっとした悩みを部長に相談することもあるんですよ。
―一般的に、上長に直接相談するというのはハードルが高そうに思えます。それも東芝情報システムの社風なのでしょうか。
神山さん:
うちの会社は先輩や上司の方がみなさんフランクな感じで接してくれるんです。上の方たちが話しやすい雰囲気を作ってくれているからこそ、毎日の定例でも発言しやすく、悩みをすぐに解消できます。普段のコミュニケーションが活発だから、仕事を進めやすいというのは確実にありますね。
叶さん:
そうですね。知りたいことを聞けば、親身に教えてくれます。先ほどお話ししたように、私が過去に作成したシステム活用を実現できたのは、先輩からのサポートがあったからこそだと考えています。
うちの会社は先輩や上司の方がみなさんフランクな感じで接してくれるんです。上の方たちが話しやすい雰囲気を作ってくれているからこそ、毎日の定例でも発言しやすく、悩みをすぐに解消できます。普段のコミュニケーションが活発だから、仕事を進めやすいというのは確実にありますね。
叶さん:
そうですね。知りたいことを聞けば、親身に教えてくれます。先ほどお話ししたように、私が過去に作成したシステム活用を実現できたのは、先輩からのサポートがあったからこそだと考えています。
イノベーションの源泉!社員のアイディアを大切にする取り組み
東芝情報システムでは、2024年7月に新たな取り組みをスタートしました。それは全社員参加の「アイディア出し」。その目的のひとつが、過去の商材や活用できていないことに対しての掘り起こしです。
―アイディア出しには参加されたのですか?
叶さん:
はい。自分のアイディアを上司に見てもらって、企画書にして提出しました。優秀なアイディアには賞金が出るそうです。
―アイディア出しには参加されたのですか?
叶さん:
はい。自分のアイディアを上司に見てもらって、企画書にして提出しました。優秀なアイディアには賞金が出るそうです。
神山さん:
社長も4個ぐらいアイディアを出したと聞いています。ひとりで10個ものアイディアを出す人もいたそうです。カジュアルなアイディアベースの提案で良いというのも、参加しやすいなと思います。
―東芝情報システムは離職率の低さも特徴的ですね。どのような部分に働きやすさを感じていますか?
※厚生労働省の令和4年雇用動向調査結果の概況によると情報通信業の離職率は11.9%。それに対し、東芝情報システムの離職率は1.3%と、業界平均の1割程度。
神山さん:
上の人とも話しやすい風通しの良さ、それに若手もチャレンジできる機会をたくさんもらえるところです。
それに、うちの会社には「ワークアサインメント」という取り組みがあります。これは実際の仕事を通して「もっと効率化したい」「ベンチマークを見つけたい」と思ったテーマを研究課題として調査や分析を行い、報告書にまとめて発表するものです。座学研修ではなく、こういった学びの機会をもらえることも働きやすさにつながる部分だと感じます。
社長も4個ぐらいアイディアを出したと聞いています。ひとりで10個ものアイディアを出す人もいたそうです。カジュアルなアイディアベースの提案で良いというのも、参加しやすいなと思います。
―東芝情報システムは離職率の低さも特徴的ですね。どのような部分に働きやすさを感じていますか?
※厚生労働省の令和4年雇用動向調査結果の概況によると情報通信業の離職率は11.9%。それに対し、東芝情報システムの離職率は1.3%と、業界平均の1割程度。
神山さん:
上の人とも話しやすい風通しの良さ、それに若手もチャレンジできる機会をたくさんもらえるところです。
それに、うちの会社には「ワークアサインメント」という取り組みがあります。これは実際の仕事を通して「もっと効率化したい」「ベンチマークを見つけたい」と思ったテーマを研究課題として調査や分析を行い、報告書にまとめて発表するものです。座学研修ではなく、こういった学びの機会をもらえることも働きやすさにつながる部分だと感じます。
叶さん:
私はズバリ、ワーク・ライフ・バランスが取りやすいところです。会社カレンダーでは年間休日が127日もあって、例えば休日と祝日が重なるときは金曜や月曜が休みになり、国民の休日がない月でも毎月3連休があるんです。もちろん有給休暇は自由に取れるのですが、なかなか使い切れないほど、もとから休みが多いんですよ(笑)。
私はズバリ、ワーク・ライフ・バランスが取りやすいところです。会社カレンダーでは年間休日が127日もあって、例えば休日と祝日が重なるときは金曜や月曜が休みになり、国民の休日がない月でも毎月3連休があるんです。もちろん有給休暇は自由に取れるのですが、なかなか使い切れないほど、もとから休みが多いんですよ(笑)。
今後の目標について
―これから叶えていきたいことがあったら教えてください。
神山さん:
これからは開発リーダーになるので、先輩がやってきたことを見習ってチームを回せるようにしたいです。これまではがむしゃらに自分の開発技術を伸ばすことに注力してきましたが、これからは後輩という存在ができます。自分のスキルアップに加えて、後輩たちがしっかり技術を学べるような環境づくりもサポートしていきたいと思っています。
叶さん:
スマホ向けアプリで培った知識を、別の分野にも活かしていきたいです。
―入社を検討している学生さんへのメッセージをお願いいたします。
これからは開発リーダーになるので、先輩がやってきたことを見習ってチームを回せるようにしたいです。これまではがむしゃらに自分の開発技術を伸ばすことに注力してきましたが、これからは後輩という存在ができます。自分のスキルアップに加えて、後輩たちがしっかり技術を学べるような環境づくりもサポートしていきたいと思っています。
叶さん:
スマホ向けアプリで培った知識を、別の分野にも活かしていきたいです。
―入社を検討している学生さんへのメッセージをお願いいたします。
神山さん:
以前新入社員の方と話した時に、インターンでうちに来た時に社内の雰囲気が良かったのが入社の決め手だったと聞きました。開発らしくない、和気あいあいとした雰囲気の中で、自分らしくチャレンジできる環境です。
それにうちには技術屋がたくさんいるので、確かな技術力が身に付くこともお約束します。開発の仕事に興味がある方、新しいことを学んで力をつけていきたい方はぜひ当社へお越しください!私たちがその土台を用意してお待ちしています。
叶さん:
ワーク・ライフ・バランスが取れる会社なので、ぜひ一緒に働きましょう。
スマホ向けアプリに興味があり、学びたいという意欲がある方、新しいことに挑戦したいと思っている方にはぴったりの環境です。私も張り切ってサポートします!
以前新入社員の方と話した時に、インターンでうちに来た時に社内の雰囲気が良かったのが入社の決め手だったと聞きました。開発らしくない、和気あいあいとした雰囲気の中で、自分らしくチャレンジできる環境です。
それにうちには技術屋がたくさんいるので、確かな技術力が身に付くこともお約束します。開発の仕事に興味がある方、新しいことを学んで力をつけていきたい方はぜひ当社へお越しください!私たちがその土台を用意してお待ちしています。
叶さん:
ワーク・ライフ・バランスが取れる会社なので、ぜひ一緒に働きましょう。
スマホ向けアプリに興味があり、学びたいという意欲がある方、新しいことに挑戦したいと思っている方にはぴったりの環境です。私も張り切ってサポートします!