
執筆者:CTO 宮地 敬史
皆さん、こんにちは!CTO宮地です。
早いもので前回のブログから1カ月以上が経ち、初夏の陽気になっていますね。
前回、経歴紹介が終えられなかったので、今回は続きから・・・
客先常駐で仕事はしていたのですが、月1回の帰社時、同年代の社員と何をしているのかの情報交換をするなかで、プログラマーとしては既存プログラムの改修よりも新規開発、COBOLよりC言語やJavaを使った開発の方が最先端を走っておりキラキラしているように感じるようになってきました。
(隣の芝は青く見えていたのでしょうね。今考えてみると浅はかといえば浅はかです)
どうする俺!?
キラキラの先を求めて転職活動を始めた26歳当時の宮地。
当時はITバブルのさなかだったこともあり、目出度く転職先を見つけることができました。
①C、Javaでの開発ができること、②会社が大学時代に慣れ親しんだ高田馬場にあった、③給料がそれなりに上がった、という3点で決めたのですが、④面接の場で給与の額の提示があったこと+「来週から来れる?」と軽く聞かれたことも実は決め手でした(笑)。やっぱり”勢い”も大事ですね。(引継ぎ等あったので1.5カ月後、2000年5月1日に入社)
こちらの会社には13年お世話になったのですが、業務アプリケーション開発、インフラミドル領域(データベース、ストレージ)と幅広く経験を積ませてもらえました。
(Web系の開発のみ経験できなかったのは残念ではありますが・・・)
ここで経験した、自分のキャリアの転機となった重要な案件を3つ紹介します。
1. 国内大手インターネットサービスプロバイダ
初の億越え案件。参画時は詳細設計、製造、テスト、アプリの運用保守までを担当。半年位後に基本設計から、更に半年後には、要件定義、基本設計+6名の開発チームのリーダー、といった具合にステップアップ。
(この案件は体制維持が大変で、4年やった後一度会社として撤退、4年後に再度受託、その3年後に撤退、となりました)
この案件での印象深いエピソードをいくつか紹介します。
- 性能テスト時の「箱が違うんだから遅いの当たり前だろ」事件
この案件では結合テストからは多摩センターで実施となっており、なんとなくの合宿感が楽しかったです。
性能テストでどうしてもテスト基準をクリアできず、1週間くらい夜遅くまで試行錯誤していたのですが、インフラ担当の方の「本番と箱が違うんだから遅いの当たり前だろ!」という鶴の一声で、本番環境とテスト環境のハードウェアスペックの差から実行時間を試算する形で、無事に試験完了となりました。
当たり前といえば当たり前の話なのですが、アプリケーション観点しかなかった当時、「ハードウェアスペック、データベースの構成でこんなに性能が変わるんだ」と目から鱗でした。(当時は若気の至りで「だったらもっと早く言ってくれよ」と少しだけキレていたのは内緒です) - アプリケーション移行大失敗
上記①の機器配送システムの更改時の話です。
①で開発したのは汎用機で処理していた業務とユーザの管理業務システムをつなぐものだったのですが、汎用機のEOSに伴い、汎用機側で行なっていた処理を①に取り込む、という案件が始まりました。
汎用機で持っているデータの移行も守備範囲となっていたのですが、見事に大失敗。多方面の方に大変迷惑を掛け、協力いただけたおかげで当初リリース予定の2カ月後にリリースできました。
厳しいご指摘もいただき、自らの仕事に対するスタンスや進め方を見直すいい機会となりました。
データ移行については、移行リハーサルまでほぼ汎用機側の実データを使ったテストをしておらず、実際のデータの持ち方が聞いていた話と全然違っていたことが原因でした。
ここでは、実データを使ったテストの大切さを身に滲みて実感できました。
データ移行のリカバリ、新アプリの障害対応で2.5カ月を要し、この期間は毎月200時間超の残業とかなりハードでしたが、無事にやり遂げられて達成感はひとしおでした。
2. 国内大手旅行代理店のオープンシステム化
この案件にはDBAとして参画させていただきました。 初DBA、初Oracle RAC(9i)。
お客様の現場の方に業務ヒアリング、現行システムのファイル定義を確認しつつ、新システムのデータモデル、テーブル定義の作成もやらせていただきました。
(インフラ/ミドル寄りのDBAではなく、アプリケーション寄りのDBAという役割でした。)
個人的に海外旅行(ツアーではなく航空券やホテルの手配を自分ですることが多かった)に嵌っていた時期でもあったので、色々と業界の慣習や仕組みを知れたこともとても楽しかったです。
50人以上の店長さんの前でデータモデルと業務フローについての説明をする機会もあったのですが、システム部と現場の方の意見の板挟みとなることもあり、これを調整しながら新システムのデータモデル/業務フローに落とし込むフェーズを経験できたことはとても面白く為になる経験となりました。
余談ですが、データモデルをテーブル定義に落とし込む際に正規化をかなりしたのですが、アプリケーション側から「ここまで正規化されると作りが非効率、パフォーマンスも出なくなるから見直してほしい」と依頼され、いくつかのテーブルについて敢えて正規化をやめたこともよい経験となりました。
(正規化しすぎ問題、を実際に体験できました)
3. NetApp
色々な経緯があり、NetAppさんと仕事をさせていただくことになりました。
それまではインフラ領域は門外漢で苦手意識もあったのですが、NetApp社内で用意されていた各種資料が非常に分かりやすく(特にOnTAPやRAIDの部分)、思っていたよりも楽しく早くキャッチアップできました。
当時、NetAppストレージはファイルサーバ、VMWare/データベースのデータストアして利用されることが多く(今もですかね)、この用途でのNetAppストレージの設計、導入を担当していました。
ファイルサーバ用途が一番多かったのですが、導入時、導入後のパフォーマンス問題への対応で一方的に苦手意識を持っていたActive DirectoryやLDAP、ネットワークといったものに触れざるを得ず・・・
おかげでこれらについてもある程度までは理解が進み、今ではそこまでの苦手意識はありません。
パフォーマンスが悪いとき等、問題発生時には真っ先にストレージやデータベースが疑われますから、自らの潔白を証明するためにも必死でした。
どっぷりインフラ寄りの仕事に浸れた4年間でした。
(そういえば英語に対する苦手意識もここで払拭できました)
考えてみると、NASとSANの違いもよく分かっていなかった人間をよく参画させてくれたなぁ、と。この時のNetApp関係者の皆様には、心から感謝しています。
といった感じで、振返ってみると前職までは案件運と関わっていただいた方々に恵まれた20代、30代だったなぁ、と感じます。
特に、勝手に毛嫌い、苦手意識を持っていた分野についてやらざるを得ない状況にしていただけたことには、感謝しかありません。
前職までの時代について、まだまだ紹介したいエピソードはありますが、一旦ここまでとします。
インサイトテクノロジーに転職するところからは次回お届けします。
宮地の経歴紹介、あと1回だけお付き合いください。
それではまた次回!
