tumo.jpのプログラム

それぞれが選んだStyle

#5 プログラマですか? SEですか?

はじめに

こんにちは。プログラマ歴10年の tumo.jp です。

誰かと話をしていると「わざわざ訂正するほどではないけれど、その理解はちょっと違うんだよな」と思うことってありませんか?

私は昔からそういうことがよくあります。
特に小学生の頃の tumo.jp というのは、基本的に正解が一意に決まる算数が好きな少年だったこともあり、友人との会話の中でそういう小さなズレがあるとイチイチそれを訂正しては「こいつ細かいやつだな」と思われて何かと面倒くさがられていました。

今では tumo.jp もある程度成長し、他人の思考・理解という領域に足を踏み入れることの善し悪しが多少はわかるようになってきました。 別の言い方をすれば「大人になった」ということです。(※)

※補足
余談ですが、プログラマという人種はこの意味において大人になりきれていないタイプの人間が多いです。

しかし、現実として「その理解はちょっと違うんだよな」と思うことがなくなったわけではありません。 あくまでちょっと違うな、ズレてるなと思った時に「それは違います。正しくは......」とイチイチ訂正するのを踏みとどまれるようになったというだけの話です。

今回はその「ちょっと違うんだよな」と思う例の一つとして、<プログラマとSEという職業の認識>について話してみたいと思います。

コンテンツ

1. プログラマとSE

これはプログラマあるあるの一つかなと勝手に思っているのですが、非IT業界の人に職業を聞かれて「プログラマをやってます」と答えると
「ああ、SE(システム・エンジニア)の方ですね」
と理解されることがあります。

生粋のプログラマというのはこの時「ちょっと違うんだよな」という違和感を感じます。
つまり、自分は<プログラマ>なのであって<SE>ではないのだ、という気持ちになるということです。

でもその違いを説明しようとすると「そもそもプログラマとSEの違いとは......」みたいな話から始めなければいけないし、そんな話を始めたらややこしい上に話がやたら長くなってしまうし、しかもどうにか先方に理解してもらったところで結局相手にとって全然メリットはなかったという結果を想像すると、ついつい
「はい、そのようなものです」
と答えることになります。

そして、この「ちょっと違うんだよな」という感覚は行き場を失ったまま、成仏できない魂のように永遠にこの世界の片隅をさまよい続けることとなります。

本記事ではそんなをプログラマのモヤモヤ魂を成仏させてあげるために、その「ややこしい上にやたら長いプログラマとSEの違いの話」をしてみようと思います。
なんというか、まあお時間がある時に読んでみてください。

2. プログラマとSEの違い

前提として、プログラマとかSEという職種に明確な定義は存在しません。(たぶん)
だから、本当のところを言うと、そもそも<正しい理解>も<間違った理解>も存在しないということができます。

だったら別に理解も誤解もないだろうとなりそうですが、実はシステム開発という(およそ50年ちょっとの)歴史の中で、培われてきたそれぞれのイメージというものがあります。 我々はこのイメージに対して、なんというかコダワリのようなものを持っているわけです。

ではそのイメージがどんなものかというと、以下の通りです。

  • SEのイメージ
    システム開発の上流工程を担い、要件定義・モデル作成・システム設計などを行う人。建築で例えるなら国家資格を持つ建築士。給料は平均的に高い。
  • プログラマのイメージ
    システム開発下流工程を担い、実際に手を動かしてコーディングを行う人。建築で例えるなら大工さん。給料は平均的に安い。

こうして見ると、SEの方がプログラマよりもなんだか居心地がよさそうです。<上流>なんて呼ばれているし、平均給与も高い。
実際、プログラマというのは「IT土方(どかた)」だとか「ワイシャツを着たブルーカラー」などと呼ばれることもあります。

それならなんでプログラマというのは、そんな居心地の悪そうな<プログラマ>であることに誇りを持っているのでしょうか?

3. なぜプログラマにこだわるのか

たびたび tumo.jp の勝手な憶測で恐縮ですが、おそらく1980年代とか1990年代とかであれば、上記の理解は正しかったと思われます。
しかしシステムの世界はドッグイヤーと呼ばれ(※)、システム開発の現場もどんどん様変わりしており、2000年頃を分岐点にこれらのイメージがかなり変わってきました。

ドッグイヤーとは
進化のスピードがとても速いということ。

以下が最近のSEとプログラマのイメージです。

  • SEのイメージ
    システム開発の上流工程を担い、要件定義・モデル作成・システム設計などを行う人。平均給与は相変わらず高い。しかしコーディングができず、最新の現場のことを理解していないため、トンチンカンな設計を繰り返して役に立たない人間も増えている。
    (注:優秀な人ももちろんいます)
  • プログラマのイメージ
    システム開発下流工程を担い、実際に手を動かしてコーディングを行う人。平均給与はまだまだ安い。しかし現場の最新の技術に精通しており、それらの知見を活かして上流工程の設計や要件定義まで行う優秀な人がどんどん現れている。
    (注:ポンコツな人ももちろんいます)

プログラマの地位が徐々に上がってきているように見えますね。
実際、設計からコーディングまでできるフリーランスプログラマというのはよく聞きますが、フリーランス・SEというのはあまり聞いたことがありません。

これはどこで聞いたか覚えていないので明確な根拠は示せないのですが、1998年に設立されたGoogleという会社では、SEという職種は存在しないそうです。
つまりGoogleという会社(= かなり優秀な開発者が多い企業だと聞いています)には、設計だけを行ってコーディングをしない開発者は存在しないということになります。

もちろん今も昔も、SEだけどばりばりコーディングもできて優秀な人もいます。現代のプログラマでも相変わらず上流工程はサッパリや、みたいな人もいます。
しかし最近のトレンドとして、「できる開発者はプログラマとしての基礎がとにかくしっかりしている。その上で上流工程の職務でもその才能を発揮する」というイメージがあるということが言えると思います。というか、tumo.jp は勝手にそう思っています。

まとめると、プログラマとSEのイメージはどんどん変わっており、しかもその地位に関して逆転現象のようなものが一部で見られる、ということになります。

4. 私の好きなプログラマ

ここで私の好きな現代のプログラマの例を挙げてみたいと思います。

この方は、実は私が昔勤めていた会社の元役員の方です。御年はたしかそろそろ60歳。
現役時代はそれなりに有名な(めちゃめちゃ有名というほどではないが)エンジニアの方で、業界では名の通った本なども出版しており、そこから出世して役員になられたという経歴の持ち主です。

tumo.jp が就職した時にはもう既に取締役になっていました。
俗な言い方をすれば「アガリ」の人間です。

さてこの人の何が格好いいかというと、数年前になんと自らその役員の職を辞して、ひょいと開発の現場に戻っていったという点です。
ご自身で最新の技術なども勉強されており、今なお一線でバリバリ活躍しています。

確かにtumo.jp が在職当時、たまにお会いすると「やあ、役員なんてものは性に合わんねえ」などとぼやいておられましたが、まさか本当に現場に戻るとは!
しかもマネージャーとかスーパーバイザーという立場ではなく、普通にプログラマとしてコードを書いておられるようです。なかなかクレイジーですよね。

実際のところ、プログラマって結構しんどい職業なんです。甲子園球児ばりに努力が必要だし、受験生並にいつも勉強しなければなりません。
そういう厳しい現場に自分から戻っていくって、本当になかなかできないものです。
こんな背中を見ていると、ついつい「格好いいなあ」と尊敬しちゃいますね。

そういうわけで、プログラマというのは魅力があって格好いい職業なのです。
だから(全員とは言わないが)一部のプログラマは、<プログラマ>であることに誇りを持っているのです。

さいごに

本記事はいかがだったでしょうか?
やっぱり「ややこしい上にやたら長くて、しかも結果としてたいしてメリットはない話」だったでしょうか。そうだったとしたら、ごめんなさい。

繰り返しになりますが、そもそもプログラマとかSEという職種に明確な定義はなく、当然世間の認識も一様ではありません。きっと様々な理解やイメージが混在していることでしょう。 tumo.jp の説明にしたって「その考え方は間違っている!」と思う人もいるかもしません。

でも、なんというか、それでいいのではないかと思っています。
いつも何が正しいか、間違っているか、が全てではないですからね。

作家の村上春樹氏は、その著書の中で「理解というのは、常に誤解の総体に過ぎない」と語っていました。*1
あなたはプログラマですか? SEですか? という話題になると、ときどきこの言葉のことを思い出します。

記事の内容は以上です。
最後までお読みいただき、ありがとうございました。

高評価・コメントなどいただけますと大変励みになりますので、どうぞよろしくお願いします。