リバースエンジニアリングしたけど、もうけてないから問題ないでしょう?「訴えてやる!」の前に読む IT訴訟 徹底解説(71)(3/3 ページ)

» 2019年11月18日 05時00分 公開
前のページへ 1|2|3       

工夫や技術を隠し持ってはおけない時代

 本連載の読者には釈迦(しゃか)に説法だが、エンジニアは常に、正しく効率的で安全なプログラムを作るためにさまざまに頭を絞っている。

 同じ処理でも、より高速に動作する工夫、メモリを無駄遣いさせない工夫、保守性を高くするために見やすくする工夫――種々の要望に応えるために、さまざまな関数やAPIを駆使して実装することも、高い専門性と知見を要する作業だ。

 エンジニアであれば、こうしたスキルは自分だけの技術として持っておきたいかもしれない。しかしその技術は、誰かに解読されて世界中に広められる可能性がある。もちろん、世の中にはリバースエンジニアリングを防ぐ方法もあるが、それも完璧ではなく無効化されることもある。

 どんなに高度な技術を駆使した機械や電磁部品も、徹底的に分解され、研究されれば、そこにある高度な技術が白日の下にさらされるのと同じように、ソフトウェアもまた、いったん世に出れば、その技術的な優位性は維持できないものだ。

 だからこそ、多くのエンジニアたちは、先んじてGitHubなどで自分の作ったモノを公開する。この傾向は、今後もっと高まっていくことだろう。

隠しきれないならオープンに

プログラマーが持つべき本当の強み

 では、エンジニアたちは何をもって自分のスキルとすべきなのか。他人にはない技術を自分は持っていると言えるためには何が必要なのか。

 答えは十人十色かもしれないが、私は、エンジニアがプログラムを作る前、あるいは作りながら行った「思考の過程」にこそヒントがあるように感じている。

 例えば、少しでも速いプログラムを作ろうと考えたとき、エンジニアはプログラムの構造やネットワークなど、いろいろと試行錯誤しながら処理速度を上げていく。その「結果」はソースプログラムや各種の設定を見れば容易に分かるだろう。しかし、これを作ったエンジニアの頭の中にある、その経験を通して得た「早いプログラムを作るには何に着目すべきなのか」といった「知識」は、簡単には盗めない。

 速いプログラムを作るには、メモリの使い方、キャッシュの利用、効率的なSQL、並列処理、差分更新、データの形式、言語、データのソート方法、ネットワーク帯域、画面構成など、さまざまな角度での検討が必要になるし、そのどれが有効であるのかを検討するための計測方法なども各種存在する。

 この着眼点を経験と共に頭に備えたエンジニアは、対象が変わっても、いつでも高速のプログラムを作れる。「私のプログラムは速いです!」と胸を張って言えるのだ。

 脆弱(ぜいじゃく)性を熟知していれば、いつでも安全なプログラムを作れるし、ユーザビリティやアクセシビリティについても同様だ。もっと細かく「検索だけは強い」とか、「動画の処理については誰にも負けない」でも良い。

 特定の分野における「着眼点」と「情報源」、そして「経験」を持っている人間は、強みを持ったエンジニアだ。「私の作るプログラムは、いつでも〇〇です。」と言えることは、今後エンジニアとして生きていくために、とても重要なことではないだろうか。もちろん、世界一である必要はない。自分の周囲に比べて少しだけでも能力が高ければ、それで十分だ。

 ただコードが書けるだけでは、いつでも取り換えの利く使い捨てのエンジニアになってしまう危険性がある、と私は考える。

細川義洋

細川義洋

政府CIO補佐官。ITプロセスコンサルタント。元・東京地方裁判所民事調停委員・IT専門委員、東京高等裁判所IT専門委員

NECソフト(現NECソリューションイノベータ)にて金融機関の勘定系システム開発など多くのITプロジェクトに携わる。その後、日本アイ・ビー・エムにて、システム開発・運用の品質向上を中心に、多くのITベンダーと発注者企業に対するプロセス改善とプロジェクトマネジメントのコンサルティング業務を担当。

独立後は、プロセス改善やIT紛争の防止に向けたコンサルティングを行う一方、ITトラブルが法的紛争となった事件の和解調停や裁判の補助を担当する。これまで関わったプロジェクトは70以上。調停委員時代、トラブルを裁判に発展させず解決に導いた確率は9割を超える。システム開発に潜む地雷を知り尽くした「トラブル解決請負人」。

2016年より政府CIO補佐官に抜てきされ、政府系機関システムのアドバイザー業務に携わる

書籍紹介

本連載が書籍になりました!

成功するシステム開発は裁判に学べ!契約・要件定義・検収・下請け・著作権・情報漏えいで失敗しないためのハンドブック

成功するシステム開発は裁判に学べ!〜契約・要件定義・検収・下請け・著作権・情報漏えいで失敗しないためのハンドブック

細川義洋著 技術評論社 2138円(税込み)

本連載、待望の書籍化。IT訴訟の専門家が難しい判例を分かりやすく読み解き、契約、要件定義、検収から、下請け、著作権、情報漏えいまで、トラブルのポイントやプロジェクト成功への実践ノウハウを丁寧に解説する。


システムを「外注」するときに読む本

細川義洋著 ダイヤモンド社 2138円(税込み)

システム開発に潜む地雷を知り尽くした「トラブル解決請負人」が、大小70以上のトラブルプロジェクトを解決に導いた経験を総動員し、失敗の本質と原因を網羅した7つのストーリーから成功のポイントを導き出す。


プロジェクトの失敗はだれのせい? 紛争解決特別法務室“トッポ―"中林麻衣の事件簿

細川義洋著 技術評論社 1814円(税込み)

紛争の処理を担う特別法務部、通称「トッポ―」の部員である中林麻衣が数多くの問題に当たる中で目の当たりにするプロジェクト失敗の本質、そして成功の極意とは?


「IT専門調停委員」が教える モメないプロジェクト管理77の鉄則

細川義洋著 日本実業出版社 2160円(税込み)

提案見積もり、要件定義、契約、プロジェクト体制、プロジェクト計画と管理、各種開発方式から保守に至るまで、PMが悩み、かつトラブルになりやすい77のトピックを厳選し、現実的なアドバイスを贈る。


なぜ、システム開発は必ずモメるのか?

細川義洋著 日本実業出版社 2160円(税込み)

約7割が失敗するといわれるコンピュータシステムの開発プロジェクト。その最悪の結末であるIT訴訟の事例を参考に、ベンダーvsユーザーのトラブル解決策を、IT案件専門の美人弁護士「塔子」が伝授する。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。