以前の記事「オフショア開発の今後の動向について考える」でも説明したように、オフショア開発の普及はこれからも進み、ますます日本人プログラマーは必要なくなってきてしまいます。

しかし優秀なシステムエンジニアになるにはプログラマーとしての経験は必要不可欠。今回はこれからの時代の日本人プログラマーに求められるものについて、書いていきたいと思います。

プログラミングができるだけの日本人プログラマーは必要なし

システムエンジニアが起こした設計書の通りにプログラミングを行うのは本来のプログラマーの姿ですが、それができるだけの日本人プログラマーは今後必要なくなってくるでしょう。

オフショア開発が盛んになり、オフショア先の外国人エンジニアと日本人エンジニアの作業単価を比較すれば、外国人エンジニアの方が安くなります。ビジネスの世界ですから、同じものが出来上がるのなら人件費の安いオフショア開発を選択するのが当然です。

結果として、自分の頭で物事を考えることもせずに、設計書をただソースコードに起こすだけのプログラミングをするだけでは、高いお金を出して日本人にやらせるメリットがないのです。

提案型プログラマーになろう

オフショア開発でよく聞くのは、設計書が明らかに間違っているにもかかわらず、設計書のままプログラミングしてしまい、受入れテストでバグに気付き、設計フェーズまで遡って修正という話。

オフショア先のプログラマが日本語が不得意だったために、明らかな間違いにも気付かずに作業を進めてしまったのかもしれません。もしくは自分は設計書の通りにプログラミングすれば問題ないと、意識は他人事だったのかもしれません。

いずれにしろ明らかな間違いであれば、日本人プログラマーならすぐにシステムエンジニアに相談するはずです。そうすればテスト工程まで進んでから設計に出戻って作業することもありません。

上記のような例は少々極論じみていますが、本質は同じことです。日本人プログラマーであれば、以下に挙げるような点で、提案型プログラマになれることが求められます。

設計書の不備を指摘できる

システムエンジニアも人間ですので、時にはミスを犯すこともあります。もし設計書にミスがあったなら、勘の良いプログラマーであれば、作業中に設計書の不備に気付くはずです。

そうしたときに、先の外国人エンジニアのように不備をそのまま実装するのではなく、しっかりと間違いを指摘して余計な作業を極力減らしましょう。プロジェクト全体としても開発工数を削減することにつながります。

もし不備であることに確信を持てないのであれば、相談レベルでシステムエンジニアに話を持ちかけるのもよいでしょう。結果として不備ではなかったとしても、リスクを減らすという意味では相談する意味はあるのです。

処理の最適化を考慮した提案ができる

システムエンジニアが用意した設計書を形にしていく中で「このロジックはこうした方が処理スピードが速くなるな」など、プログラマー目線で気付きが生まれることがあります。そうした際にも「いちいち報告すると自分の作業も増えて面倒だからそのままにしておこう」ではなく、積極的にシステムエンジニアに対して提案する姿勢を持ちましょう。

もしかしたら提案しなかったがゆえに、お客様から指摘があり、再度やり直しということになる可能性もあります。また提案した結果システムの使い勝手が格段に改善され、お客様の満足度も高くなり、別の仕事につながる可能性だってあるのです。

システム構築とはお客様とシステムエンジニア・プログラマーが一緒になって、より良いものを作り上げていく共同作業です。プログラマーも当事者意識を持つことが大事です。

 

おわりに

プログラマーだからといって、システムエンジニアに対して遠慮することはありません。ただ言われたことをやるのではなく、どんどん自分が感じたことは疑問なり提案なり発信していくことが、これからの日本人プログラマーに求められることなのです。

「オフショアで開発を外注するより、少々高くなっても日本人プログラマーに仕事を任せたほうが品質が高くなって、結果として正解」と言ってもらえるように頑張りましょう。

 



【X(旧twitter)でも情報発信中】

Xを最近始めたので、フォローしてもらえると嬉しいです(エンジニア界隈の方はフォローバックさせていただきます)! システム開発に関することや、最新テクノロジーのことなど、世のエンジニアにとって有用な情報を発信してます!

"X" @TECH_KEYSYS