スマホアプリエンジニアの選考方法
たまには実務的な話題でも
これまで色んな面接など受けてきたが、まともな面接はほとんどない
アプリが分かる人が世の中に少ないから仕方ないね
iOS/Android共通
Q.両方書けますか?
A.書けます
→ 十中八九ウソか低スキルだと思っていいです
2,015年現在、両方追えている人は滅多にいません
考えられる可能性は
・片方は不得手
・ガチのスーパーエンジニア
・軽いアプリしか作ったことがない
・C#など、本筋と外れたコーディング手法を取っている(人材として扱いづらい)
もし書けるという場合は、その差を聞いてみるのがいいと思います
・画面構成の差
・レイアウトの差
・コーディングの差
・OSバージョンに対する対応の差(iOSは即日アップデート、Androidはある程度機種依存)
ちなみに私は両方書けますが、Androidのブランクが1年なので立ち上がりに半月は掛かるし、iOSの方が得意です
できるだけ片方にして、たまにスイッチしたい(一年ごとに分けるとか)
Q.コードは何で書いていましたか?
A.Objective-C,Swift,Javaあたり以外が出てきたら、本流と違う開発をしているので、ミスマッチがないか確認しないといけない(C#で書いてたり、Cordobaで書いてたり)
Q.WebAPIも書けますか?
A.書けます → イイネ
書けません → 若ければしょうがない
ちなみに「書けてもAPIもやるのはスケジュール的に無理な可能性が高い」です。サーバサイドよりレアなので
Q.ライブラリはよく何を使っていますか?
メジャーどころが出てくる → ◯
メジャーどころが出てこない
・ライブラリを使えないような環境だった → ちょっと扱いづらい
・ライブラリとか知らない → 地雷 現在ほぼ必須
Q.ゲームも書けますか?
書けます → これもかなり怪しいです。アプリとゲームは全く別物で、両方追える人はかなり稀です
ゲームだけかけます → ミスマッチなので注意。本人も分かってないので危ない
Q.課金対応をしたことはありますか?
あります → 加点
Q.企画もできますか?
できます → あまり期待しないでほしい。ちゃんとできる人は10%切ると思います(補助的にできて25%)
というか企画は別に用意するべきだと思います
Q.企画に参加しましたか?
しました → OK
しません→リスクを考慮してください。企画会議などに参加していないということは「延々仕様待ち」になる可能性が高いです。
Q.gitは使えますか? 複数人開発できますか?
できません → 危ないです
できます → どの役割でしたか?
プログラマでした → そのとおりだと思います
プロジェクトリーダーでした → 高ポイント
システムエンジニアでした → コード書けるかちゃんと確認
Q.バージョンアップの対応をしたことはありますか?
ある → ◯
ない → 作りっぱなしなので品質に心配
Q.OSのバージョンアップ対応はしたことはありますか?
ある → ◯
ない → えっ?あり得ない
Q.タブレット対応をしたことはありますか?
ある → ◯
ないけど、常に気をつけている → ◯
Q.ブランクはありますか?
半年 → ちょっと立ち上がりに時間がかかるはず(数日)
1年 → ちょっとリスク。一月くらいかけて感覚を取り戻せるくらい
2年 → レベル1に落ちてると思ってOK
Q.経験年数は?(2015年現在)
1年 → ちょっと浅いので慣れが必要かも
2年 → 十分
4年 → スーパーエンジニアか、地雷かのどちらか。昔の書き方から進化していないとか、オレオレな書き方になってるとか
6年 → それ本当に?? 作ったアプリ10個はあるはずなので聞いてみて下さい
Q.なぜアプリやってるんですか?
納得できる答えがない→長期的な動きができない
Q.今気になるアプリは何ですか?
出てこないと×
理由が意味不明だと×
書けるだけな人である可能性大
Q.関わったアプリの規模はどのくらいですか?
A.分からない → NG
アプリ2人+2人、10人月~30人月 → ある程度規模の大きい物に関わっているのでよいと思う
アプリ1人 1人月~2人月 → お手軽アプリしか関わっていないのでちょっとリスク
アプリ4人+4人、100人月~ → 大規模システムの一端を担っていただけだと、スタンドアロンで動けるかは微妙なので注意
Q.作ったアプリを見せてください
観点:サービスとして複雑なほど難易度が高い。デザインや企画部分はその人の責任とはずれる。画面数20以上だと大体のことは任せられる。難しかった点を聞いて欲しい
iOS
Q.storyboardは使っていますか?
使っています → 普通
使っていません → なぜですか?
無くてもできるからです → NG。新しい手法を取り込まないのでどんどん古くなる
複数人開発でコンフリクトするからです → あまりよくない。storyboardでもどうにでもなる
Q.AutoLayoutは使っていますか?
使っています → ◯
使っていません → NG
Android
Q.大変なことは何ですか?
機種依存、仕様変更などが出てくるとよいと思う
ヒューマンスキル
Q.積極的に仕様に関わっていくタイプですか?
いいえ → プログラマーだけではアプリは完成しないので注意
はい→この場合も一人でできると思わない方がいい。それを求めるなら以下
Q.企画書、事業計画、要件定義、プロジェクト進行にどの程度関わったことがあるか
Q.マネタイズについて提案、計画、実行したことはあるか
Q.外部のサービスと連携したことはあるか。その時の立ち位置は?
詳細は省略
Q.リーダー経験はあるか、外注を扱ったことはあるか
Q.アジャイル、スクラム経験はあるか。メリットとデメリットは何か
このくらい聞けば大体わかると思う
(実際は言語に対する質問が多い)