
第1回 試行錯誤で分かったスパゲッティコード撃退法
アクセンチュア・テクノロジー・ソリューションズ
マネジャー 稲井紀茂
2007/3/19
| 開発現場は日々の仕事の場であるとともに、学びの場でもある。先輩エンジニアが過去に直面した困難の数々、そこから学んだスキルや考え方を紹介する。 |
IT業界に在籍する私の経験を振り返り、現場で出合った困難な局面とその対処の過程を紹介します。そこで学んだことが、同業界で働く皆さんにとって何らかのヒントになれば幸いです。しばらくの間、お付き合いください。
連載第1回である今回は自己紹介も兼ね、この仕事を選んだ経緯と、私のITエンジニアとしての原点となった最初の1年間の経験についてお話しします。
■もともとの志望は機械系のエンジニアだったが
私は小さいころから、機械や自動車が大好きでした。自宅の掃除機やラジカセなどを分解しては内部の構造に感心したり、新しいクルマが発売されれば雑誌でそのスペックや機能をチェックしたりしているような子どもでした。
学校でも数学や物理の授業が好きでした。中学生のころには「将来は機械系のエンジニアになる」と思っており、そのことに何の疑いも持っていませんでした。
ところが、いざ大学に入ってみると、講義はいかにも退屈なものでした。すでに確立されている理論が淡々と説明されるだけで、何とも刺激に乏しかったのです。
エンジニアになっても、このように決まりきった方法や手順に従って図面を引き続けるだけなのか……。暗澹(あんたん)とした気持ちになりました(単なる当時の思い込みです。実際にはそんなことはありません)。私は初めて進路に迷い、とても不安に感じました。
そのころ世間では、Windows 95やインターネットが注目を集め始めていました。洗練されたインターフェイスと、リアルタイムに情報を交換できる環境。生活の隅々まで端末が行き渡り、瞬時に大量の情報をやりとりできる時代が来る……。黎明(れいめい)期にあるこの分野なら、自分で考えるべき領域も広く、いろいろなアイデアを試す余地があるのではないか。そう考え、私はこの分野に大きな可能性を感じました。
また、従来から経済や経営にも関心があり、新聞や経済誌によく目を通していました。情報システムと経営、この両者への関心から、いつしか私は「情報システムで経営を効率化する」ことにダイナミズムと面白さを覚えるようになっていったのです。
こうして私は、機械系のエンジニアからITエンジニアへと進路のかじを切ることになりました。
■配属先はオペレーションルーム
「経営に寄与するシステムの開発」を志し、就職活動を経てシステム業界に飛び込んではみたものの、配属されたのは地理情報を扱う会社のオペレーションルームでした。仕事は、計測部門からの出図依頼を処理して図面を引き渡すという、至って簡単なものでした。
志望と現実のあまりのギャップに、最初はまったくモチベーションがわかず、またしても暗澹たる気分に陥りました。しかし、だからといってまた進路を変えるのでは、いつまでたっても一人前にはなれません。
「志望は志望として自分の中に持っておき、ひとまずいまできることから始めよう」。半ば強引に気持ちを切り替え、あらためて周囲を見回してみると、ホストコンピュータ(MSP)、UNIX(DEC、サン・マイクロシステムズなど)、Windows PCと、ひととおりのプラットフォームがそろっているではありませんか。
「各プラットフォームの基本的な扱い方を習得する」「それぞれの特徴・違いを理解する」。これらのことを実現できるチャンスだと考え、当面の課題として取り組んでいくことに決めました。
■開発をやりたい!
私は日々の仕事をこなしながら課題に取り組みました。そのうちJCL(Job Control Language)やC Shellが書けるようになり、それぞれのOSのコマンドも覚えてひととおり扱えるようになって、ひとまず課題はクリアすることができました。
そうなるとやはり、次のステップとして「開発をやりたい!」という思いが強くなってきます。しかし、自分の中で思っているだけでは何も始まりません。目の前の仕事は手早くこなしつつ、仕事の合間に喫煙所などで、自分がやりたいことを同僚や上司に訴えるようにしました。煙たがられないよう、ほどほどに……。
当時の上司は、そんな私に理解を示してくれた方でした。ある日、「出図処理の作業は自分が引き受けるから、おまえは開発に専念しろ」といってくれたのです。自分の仕事が増えることになるにもかかわらず、私に開発に取り組むチャンスと時間を与えてくれたのです。
その言葉を聞いた瞬間、「やった!」と思い、反射的に「ありがとうございます!」と答えていました。上司に感謝すると同時に、真摯(しんし)に周囲に訴えかけることの大切さを実感しました。この上司には、いまでもとても感謝しています。
■初めてのシステム開発は何もないところから
当時そのオペレーションルームでは、出図作業に要した時間とコストは管理されておらず、クライアントへの報告も行われていませんでした。しかし作業実績は報告書としてとりまとめて提出するべきだろうという話になり、そのために必要な簡単なシステムを作ることになりました。その開発を私が任されることになったのです。
このとき提示されたシステムの「要件」は、「報告書はこんな感じで、グラフがあって……、あとは分かりやすくて使い勝手の良いものを頼むね」という言葉と、ミスプリントの裏紙に書かれたメモだけでした。
「あいまいで大ざっぱな要件だな」とは思ったものの、私自身も携わっている業務ですから、やりたいことのイメージが分からないわけではありません。細かい要件は「ここはこうした方がいい、こうあるべきだろう」と自分なりに補いつつ、時々機能イメージを作ってレビューを受けながら進めていくことにしました。
「こんな画面とこんな帳票が必要かな」と、システムに必要な機能を何となくイメージはしたものの、さてそれをどうやって実現するかとなるとほとんど見当がつきません。そもそも私自身「システム」を作ったこともなく、「データベースって何?」という状態だったのです。
周囲に開発のいろはを教えてくれるような人もいませんでしたし、研修などというぜいたくな機会もありません。困り果てたものの、自分からやりたいといっている手前、「やり方が分からないからできません」とは口が裂けてもいえません。
Web上に情報もなかった当時、頼りになるのは大阪・梅田の紀伊国屋で手に入れてくる書籍類(もちろん自腹)と、PCにインストールされているオンラインヘルプでした。
| |
| 今回のインデックス |
| システム開発プロジェクトの現場から(1) (1ページ) |
| システム開発プロジェクトの現場から(1) (2ページ) |
システム開発プロジェクトの現場から バックナンバー
- 第1回 試行錯誤で分かったスパゲッティコード撃退法
- 第2回 セットアップ全国行脚で九州弁に大苦戦
- 第3回 未経験のデータベース構築に挑戦
- 第4回 定まらない要件、ユーザーからのむちゃな要求
- 第5回 メンバーとの仕様打ち合わせは海を越えて
- 第6回 専門用語で「カッコよく」話すのは簡単だけど
- 第7回 「できるか!」な設計書に、どう立ち向かう?
- 第8回 初めてのトラブル対応。これで直ると思ったのに!
- 第9回 この案件、ぜひ新しいテクノロジでやりましょう!
- 第10回 3プロジェクト同時にリード! どう乗り切る?
- 第11回 オフショアなんて、怖くない
- 第12回 障害対応とチューニングの危うい関係
- 第13回 最強チームで挑んだ、「40時間でデータ移行」の壁
- 第14回 運用って、あまりいいイメージはなかったけれど
- 第15回 「バッファ込み」の工数がスケジュール遅延の原因
- 第16回 大規模プロジェクトでは「同じ言葉を、同じ意味で」
- 第17回 現場デビューのお供はビジュアル多用の報告書
- 第18回 1人チームで悩む新人。「この作業って意味あるの?」
- 第19回 新人、アーキテクチャチームで「運命の出会い」
- 第20回 新人(3年目)、先輩デビューで「最悪の振る舞い」
- 第21回 新人、集合研修で「伝説」を作る
- 第22回 新人(3年目)、プロジェクトで「忍耐」を学ぶ
- 第23回 本当は楽しいドキュメント作成
- 第24回 基本設計文書の質を下げる「4つの心理バイアス」
- 第25回 文書ドリブン開発 DB設計文書編
- 第26回 文書ドリブン開発 詳細設計文書編
- 第27回 文書ドリブン開発 テスト文書編
| リサーチャーが語る「Webサービス業界の勝ち組の特徴」と「求められるスキル」 マーケットプランニング、コミュニケーション、柔軟なアーキテクチャ設計が鍵 |
| 『本当にあった危ない話』システム開発における法的トラブル事例を紹介! 紛争を事前に防ぐために、専門家への相談が大切です。 |
| 気になる「社会人大学院」という選択肢 仕事との両立は本当に可能? 独学とは何が違う? 実際の学生・卒業生6人に聞いた |
|
|
| 1日1問、模擬試験問題をメールで届けます | |
| ITスキル研修4000件、最新情報の検索できます |
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
・ケ・ュ・チマツ、クヲオ貍シ・ケ・ン・・オ。シ
- - PR -
お勧め求人情報
| ◆あなたのプロジェクトは大丈夫? システム開発における法的トラブルの事例 |
||
| ◆気になる社会人大学院。興味はあるけど仕 事と両立可能?実際に通った6人に聞いた |
||
|
**先週の人気講座ランキング**
〜CCNP編〜
ITトレメ・今日の問題
基本情報技術者試験
仮想記億システムで使用されるページ置き換えアルゴリズムには、FIFO方式やLRU方式などがある。これらのページ置き換えアルゴリズムの基本的な考え方として、適切なものはどれか。<13年秋FE問30>






アップルタブレット登場で高額アプリも花開く?