「信頼され続ける受託開発エンジニアに、手法の流行り廃りは関係ない」“枯れた技術”でも活躍するために必要なスキルとは?
エンジニアとして戦い続けるためには、技術トレンドを理解し、自身の技術力をアップデートしなければいけない。こうした議論の中でしばしば登場するのが、「旧来型の開発手法の淘汰」である。
「これからはアジャイル開発で」、「RubyやPythonでの開発がトレンド」といった話は、受託開発ビジネスの中でもよく耳にすることだ。しかし、“旧来型”といわれる開発スタイルでも、クライアントから長きにわたって信頼を勝ち取る方法はある。
Webアプリケーション開発、特にECサイト構築に強みを持つ受託開発会社のフェーズワンで、プロジェクトリーダーとして活躍する田村進矢氏はこのように話す。
「確かに、『やっぱり、アジャイル的に進めるのが良いって聞くんですけど……』『え、Javaを使うんですか……』といった話になることは、現場でも増えました。
こうした流れの中で、ウォーターフォール型開発やJavaのような、以前からある技術がWeb開発において“枯れた技術”だと言われるのも分からなくもありません。かといって、短絡的に『では、Rubyを使ってアジャイル開発で進めましょう』などと言ってしまうと、結果的にお互いハッピーにはなれないと思うんです」
なぜか。それは、開発プロジェクトにおける問題の本質が、言語の違いや開発手法にはないからだ。主にECサイトの構築や改修案件を担当する田村氏は、1年前から参画している大規模プロジェクトを例に挙げてこう話す。
「最新技術を使うこと」が目的になってはいないか
「クライアントは日本における総合ITサービスの代表的企業で、あるECサイトの構築を弊社が担うことになりました。Webサービスを展開しているということもあり、最新技術やシステムの知識は豊富ですし、開発スピードも非常に速い。そんな背景からか、今回のプロジェクトで最新の開発手法を採り入れたいというご要望をいただいたんです」
「なぜJavaなのか?」、「スピードにもこだわりたいのにウォーターフォールでいいのか?」。そこでは、まさに前段で触れたような言葉が、担当者から投げ掛けられたという。
「わたしも最新の言語や技術、アジャイル型の開発には大いに関心がありますし、自分なりに勉強もしています。自由にやっていいよ、という条件ならば、スクリプトをガシガシ組んで作りたいと思います」
それでも、田村氏はウォーターフォール型の開発スタイルで、Javaのパッケージでバックヤードを固める提案をしたという。これまでの受託実績から、システムの安定性と完成度の高さに自信があったからだ。
「初めに担当者の方にこの提案をした時に、やはり怪訝な顔をされました。しかし、クライアントが求めるシステム要件を検討したところ、本件の開発に際しては、最新の開発手法をわざわざ活用するよりも、その後の運用を考えてJavaベースのパッケージシステムを開発・導入することが最善だとわたしは感じたのです。
サイト上で表現したい動きや機能の多くはJavaでも十分実現可能だし、安定性も高い。クライアント側の技術をうまくフロントサイドに盛り込めば、さらに多彩な展開もできますからね」
そう話す田村氏は、Webシステム開発の根底にあるポイントにおいて、「最新の技術トレンドを活用することは重要ではない」と指摘する。
「そもそも、アジャイル開発ならば必ずスピードが速いとか、この新しい言語を使ったら何でもできてしまうなんてことはありませんよね。何を使って、どんな手法を採るか、というのは大事ですけれども、もっと大切なのは、お客さまの目的を、どれだけのスピードと完成度で形にするか、のはずです。
現場のわたしたちが考えるべきは、自社が使いこなせない付け焼刃の技術ではなく、自社が持つ技術でどうやって提供できるかであって、クライアントの言われた通りに開発するだけのエンジニアであってはいけないと思うのです」
目的と手段を理解していれば、クライアント担当者からの突然の要望にも対応できるし、自分たちの得意分野に持っていくことができる。そうすれば、プロジェクトを成功へと導きやすいはずだ。はたしてクライアントからの信頼も厚くなる。
重要なことは、クライアントの目的に最短距離で近づくこと
「多様なプロジェクトが同時進行で進められている中、自社で共通言語としてのメイン技術を持っていれば、壁にぶつかっても周りのメンバーに聞けばたいてい解決します。だから、たとえ“枯れた技術”と言われようが、できることの幅や深さや速さが違うんです」
どんなスポーツでもベテランにはベテランなりの戦術があるように、年数を重ねた開発技術なりの戦い方がある。田村氏自身、こうした考え方ができるようになったのは、ここ2、3年のことだという。
「2年前まで働いていた会社は、イマドキな感じのベンチャーでした。尖った技術を追求しているエンジニアもいて、わたしも純粋にコーディングすることが楽しかった。当時の先輩からは『技術に強いヤツだけが集まってバラバラにコーディングをしようが、クライアントの目的を最短距離で達成できる道筋を立てられなければ意味がない』と厳しく言われていたのですが、なかなかピンと来ていませんでした。それが、フェーズワンに入社してから上流部分に携わることが多くなり、その先輩の言葉を痛感しているところです」
引かずに主張し、顧客に受け入れられ、信用されるまで到達するには、当然、技術力が問われる。そこでモノをいうのは「新しさ」ではない。
仮に「古い」と誤解されていようが、オン・オフを問わずメンバー同士で情報交換しながらで深めてきた技術力で示せばいい。もちろん不足するものがあれば、新たな技術や開発ノウハウ・業務知識も注入し、その成果を社内に持ち帰り、また皆で共有することでチームとしての力を高めていく。「それがフェーズワン流だ」と田村氏は言う。
「今は、個人的にDartにハマってます。モノを作る仕事なので、やっぱり新しい技術には魅せられますよね。でも、目先の技術ばかりを追いかけて、自分のベースとなる技術がおろそかになってしまっては意味がありません。プロジェクトでも、そこをしっかり使い分けられるかどうかが、クライアントからの信頼につながるような気がします」
取材・文/森川直樹 撮影/小林 正
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ