検索
連載

エンジニアよ、「キャリアラダー」を駆け登れ!!iOSエンジニアというロールが“爆誕”した日(2/2 ページ)

2次元のキャリアパスを歩んでいても、想定内の未来しか見えない。エンジニアとして限界突破するために必要なもの。それは、3次元のキャリア構築だ。

Share
Tweet
LINE
Hatena
前のページへ |       

求められるのは、コーディングスキルだけではない

 新しい言語を学ぶにしても、キャリアラダーを登るにしても、未経験分野へのチャレンジは必須だ。例えばフェンリルでは、Javaでコードを書いてきたエンジニアが、新しいプロジェクトでいきなりGoを使うよう求められる、といったことが日常的にあるという。

 だが、フェンリルがエンジニアに求めるのは、使用言語や経験などのスキルスタックだけでない。

 同社が重視しているのは、「チーム一体となってやっていけるかどうか」だ

 「プロジェクト一つ一つが、当社にとってもお客さまにとっても未経験のチャレンジ。突破できるか怖い」と前垣内さんは打ち明ける。エンジニアを探す際は、「この人に入っていただければ突破できそう」と思えることが大事だという。

 「プロジェクトの達成は、社内でも最高の体験の一つであり、最高のプロダクトを作ることが本当の目的だ。そこに資する観点でワンチームになりたい」

 逆に、「全体を見ずに1つの歯車になります、コードだけ書きに来ました、設計はしてください……といったマインド」だと「理想から離れている」と話す。

 指示以上の成果を出してくれることも期待している。「指示の量が1や2だけだったり、もしくは指示がなくても、その期待値を上回る、10や15の粒度や内容、自ら考えた結果がアウトプットに含まれていること」が理想だ。

 前垣内さんは、そのエンジニアが身に付けているスキルや開発言語だけでなく、「なぜその開発言語を身に付けようと思ったか」も重視する。「『たまたまその現場がそうだったから』などの受け身ではなく、自身のアンテナで捉えて興味を持ち、次の現場にもつながった、といったストーリーがうれしい」(前垣内さん)

 ところで、エンジニアが仕事を得ようとする際に、資格取得はアピールになるだろうか? 

 「エンジニアは今後増えるだろうし、マーケットでの差別化はシビアになっていく。資格は差別化の手段にはなる」と前垣内さんは言いつつも、「資格そのものだけでなく、なぜその資格を取ったのか? という動機を知りたい。あるいは、なぜ資格を“取らない”のかということにも、同様に意思があると思う」と、取得の背景も重視する。

食いっぱぐれないエンジニアの条件は? 「テストファースト」を意識せよ!

 一生食いっぱぐれないエンジニアになるためには――「いろいろな観点がある」と前垣内さんは前置きしつつ、フェンリルのプロダクトを前提に「テストファースト」を挙げる。

 「今後、テクノロジーの進化とともに自動化はますます進む。エンジニアが書くコード量も年々減っていくだろう。だが、コーディングが全てマシンラーニングになったとしても、テストは残るだろうし、テストファーストの考え方の価値は続くだろう」

 前垣内さんによると、テストファーストには2つのアプローチがある。1つは設計段階、もう1つは、コードを書いているさなかの単体テスト(ユニットテスト)だ。

 同社で開発した「NHKニュース・防災」を例に挙げる。NHKブランドでニュースや防災情報を伝えるというアプリだ。開発の話が来たときは、その社会的重さが「本当に怖かった」という。

 このアプリは、ニュース速報や、地震・河川の氾濫などの防災情報を瞬時に伝えるプッシュ通知機能を備えており、通知の内容は絶対に間違えてはならない。誤報になってしまうからだ。

 一方で、開発時には、開発環境、検証環境、ステージング環境、セキュリティテスト環境、本番テスト環境……など、さまざまなテスト環境があり、多種多様なテストを走らせる。

 「開発が終わり、想像を絶する数のユーザーが入って来た後にも、クリアしなくてはならないテストがある。テストデータが本番に流れるようなことが起きれば、誤報になってしまう。これは絶対起こしちゃいけない」

 誤報を防ぐため、APIコール時に、通信先の環境によって異なる錠を設定しておき、鍵が合わないと動かないよう設計し、テストデータが本番の運用を阻害する事態が物理的に起きないようにした。

 コード自体もテストファーストで作られており、トラブルが起きてもすぐに切り分けられ、素早く改善できるようにしてあるという。

 「プロジェクトに入るとき、テストファーストを意識しながらやるということを、経験として積んでいただきたい。それが価値として残っていくんじゃないか」

まとめ

 前垣内さんの話から、求められ続けるエンジニアであり続けるために必要なことをまとめる。

  1. キャリアパスだけでなく「キャリアラダー」を意識すること
  2. コーディングスキルを提供するだけでなく、チームの一員としてコミットし、指示以上の結果を出すよう意識すること
  3. テストファーストを意識すること

 また、「自分の得意、不得意を開示し、プロジェクトに能動的に参加できるエンジニアが企業からの人気を集め、希望する案件に参画しやすい傾向にある」とエージェント目線から小野さんは話した。

 これらのポイントが、皆さんがキャリアに迷ったり悩んだりしたときのヒントになれば幸いだ。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る