32歳プログラマから「はじめまして」
はじめまして。岩見直樹と申します。某開発会社に勤める32歳のプログラマです。
このコラムでは、日々思うことから専門的な内容まで、気ままに書いていこうと思いますので、よろしくお願いします。
■ 自己紹介
今回は最初ということで、自分がPCに出会ってから、これまでやってきた仕事などについて簡単に紹介させていただこうと思います。
え? 生い立ちなんてどうでもいいって?
……なんか空耳が聞こえましたが、とりあえず聞こえないフリで先に進みましょう(笑)。
● 1台目
まず、僕が最初にパソコンというものに出会った頃の話です。詳しくは覚えていないのですが、おそらく小学校1年か幼稚園ぐらいだったと思います。
相当古いですね。25年位昔のことです。うちの父親が機械好きだったこともあり、大して裕福でもない我が家にパソコンがやってきました。
ちなみに、機種は「MZ-1200」というシャープのマシンでした。
グリーン一色のコンソール画面、記憶媒体はカセットテープという今となっては化石級の代物です。『記憶媒体がカセットテープ』といっても、今の若者には通じないかもしれませんね。
今では当然のようにハードディスクですが、その前はフロッピーディスク、さらにその前はテープ、その前は紙(!)だったんですよ。知ってました?
で、その頃パソコンで何をやっていたのかというと……あまり覚えていません。ただ、当時から僕がパソコンに興味を持っていたのは確かです。
● 2台目
小学生1~2年の頃、我が家に2台目のパソコンがやってきました。富士通の FM-7 という機種です。
グリーン一色だった前機とは違い、今度のは何と8色も出るんですよ!(笑)
そして文字だけのコンソール画面から、VRAMを搭載したグラフィック画面に進化しました。ちなみに解像度は 640×200 でした。CMのイメージキャラクターはあのタモリさんです。
このパソコンには標準で F-BASIC というOS兼プログラミング言語が内蔵されていました。おそらくこれが、僕が最初に覚えたプログラミング言語です。お絵描きプログラムなんかを作っていた記憶があります。
BASICでは処理速度が遅いので、機械語を学びました。搭載CPUは、モトローラの6809。8ビットPCです。アセンブラ言語を買う金はなかったので、自作の簡易アセンブラを作ったりもしていました。
そして、このパソコンの特徴は様々な周辺機器がオプションで付けられることでした。以下、我が家に導入されたオプション機器たちの紹介です。
- FM音源
これを付ければ、シンセサイザーのような多重演奏が可能に! 付けないと、BEEP音しか出ません…… - 漢字ROMカード
これを付ければ、何と漢字が表示可能に! 付けないと、半角文字しか表示できません…… - フロッピーディスク
これを付ければ、大容量(320KB)フロッピーディスクへの記録が可能に! 付けないと、テープです……
どうです。すごいでしょう(笑)。でも当時は、どれも画期的なことだったんですよ。
● 3台目
高校に入学するとき、初めて自分用のパソコンを買ってもらいました。機種は NEC の PC9801 FA。当時としては結構高性能の機種です。
搭載CPUは一気にパワーアップして Intel の i486。OS は言わずとしれた(最近はそうでもない?)MS-DOSです。画面解像度は 640×400。色は4096色中16色だったかな? ←ちょっと自信ないです。
パソコン本体の次に真っ先に買ったのは、Borland の Turbo C++ でした。C言語には、前から興味を持っていました。BASICよりずっと優れていて、綺麗なコードが書ける!
C++ になってクラスやポリモーフィズムが追加され、より進化したこの言語をやりたくて仕方ありませんでした。
300ページ以上もある分厚いマニュアルを何度も何度も読み返しひたすら勉強しながらコードを書きました。この頃には、完全にプログラミングが趣味になっていました。
● 4台目
大学に入って、Windows マシン(いわゆるDOS/V機)を買いました。機種は忘れてしまったのですが、自作PCだったかな?
そして Visual C++ を買いました。MDやテープに溜め込んだ楽曲を整理するのに、今まではノートを付けてやっていたのですが、専用のアプリケーションを作って管理などをしていた記憶があります。あとは、DirectXを使ってシューティングゲームなども作りました。
この頃、自分のホームページも開設しました。当初は好きな音楽についてのページや日記などを書いていました。
● 5台目
自宅サーバのために、コンパクトなベアボーンPCを買いました。Redhat Linux を入れ、Apache で HTTPサーバ、qmail でメールサーバを立ち上げました。
最初のうちは HTML と Perl CGI でサイトを構成していました。しばらくして、ある言語に出会いました。Ruby です。
「何て素敵な言語なんだろう」
この言語を使ってみてそう思いました。eRuby というライブラリを使い、Perl の代わりに Ruby で CGI を書くようになりました。
Java を勉強して Tomcat サーバも導入しました。
Servlet を使って最初に作ったシステムが、自分用の日記サイトでした。それまで日記はテキストに手書きしていたのですが、現在のブログのようにログインして、Webブラウザから直接日記を更新できるようにしました。
一般公開もして、ブログサービスも始めました。今でも、一応やってます。ほぼ誰も利用者いなくなりましたが(笑)。
■ 就職
さて、プライベートの話はこれ位にして。ここからは仕事の話です。
2001年に大学を中退し、プログラマとして派遣会社に就職しました。
最初の現場は、Unix C でした。入ってすぐ気付きました。とんでもなく汚いコードが平気で書かれています。そして月間労働が300時間を超えるような人達が山ほどいて、顔はやつれていました。
それまで15年以上プログラミングし続けてきた僕には、この開発現場がどれだけ非効率かわかりました。
でも、下っ端でしかも業務実績のない僕が、彼らを指導することはできませんでした。
それからは数ヶ月に1回のペースで、現場を転々としました。どこへ行っても、状況はあまり変わりません。紙くず程度の価値にしかならない分厚い設計書を必死で書いている人、プログラミングもロクにできないまま設計を担当している人、テストでたくさんバグが出ないとシステムが信頼できないと思ってる人、いろんな人がいました。
そんな人達に共通して言えることは、
「どうやったら優れたシステムを作れるのかを知らない」
ということです。
しかし、知らないのも無理はありません。彼らは優れたシステムを見たことがないし、ましてや作ったことなどないのですから。
僕だったら、彼らに「どうやったら優れたシステムを作ることができるのか」を教えることができると思っています。
しかし、派遣というパッチワーク的な役割の人間がそれを説いたところで、現場は変わらないということに気付きました。
● 正社員
随分時間が経ってしまいました。
派遣の仕事に限界を感じていた僕は、2年半ほど前に今の会社に正社員として中途入社しました。
入った当初、僕が配属したチームはリーダーのワンマン体制でした。
チームメンバーは、そんなリーダーを恐れてただ言われた通りに仕事をしていました。人の言うことをハイハイ聞いてるだけなんてことが嫌いな僕はそんな中で浮いた存在でした。
僕の力がある程度チームでも認められてきた頃、(関連があるかどうかはわかりませんが)そのリーダーが会社を去りました。そしてしばらくして、そのリーダー色に完全に染まってしまった人達もいなくなりました。
僕はチームのサブリーダーとなり、ある程度自分のやりたいように仕事ができるようになってきました。
しかし今度は、別の問題が出てきました。
不況です。
今の現場で仕事を続けられるかどうか、先行きが見えなくなりました。でも、こんな時だからこそ自分の力が役に立つかもしれないと前向きに考え、コラムを書こうと決意しました。
■ 最後に
今回は、最初ということで自己紹介をさせていただきました。
今後は、コラム毎にテーマを決めて、それについて掘り下げて話をしていきたいと思っています。テーマによっては毒舌度が高くなることもあるかもしれません(笑)が、皆さんのお役に立てれば幸いです。
それでは、長文お付き合いいただき、ありがとうございました。
コメント
32才ですか。とすると、ソフト開発のプロになってから10年ぐらい、私は48才ですが、始めたのが遅かったので、あなたと同じく10年ぐらいの経験です。私の10年、歳をとっていると言うことが、結構有利に働きました。経験は無いのにもかかわらず、年格好から。経験ありと思われ、難しい仕事を任されるのです。もちろん経験はないですので、まかされたあとが大変です。必死でこなすしか、しかたがありません。とにかく必死で勉強です。そのせいか、私の家の本棚は100冊以上のプログラム関係の専門書が並んでいます。そんなこんなで、いまではソフトウエア開発者の真骨頂、アーキテクト的な仕事を出来ています。ということで、私が進めたいのは、あなたみたいな人が、働くべきところは、ベンチャー企業です。有名なベンチャー企業ではありません。お金があまったので、別の事業たぶんSaaSを初めてみようかと、経営者が気まぐれで思って、開発者を集めているようなところです。そうです、いつつぶれるかわかりません。しかし、あなたのような人ががんばれば、すぐに開発のすべてを任せられるようになります。そうなればしめたもの、自分でどういう技術を使うか自分できめ、自分で人を選んで採用して、開発を進める。がんばってください。必死で、その開発を進めて3年もたてば、あなたはアーキテクトです。