モバイルからインフラまで─ソフトバンクの技術者魂を探る

ソフトバンクグループを支えるIT技術者の素顔

新たなチャレンジを求めてiOSアプリの開発に乗り出す

2008年7月に発売された「iPhone 3G」を皮切りに、日本におけるスマートフォンブームの立役者として業界をリードし続けているのがソフトバンクモバイルです。現在はLTE(Long Term Evolution)網の整備に積極的に取り組み、モバイル環境でのインターネット活用を支えるインフラを提供し続けています。

そのソフトバンクモバイルにおいて、社内のさまざまな部門からの要望に応じて多種多様なシステムを開発しているのが兵藤朋徳氏と大隅正志氏が在籍しているチームです。彼らの開発チームでは、最近になってiPhone/iPad向けのソフトウェアを開発する機会が増え、iPhone/iPadを使った採用支援システムや来客管理システム、さらにはAppStoreで公開している『お父さんユーティリティアプリ』図1などの開発に携わっています。

図1 ソフトバンクモバイルが提供している『お父さんユーティリティアプリ』
図1 ソフトバンクモバイルが提供している『お父さんユーティリティアプリ』

このようにiOSをターゲットとしたアプリを開発するようになった背景について聞くと、兵藤氏は次のように答えました。

「情報システム部門の中で働いていると、メインは業務系のシステムなのでiPhoneアプリを作る機会はそれほど多くないと思うんですね。ただ、それだと自分が対応できる技術の範囲が広がっていきません。また、そもそもソフトバンクモバイルは自分たちでiPhoneを販売しているわけですから、iOS向けのアプリを作れるようになっておくべきだろうという考えもありました。そこで、マーケティング部門が外注して作っていたiPhoneアプリを自分たちで開発したり、あるいは社内システムを構築するときにiPhone/iPadを取り入れたりしながら、iOSでのアプリ開発のノウハウを蓄えてきたというわけです。なので必然性があったというよりも、自分たちでiOS用アプリを開発してみたいというところがスタートですね」⁠兵藤氏)

最近では社内システムのクライアントとしてiPhoneやiPadが使われるケースも増えており、それに伴ってiOS用アプリの開発ニーズも高まっています。ただ実際に開発する際には、言語が大きな壁になると兵藤氏は話します。

「ものすごく単純ですが、そもそもObjective-Cで開発できる技術者が少ないですよね。特に業務系システムを開発している場合、言語としてはやっぱりJavaが多くて、そもそもC言語を使った経験があるエンジニアは多くありません。そこがまず大きな壁かなと思っています」⁠兵藤氏)

写真1 兵藤朋徳氏
写真1 兵藤朋徳氏

iOSでのネイティブアプリの開発はObjective-Cが基本となるため、まずはこれを習得する必要があるというわけです。ソフトバンクモバイルにおいても、Objective-Cに精通した開発者がいたわけではありませんでした。

「ソフトバンクモバイルでは、やっぱりJavaを使った開発が多いですね。一部にVisual Basicなどの.NET系のものもありますが、割合としてはJavaが圧倒的です。ただ今のチームは、あまり言語に対する抵抗がなくて、とりあえずやってみようかという感じでObjective-Cを使い始めました」⁠大隅氏)

「何かの言語の基本がわかっていれば、あとは応用でどうにでもなるという考え方ですね。なので、私たち自身はObjective-Cにあまり抵抗はなかったです」⁠兵藤氏)

ソフトバンクのエンジニアが語るiOSアプリ開発のコツ

iOSが関わるプロジェクトをいくつも経験してきた兵藤氏と大隅氏は、実際に開発する中でどういった点に難しさを感じているのでしょうか。

「特にWebアプリケーションとして作る場合ですが、リッチなユーザインタフェースを実現しようとすると、現状のiPhoneやiPadはPCほどのパフォーマンスがあるわけではないので、重くなってしまったりパフォーマンスが低下したりします。なので、iPhoneやiPadの処理能力を考えながら作っていくことは重要だと思います」⁠大隅氏)

兵藤氏はユーザからの要望に対応することの大変さを語ります。

「通常のシステム開発の場合、まず要件定義があって設計、開発と進み、それからテストと受入試験といった流れがありますよね。規模によってそれぞれのプロセスの期間が変わることはあっても、基本的な流れ自体は大きく変わらないと思います。ただiPhoneやiPad向けのアプリ開発の場合、要件どおりのものを作ったとしても、テスト工程で変更要望が数多く発生します。実際に作って動かしてみると何か違うので手直ししてほしい、というわけです」⁠兵藤氏)

こうした変更要望にスムースに対応するため、兵藤氏たちはテストフェーズの前にデザインを確認するための工程を設けています。

「最初に動きの部分や機能を詰め、その次にデザインをチェックしてもらい、それが確定した段階でデザインと機能を組み合わせて再度確認、という流れにしています。業務システムの場合、まあこんなもんだろうという諦めのような感覚があると思うんですね。しかし、iPhoneやiPadアプリの場合は発注側もたくさんアプリを見ているので、こんなふうにしたいという要望が出やすいんだと思います」⁠兵藤氏)

ちなみにアップルは「iOSヒューマンインタフェースガイドライン」というドキュメントを公開しており、この中でiOSアプリのユーザインタフェースのデザインについて細かく言及しています。開発するアプリのインタフェースをこれに準拠させれば、アプリごとのユーザインタフェース上の差異が小さくなり、これによって1つのアプリに慣れればほかのアプリでも違和感なく使い始められるというわけです。こうしたユーザインタフェースへの気遣いは、業務用アプリケーションの世界ではあまりないものと言ってよいでしょう。さらに大隅氏は、できるだけ早い段階でプロトタイプを見せることも重要だと言います。

「やっぱり実物を見ないと、チェックする側もイメージが湧かないですよね。こういうアプリがほしいというイメージはあるんですけれど、実物を見ないと具体的な要望が出てこないことが多いんです。なので、とにかく要望を引き出すために、見せられるものを早く作ることが重要だと思っています」⁠大隅氏)

兵藤氏は実例として『かざしてGO!』図2というアプリを開発したときのやりとりを説明してくれました。

「⁠⁠かざしてGO!』を開発したとき、最初のフェーズでユーザインタフェースについて散々話し合って、その結果をもとに作り込んだんです。しかし、いざ確認してもらうと、気に入らないということで全部作り直しになりました。それでデザイナの方が入って、ユーザインタフェースの部分をデザインし直したんですね。それで、そのデザインに沿って作り直したんですが、それでも『ここがちょっとずれてる』といった形で1ヵ月くらい修正していました。もう機能はほぼできあがっているんですが、見た目がちょっと気に入らないとか、ボタンの大きさはこれでいいのかとか、そういう議論なんです。そういうやりとりが続いて、リリースするまでが結構大変でした」⁠兵藤氏)

図2 特定のポスターやチラシ、テレビCMなどをカメラで写すとお得な情報が得られる『かざしてGO!』
図2 特定のポスターやチラシ、テレビCMなどをカメラで写すとお得な情報が得られる『かざしてGO!』

チャレンジすることがモチベーションにつながる

このように社内の要望に応じてさまざまな開発を行っている兵藤氏と大隅氏ですが、仕事をするうえでのモチベーションは何かを聞いてみたところ、新しいことにチャレンジすることだと声をそろえます。

「モチベーションになっているのは新しいことに手を出すということです。たとえば要望を受けて開発するときでも、ただ要望のとおりに作るのはおもしろくないので、ちょっと新しいことを加えてみたりして、自分たちで何か新しいものを生み出そうと考えることは楽しいですね」⁠兵藤氏)

「業務に役立つシステムを作って会社に貢献するというのはもちろんありますが、それに加えて、たとえば一番新しい技術を適用してみるわけです。それによってユーザのためになるだけでなく、自分にとっても新しい技術を習得できる。そういった新しいことへのチャレンジがモチベーションにつながっているのかなと思います」⁠大隅氏)

写真1 大隅正志氏
写真1 大隅正志氏

大隅氏が最近チャレンジしたこととして挙げたのは、同社で使われている来客受付システムにおいて、バックエンドのサーバとフロントエンドとして使っているiPhone/iPadとの連携にWebSocketを利用し、リアルタイムプッシュ通信を行っているというものでした。

このシステムは来客者ごとにQRコードを発行し、来訪時にそれを読み取ることで誰が来たのかを特定するというしくみになっています図3⁠。ユニークなのはQRコードを読み取るカメラとしてiPhoneを利用しているほか、オフィスへの立ち入り可否の判定結果をiPadで通知しているところ。iPhoneやiPadを取り扱う、ソフトバンクモバイルらしいシステムだと言えるでしょう。

図3 ソフトバンクモバイルの来客管理システム。QRコードの読み取りにiPhoneのカメラを使っているのがユニーク
図3 ソフトバンクモバイルの来客管理システム。QRコードの読み取りにiPhoneのカメラを使っているのがユニーク

新しいことを楽しめるマインドを持っているか

なお現在ソフトバンクグループでは、IT技術者を積極的に募集しています。そこでどういった人と一緒に働きたいかを尋ねたところ、2人から共通して返ってきた言葉は「チャレンジする人」でした。

「領域にとらわれず、何にでもチャレンジする人がいいですね。これだけ組織が大きくなってくると、どうしてもそれぞれの人に役割ができてきますが、その役割をまっとうすればいいというのではなく、どこにでも行ける人になってほしいんですね。何らかの実績を残しつつ、さまざまなことに対応できるマルチロールなプレーヤが理想です。新しいことへのチャレンジに抵抗がある人だと、私たちのチームではやりづらいだろうなと思います」⁠兵藤氏)

「私も同じで、チャレンジングな気持ちを持っている人と一緒に働きたいですね。私自身、このチームにいたおかげでプロジェクトのたびにいろんな立ち位置を経験できました。そういった、やったことのないことを楽しめるマインドを持っている人がいいですね。それも技術的なところに限らず、マネジメントも含めて楽しめる人は、このチームに合っていると考えています」⁠大隅氏)

続々と新しい技術が登場するITの世界において、同じところにとどまらず、新たな技術を積極的に習得することは何よりも重要でしょう。そのように考えると、単に社内の要望に応えるだけでなく、積極的に新しい技術に取り組むことを推奨し、チャレンジする機会が与えられるソフトバンクモバイルは、エンジニアにとって非常にやりがいのある職場と言えるのではないでしょうか。

ソフトバンクモバイルでは各種エンジニアを募集しています

URL:http://recruit.softbank.jp/career/it_entry/

おすすめ記事

記事・ニュース一覧