ツール開発をメインにお仕事をしているエンジニアに
直近で携わった開発エピソードを聞いてみました。
開発期間は1か月。
彼なりの仕事の流儀を感じて貰えればと思います。
■はじめに
私はau Wi-Fiの運用・保守チームでツールの開発を担当しています。
au Wi-Fiは全国20万スポットの公衆Wi-Fiですが、そのWi-Fiを効率よく
運用するためのツールを開発するのが、私の仕事になります。
ツールと一言で言いましても、ExcelやAccessなどの自分の業務端末上で
使えるものや、サーバ上で実行するシェルスクリプト、さらには
統計情報をグラフ等でわかりやすく表示するWebベースのものなど
多岐にわたります。
今回はそんなツールの中から、Androidアプリでのツール開発について
少しお話させていただきます。
■初めてのAndroid業務アプリ開発
去る昨年の11月末にAndroidアプリ開発のお話しを頂きました。
どんなアプリかといいますと、
「イベント等でau Wi-Fiを臨時で設置する時に、
センター側から設置したWi-Fiの位置を特定し、地図上で表示することで遠隔監視を行う」
といった内容のAndroidアプリです。
依頼を頂いた段階では、こんなんできるんかなあとは思いましたが、基本的に私はできるかできないかではなく、やるかやらないかで考える性格ですし興味もあったので、やってみようと思い、引き受けることにしました。
まずは就業先担当者と何度かミーティングして構成を固めた後、コーディングは私一人で行うのですが、どうやっていいか全くわからない(笑
実はそれまでに、私自身簡単なアプリしか作ったことがなく、本格的な業務アプリを作ったことはありませんでした。
ただ、納期は決まってますし、できませんでしたというのも嫌なのでまずはAndroidの基本から勉強し直しました。
勉強には、以前Androidの資格を取ろうと思って買っていた参考書を用い通勤電車などで読みながら進めました。
Kindle版のためスマホで見れるのでかなり便利でした。
あとはわからないこと、欲しい機能のことをひたすらググってました。
ある程度基礎を詰め込んだ後は、会社や家などで実際にプロトタイプを作ってはテストするというのをひたすらやっていたわけですが、これがなかなか難しい。
最初は端末の位置情報を拾うことすら難しくて、なんども試験用スマホを複数台首からぶら下げて、新宿界隈を歩き回ってテストしていました。
(かなり怪しい人間に見えたかもしれません・・w)。
また、Androidはかなり癖があって、Androidバージョンや電池消費量など考慮しなければいけない点が多々ありました。
実際に使えるAndroid端末は古く、最新のAPIが必ずしも使えるわけではなかったのです。
そのうえ、度重なる仕様変更で、何度も作り直しました。
本当に、このアプリの開発期間中は家でも職場でもAndroidのことしか考えていませんでした。
結果、それなりのものができたのは納期2日前でした。
前日にフィールド試験を行ったのですが、周りの方から「よくできてますね」と言われ、ほっとしました。
その後、実際にイベントで使用したのですが、改善点は多々見つかったものの基本機能はしっかり動作しているのを見て、ようやく解放感に浸れました。
■終わりに
私は仕事上、業務外にネットワークやサーバー、データベース、さらにはプログラミングなど
どの分野も広く浅く勉強するようにしています。
ツールというのは、依頼内容や実装環境に応じて使える技術が変わってきますので
どれかに特化するよりも、いろんな引き出しを持っている方が良い、と思っています。
「少しでも良いものを作る」というのが、単純ですが、開発者としての自分の矜持。
今回のAndroidアプリ開発に関しても、簡単なものとはいえ自作アプリを作った経験が活きました。
自作アプリを作ったときは、ただ、Javaの延長でAndroidも作れればいいな、と思っていただけでこれが業務で役に立つとは全く考えていませんでした。
今は、このアプリに新機能を加えてより使い勝手の良いものにしたいと考えています。
■余談ですが
一般的に、仕事をしながら業務以外の知識を身に着けるのは、目標や動機がないと難しいです。
私の場合は資格試験などを目標にしながらやっています。
資格試験は断片化した知識を体系的に整理するのにちょうどよいと思っています。
あと、資格によっては手当ても出ますので、その辺もモチベーション維持になりますかね(笑
最後に、彼の就業先担当者からのコメントも紹介します。
Androidアプリの開発を依頼した背景等を伺ってみました。
■就業先ご担当者様の声
彼のすばらしいところは、私達の要望内容(要件)に対し「できない」と言わず「やってみます!」と常にチャレンジし失敗しても諦めず取り組み、必ず結果・成果を出してくれるところです。
今回のAndroidアプリ開発も完成イメージしか無く、開発期間が非常に短かったのですが、彼の実績・実力なら必ず期限内に開発してくれるだろうと期待しお願いしました。
始めてのAndroidアプリ開発且つ短納期ということで、さまざまな制約事項がありましたが期限内に成果を上げていただいたこと非常に感謝しております。
彼の仕事の矜持が高く評価されていました。
お仕事の例として、働き方の例として参考にしていただけると嬉しいです。