ガジェット通信

見たことのないものを見に行こう

財夢タメ子先生によるはじめてのサービス開発【エンジニア予備校#2】 #engineer_moshi

DATE:
  • ガジェット通信を≫

はじめてのサービス開発を教えてくれるのは、財夢タメ子先生!

前回、風呂出先生に基礎知識を身につけながら新しい技術を取り入れていく大切さを学んだカケルとタエ子。
「技術」を習得したら早速チャレンジしたいサービス開発!塾長が次に連れてきたのは…?

エンジニア予備校メンバー紹介

塾長

昔、多くの部下をデスマーチで失ってしまったことから、しっかりとエンジニアの価値を世に伝えるため熱血指導を志す。
 
 
 
 
 
 

高堂カケル(コードカケル)

高専で情報処理を専攻し、都内のソフトウェア会社にインターン中。流行の技術を追うのが大好き。Rebuildにいつか出ることが夢。
 
 
 
 
 

二徹タエコ(ニテツタエコ)

大学を卒業し、たまたま受かったIT企業に就職。なんとなくやってきたが、これでよいのか悩んでいる。責任感が強く、残業を任されることが多い入社5年目。
 
 
 
 
 

財夢タメ子先生(ザイムタメコ)

エンジニアとして勤務するかたわら、夫の無駄遣いをやめさせるために家計簿アプリを独力で開発。気がついたら家計簿サービスのベンチャーを立ち上げることとなり、社長に就任。同じ映画を何度も観るのが好き。
 
 
 
 
 

良いサービスを作るエンジニアに必要なものって?


今日はずばり、エンジニアと金の話をしてもらう!

自分、興味あります!金融取引の利息計算をするとき、端数を秘密の口座にまとめると秒速で稼げるというすごいビジネスアイデアを思いつきました!


それ、犯罪っていうのよ。
 
 
お金持ちになりたいなら、まずは家計簿をつけるところから始めるのがいいと思うけど。


ッ…!
 
 
間違えた。今回は、家計簿サービスを作っている財夢先生による「サービスを作るための超実践的な講座」だぁー!

あの!私、今度会社の受付システムを作ることになったのでいろいろ聞きたいです!(第1回参照)


受付システムはいいわね。まずはどんな構成にするつもりかしら?

Androidアプリを作りたいので、フロントはタブレットにする予定です。画面でお客さんが担当者の名前をタップすると、サーバからスマホへメールやSlackで通知するようにしたいと思っています。でもサーバをどうしようか悩んでいるんです。あまり設定を自由にできるサーバが会社になくて…。


せっかくなら普段使っていない環境に挑戦してもいいかもね。


俺ならPaaSを使って、サーバサイドの開発は極力シンプルにするぜ!

JavaでAndroidアプリを書くならGoogleのCloud Endpointなんて便利かもしれないわね。サーバサイドの実装は極力シンプルに、フロントエンドの開発に集中できる仕組みよ。PaaSはいろいろなところが出しているので、試すといいわ。

PaaSはサービスが終了するリスクがあるけれど、こういうライトなシステムではあまり気にせず利用できるからちょうどいいよね。

普段使っていないサービスを勉強するためにもいろいろと挑戦すると楽しそうね。さっそく要件定義書と機能仕様書と線表を用意しないとだわ!


そういうのは簡単に手書きメモでいいんじゃない?


えっ…!
 
 
作りながら考える。それくらいのノリで自分のプロジェクトをやった方が楽しいでしょ!


コードが仕様書だって、先輩が言ってた!
 
 

(それはさすがにちょっと…)
 
 
今回の目標は「まず作ること」。まず作ってから調整していくような時は、勢いで作ることが大事なの。仕様を変えるたびに、いちいちドキュメントを直していたら大変でしょ。チームで作るなら最低限の資料は必要だけど、一人で作るなら仕様を忘れないようにするためと、考えを整理するためのメモで十分よ。

な、なるほど…。血液型A型には若干のハードルがあるわね。ちなみにテスト仕様書はどうすればいいいのかしら?単体テストと結合テストがあるけれど。

セキュリティ的に重要な情報がないようであれば、これもまたシンプルに用意すればいいわ。単体テストは普段からしっかりテストを行いながらコーディングするクセをつけると、のちのち効率的になるわね。でも一番大事なのはユーザテスト。


ユーザテスト??
 
 
そう、システムが仕様書通りできていたとしても、ユーザが上手く使うことができなければ、それは正しいシステムとは言えないでしょ。ボタンの文言ひとつを取っても、実際に使うユーザには分かりづらく、迷ってしまうというのは非常によくあること。完璧な仕様を決めるのは、どんなに優秀な人でもなかなかできることではないわ。なのでユーザテストをしてブラッシュアップをすることが大事なの。


最近はプロトタイプツールでUIのモックを作って検証もできるけどね。

そう、画面遷移やデザインができた段階で、プロトタイプツールを使ってユーザの利用を確認すると、実装する前に間違いに気付けるのでとても効率的ね。ただ今回はまず作ってみることが目標なので、これは一旦パスしてもいいと思う。


そういえば、今まであまりユーザのことなんて考えたことなかったわ。

大規模なシステムを作っていたり、エンドユーザーから遠い仕事をしているとユーザのことを忘れがちよね。でもそのシステムが良いか最終的に判断するのはユーザーなの。これを意識するかしないかで作りは大きく変わるわ。良いサービスを作るエンジニアに必要なものってなんだと思う?


何かしら、マーケティング感覚みたいな??


ストアのレビューを読んでも折れない心!
 
 
いろいろあると思うけれど、ここではそれを「ユーザ目線」としましょう。例えば画面をタッチしたときの反応や検索したときの待ち時間など、仕様書に現れない細かい使いやすさはエンジニアにかかっている。もちろんデザイナーやシステム設計をする人も大事なんだけど、最後は実装するエンジニアの手でしっかりと形にする力が必要となる。しっかりと他のメンバーと連携してクオリティーを上げていく能力が試されるわ。

そういえば「仕様書通りに作ったら、それがゴールと思うな」って先輩に言われたなぁ。


そのユーザ目線は、どうすれば養えるのかしら?

まずは世間的に良いとされるアプリケーションやサービスをよく見ることね。使ってみてどのようなところが使いやすいか、しっかりと調べると参考になるわ。でも一番勉強になるのは、自分で作ったシステムをユーザに使ってもらい、意見を直接聞くこと。この経験をするかしないかでエンジニアとしてのレベルは1つも2つも変わってくるわ。大事なのは視点の高さ。それがあれば自ずと必要な完成度のレベルが分かるし、仕様書に書いていないことを読み取る力もついてくるし、逆に仕様書を書く精度も上がってくる。

仕様書の要件通りに作るのは第一として、ユーザが使いやすいと思うところまで作りこまないと、実際に動くサービスにならないということだね。

そう、そしてユーザも様々な人がいるので、全ての意見を聞けばいいわけではなく、その中で最適解を探していくという力を身につけないといけない。


大変だなぁ〜!
 


なおさら受付システムを作りたくなってきたわ!

そう、一見簡単なサービスであったり、すでにあるようなシステムでも自分でイチから作り上げるとプログラミング言語を勉強するのとは、また違った学びがたくさんあるの。全部自分で考えてサービスを作ったことのないエンジニアの方が世間には多いけれど、これはとても良い体験になると思うの。あと、実際に「ものを作る」楽しさを味わえる醍醐味もあるわ。

そういえば僕も知り合いから「新しいサービスを作るベンチャーを立ち上げたけど、一緒にどうだ?」と誘われているんだよね。


若くて元気があっていいわね。
 
 
最初は月給5万でオフィスに住み込みだけど、ストックオプションもらえるから、後ですごい金持ちになれるって!この前、美味しいお店と綺麗なお姉さんのいる店に連れていってもらったんだよね。


そ、それは…!
 
 
夢を見るのもいいけど、あまり浮ついた話にのせられると足元すくわれるわよ。

→ 夢を見つつも足元をすくわれないように、全国一斉プログラミング模試を受けて実力を確かめてみよう!

(取材協力 : 株式会社 Zaim 閑歳孝子さん)

次回予告 : 「#3 はじめてのマネジメント講座」

サービス作りの前に腕だめし!「全国一斉プログラミング模試」開催!

基礎知識、新しい技術を正しく理解できているか、全国一斉プログラミング模試を受けて実力を確かめてみよう!
オンライン上で受けられるテストで、自分のプログラミング力を確認しましょう!
挑戦はこちらから!

 
 

カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

TOP