この連載も長いもので、もう何年やっているのか思い出せないのだが、もう十年くらいはやってるのではないだろうか。いや、勘違いかな。もはや思い出すのも面倒臭いのだが、少なくともこの連載が始まってから今までの間に、僕は三つの会社の社長になっている。会社が変わっても連載は続く。それはもう、まったく、ありがたい話である。
会社というのは酷薄なもので、たとえ自分が創業した会社であったとしても、自分の役割がなくなれば居場所はなくなる。
ただ、人間として居場所は必要であるから、個人事業主でいくか個人会社を作るかを常に迫られ、いろいろな社会的都合によって毎回会社を作ると言う立場に追い込まれている。ままならないものだ。
先日、会社を経営している友人が解散宣言をして、大量に備品が余っているので一緒にフリーマーケットをやったりした。
彼もプログラマーで、ハッカーだ。僕と同じ、ゲーム出身で、3Dプログラマー。僕の世代にはそんな人がゴロゴロいる。
僕も本業はUberEats配達員としながらも、ちょこちょことライター業を復活させたり、知人の会社の顧問みたいなことやることにした。本当はもっと最低限のお金だけでしばらく暮らしたいところだが、我が国の税法はそんなに甘くない。昨年の所得に対してかかる住民税を、サラリーマンでない人間は、二ヶ月ごとに三ヶ月分を一括払いしなければならない。このルール、ちょっと凄すぎないか。この体制下で起業家育成を叫ぶ国会議員とか、まったくちゃんちゃらおかしいのである。日本では一度起業して会社をある程度成功させると、そう簡単に辞められなくなる。辞められないだけならいいのだが、住民税が一年遅れで課税される。となると、フレキシブルに自分の給料をあげたり下げたり辞めたりすると死活問題ということになる。
こんなことを一度でも経験すれば、「二度と起業などするものか」と思うのが普通だと思う。
僕の場合、前年の収入のせいで当年の収入の何倍もかかる住民税を払うのは今回で三度目くらいだが、こんなときばかりは毎回、海外に移住したくなる。
ただ、歳をとってくると、そう簡単に転職できるというものでもなくなってくる。僕も40代後半に差し掛かったので、今更コンビニのアルバイトで大学生のバイトリーダーに小言を言われるというのはなかなか堪えるものがある。そこでUberEats配達員という仕事が福音となったのだが、まあそんなことも言ってられなくなってきた。
ある日、気がつくと四半世紀ぶりくらいにWebサービスを自分一人で作っていて、これに没頭しているとあっという間に時間が流れていった。
サービスを開始してから二週間くらいはほとんど記憶が飛んでいて、その間にいろんなことがあったはずだがほとんど覚えていない。
ある程度サービスがまわるようになってきて、それで慌てて思ったのだ。「あ、これ以上やるなら会社が必要だな」と。
僕にとってプログラミング、またはプログラマーと会社というのは、切っても切れないものである。
異論はあるだろうが、この25年の間、僕が所属した会社のほぼ全てがプログラマーのいる会社だったので、これはもう僕はそういう宗教の人間なんだと思って読んでほしい。
プログラミングをただ一人でする時、別に会社は必要ない。
しかし、そのプログラムを多くの人、たとえば一万人くらいの人が使おうとする時、会社が必要になってくる。
この人数だとまだ「あったほうがいい」というレベルだが、たとえば利用規約だとか、プライバシーポリシーだとか、サーバー代の支払いだとか、なんらかの形の資金調達だとか、諸々、とにかく会社になってないと不都合なことが多くなってくる。
優れたプログラマーは優れたソフトウェアを書いてしまう。というか、優れたソフトウェアを書いたプログラマーが優れたプログラマーなのであって、逆はない。この「優れた」という言葉の定義には、「保守性の高さ」や「効率の良さ」は必ずしも含まれない。僕にとっては「実用されやすさ」が最も優先度が高い。
もちろん保守性が高いことはいいことだ。効率がいいのも素晴らしい。けど、全ては誰かの役に立たなければ意味がない。
誰かの役に立つと証明されてから、改めて保守性が高いコードを書いたり、効率的なコードを書けばいい。順番が逆なのである。
もちろんこれは、職業エンジニアには許されない贅沢かもしれない。
ふつう、会社で下っ端のエンジニアがこんなことを言ったら怒られる。
だから、プログラマーと経営は一体であるほうが都合がいい。
経営者が直接プログラミングしない場合でも、経営者は自分の会社で書かれているソフトウェアがどんな(ひどい)シロモノで、いつ綺麗で保守性が高くて効率的になるのか、そもそもそのつもりがあるのか、能力があるのか、などということを完璧に把握しておく必要がある。
今回、久しぶりに一人でWebサービスのコードを書くことに没頭して、コードそのものは今のところボロボロではあるが、本当に自分はプログラマーで良かったなとしみじみ実感した。
この連載の当初のタイトルは「プログラマー経営学」であるが、まさに全く看板に偽り無しの感想であった。
もしも綺麗なコードを書くことに最初からこだわっていたら、このスピード感で機能実装はできなかっただろう。
もちろんもっと僕が若ければ、あるいはそう言うこだわりもあっただろうと思う。
けど、僕は20年も現場を離れていて、今もコードを書いているとはいっても最低限のもので、本格的に、つまり一秒間に何百回も呼び出されるようなコードを、しかもサーバーレスなどとという20年前には存在すらしていない技術で書くというのは、手探りもいいところだ。
たまに人から「ビジネスモデルは?」と聞かれる。
でもビジネスモデルなんかない。
それがプログラマー経営者の正しい答えだろう。
ビジネスモデルなんかない。
けど、たくさんの人の役に立てば、いつかなんらかの形で、なにかしらのビジネスが出現する。
それがプログラマー経営学である。
なんだか最終回みたいな書き方になってしまったが、別にこの連載はこれからも続いていく(と思う)
ただなんですかね、ちょっと怒涛のようなコーディングの日々が落ち着いた流れで(と言っても今日も朝から新機能を二つ実装したりしていたが)、自分のお気持ちを表明しておきたかった、と言うことにしておこう。
とりあえず無謀にも起業なんかをしようと考えている人に言いたいのは、まずプログラマーになれということだ。
しかも、超一流のプログラマーになるのである。
超一流のプログラマーになれなければ、そもそも超一流の起業家にはなれない。
超一流の起業家になる方法は誰も知らないが、超一流のプログラマーになる方法は誰でも知ってる。誰よりもたくさんコードを書けばいい。
こんな簡単なこと、誰だってできる。
会社を解散する友人も、超一流のプログラマーなので、誰も彼のことを心配していない。
超一流のプログラマーは無から有を生み出すことができるからだ。
ユーザーがゼロのサービスが数日で数万人に行くのはマッハよ。それがソフトの世界。
そこから10万人、100万人にしていくのはかなり大変だけれども。
それでも、それができる可能性が一番高いのは、やっぱり超一流のプログラマーが社長をやってるときだ。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。