誠ブログは2015年4月6日に「オルタナティブ・ブログ」になりました。
各ブロガーの新規エントリーは「オルタナティブ・ブログ」でご覧ください。

007.【自分の話】プログラム引継ぎ奮闘

»2011年12月 9日
IT雑貨屋、日々のつづり

007.【自分の話】プログラム引継ぎ奮闘

佐藤 洋之

1967年生まれ、神奈川県横浜市在住。ひょんな事からIT業界に努めて四半世紀、嫁と子供2人、あとメス猫一匹を抱えて、日々奮闘しているエンジニア(??)です。趣味はバイクと読書。IT業界の事、仕事の事、趣味や日々の雑感などについて、これから書いていきたいと思います。

当ブログ「IT雑貨屋、日々のつづり」は、2015年4月6日から新しいURL「​http://blogs.itmedia.co.jp/satou55_makoto/」 に移動しました。引き続きご愛読ください。


 さあ、いよいよ年末へと突入致しました。私の周囲でも様々な事柄がバタバタと動いています。そういえば関係ありませんが、NHKドラマ「坂の上の雲」も3シーズン目に入り、本年で終了です。昨年末に2シーズン目を見て、「また来年」とあった時には、来年なんてまだ先じゃんと感じていましたが、もうそんな時期となりました。やるべき事を日々キッチリとやらなければ、人生はあっという間ですよね。。。

 佐藤@IT雑貨屋です。
 先日の続きで、今回はプログラムの引継ぎに関してお話致します。

 さてデバイスドライバの担当を引き継ぐという命を受け、早速プログラムリストを入手しました。当時は今の様なIDE(統合開発環境)なんてありませんでした。またフルスクリーンエディタもUNIXではVIはありましたが、MS-DOSではそんな高級なものなんてありません。ソースコードを編集する唯一のツールは「EDLIN.EXE」(覚えている人はいないでしょうね・・・)。これはラインエディタで、コマンドラインで制御します。プログラムのリスト表示は出来るのですが、編集は行番号を指定して、1行づつ編集するという代物。だからプログラムは基本、全てプリントアウトしたもので確認をしていました。

 引き継いだデバイスドライバ、今でも記憶に残っていますが、CAD用のグラフィックドライバが2,500ステップ程度、RS-232Cドライバが800ステップ程度、キーボードドライバが300ステップ程度、スプーラドライバが1,000ステップ前後でした。しかも言語は「Microsoft Macro Assembler」で、8086系CPUの命令セットです。

 このアセンブラとはいわゆる「低水準言語」で、人には全然優しくないものなんですね。普通プログラムでは変数を使用したり、変数も整数型や文字列型、浮動小数点型もあったりして、四則演算や様々な関数(今ではクラスですかね)を呼び出して処理を組むじゃないですか。しかしアセンブラにはそういったものはありません。あるのは4つの汎用レジスタと2つのインデックスレジスタ、4つのセグメントレジスタと2つのポインタレジスタ、そしてCPUの命令セットで、8086系では500ページ近いリファレンスマニュアル。

 もう恐らくここまで読んで理解できる人はいないと思いますが・・・・

 そしてこのデバイスドライバを利用している側のプログラムはC言語(Microsoft C)。
 だからC言語からアセンブラまで含めると、結構膨大なプログラムなんですが、これを解析しながら引き継ぐんですね。しかも先任者は週3日しか出社しないという環境で。

 という事で、その日以来、机に噛り付いてプリントアウトされたソースコードと睨めっこしながら、ひたすら解ったところはメモを付箋でつけていって、どう考えても理解できないところに関しては蛍光マーカーペンで印を付けて、そこにメモで「何が解らないのか」を書き込んでいく作業がひたすら続きました。アセンブラの動きで解らないものは、借用しているPC-9801で同じ様なプログラムを入力して、N88-BASICから動かして見たり。

 今はどうなんでしょうか。引継ぎをする場合、双方で時間を取って、先任者が「手取り足取り」という事もあるやに見えますが、当時の私の環境では、それを望むべくもありません。だって社内でアセンブラを知っているのは先任者くらい。あとは誰も知らないし、答えられない状況でした。

 だからでしょうか、「解らない事」があった時には、極力自分の中で噛み砕いて噛み砕いて、解らない事をエキス化してから質問する癖が、この時から身に付いてしまいました。
 「信じるのは最終的に自分の力だけ!」
極端に言うと、そういった意識で仕事に取り組む癖がつけられた感じです。

 当時いた会社の社長も技術屋あがりで、ある時以下の訓示(??)を頂いた事があります。
「どうも最近では、安易に人に聞いてしまうという風潮があるが、自分たちは"システム開発部"なんだ。"開発"というからには、答えなんてある方が珍しい。むしろ"答えは自分たちで見つける"くらいの気概で仕事に取り組まなければ、結局、自分の中に何も残らないぞ!」

 言い得て妙。

 そんな感じで毎日遅くまで残業しながらも、何とか所定の期間で引継ぎを終了して、晴れて私は社内で「自分の担当」という「居場所」を確保する事が出来たんですね。何も出来ずに仕事を干されたあの衝撃的(?)な会議の時、季節は冬の初めだったのですが、その頃は桜満開の季節だった事、いまでもよく覚えています。

 まあここからさらにドタバタは続くのですが、それはまた次回という事で。

20111208.jpg でもこの業界に入って最初に経験したこの「解らない事を自分の中で噛み砕く」というのは、実は今に至るまで生き続けています。
 何か不明な点があった場合、安易に聞かずに自分の中で「解らない核心」を突き詰めるという習性が身に付いたおかげで、様々なシーンで助けられたという思い出があります。

 直近で言えば今の職場で少し前に、ある業務スキームを構築するという仕事を任された事がありました。それは「技術的」というものではなく「業務的」と言っていいのでしょうか。業務の開始から終了までの流れを考え、その中で必要なものを洗い出し、関連部署間で調整し合意をはかるというものでしたが、その中には法務考査関係とやりとりする必要があるものまであり、「俺はエンジニアなんだけど」と思いながらも、一つひとつの問題点をクリアして構築しました。
 その時も「疑問点を噛み砕く」という事を念頭におき、他事業部との間で調整しましたが、そのおかげでかなり業務の組み立て方という事の経験をつむ事も出来ました。

 人生とは無駄なモノは無いのかもしれませんね。。。。日々感じています。
 ここまで読んで頂きありがとうございました。