見出し画像

キーボードの向こう側 ― プログラマという職業

今日は私の仕事の話をしようと思う。

プログラマと聞いて思い浮かべるのは、無機質なコードの海に潜る孤独なダイバーかもしれない。独身の女性プログラマという、一見地味な肩書きを持つ私から、この仕事に潜む予想外の面白さを少々辛辣なトーンで紐解いていこう。

プログラマの仕事が単にパソコンの前に座ってキーボードをカタカタするだけの単調な作業だと思っている人には、お知らせがある。

大いなる誤解だ。

プログラマは、仕様書と呼ばれる設計図をもとに、文章(コード)を記述してコンピュータに命令を出し、意図した機能を実現する。

しかしプログラマの業務とはコードを書くこと自体よりも、問題解決に大きな比重を置く。

新たなバグは朝のコーヒーよりも確実な目覚ましだ。ユーザーのニーズを満たすための機能を考案する過程は、まるでルービックキューブを解くかのよう。ただし、解答は無限にあり、答えは常に変わる。解きかけている時に全く違う形のルービックキューブを放り投げられることもある。

顧客は自分で「A」と言ったくせに時間が経つと忘れて「なんでAなんだ、Bに決まっている」などと言う。もうそれが見えているので、「A」と言い出した瞬間に「それはどうかと思います」と根拠を添えて説得しようとしても、顧客だから強くは言えず、彼ら彼女らはたいてい頑迷に「A」と主張し続ける。

記憶力にも判断力にも欠けて人(主に私)に迷惑をかけるので「痴呆か?」と(主に私に)毒づかれる彼らは哀れだが、被害を被る我々(主に私)の方がもっと哀れである。

コードを書く、いわゆるプログラミングと言われる作業は積み木に似ている。てっぺんの赤い屋根を乗せようとしている時に、土台部分の右側面だけを入れ替えてくれと言われても、最初から組みなおさないと無理だろう。

同じように、門外漢からすれば「簡単」に思えるような気軽な修正も、内容によっては土台部分に組み込まれていることがあり、そこを直すなら上の全部をやり直す必要がある、なんてことは往々にしてある。

だからこそ気軽(だと顧客は思い込んでいる)な仕様変更が製造工程の終盤になってもたらされても応じられないし、応じるには納期の延長が必要だったりするのだが、往々にして最後になって思い付きで「やっぱりアレが必要だった」などと言い出し、しかも納期は変わらない。

無理して短納期で作るから、リリースしてもバグばっかり。もちろん顧客は怒るのだが、最初に無理を言ったのはそっちだろうと。こうなるのは分かり切っていたことだと。そんなことばっかりだ。

世にあふれるバグだらけのゲームやシステムは、大体がこんな顛末で出来上がっている。プログラマは悪くない。いくら腕が良くたって無理なものは無理なのだ。悪いのはプロジェクトマネージャーや、安請け合いする営業や、無理難題を言いつける顧客自身である。

システムを発注するには、自分自身もシステムの知識が必要だということが分かっていない素人が客になるからこうなる。

私に言わせれば、プログラマが幸せに仕事を進められることが、良いシステムを作るのに最も不可欠なことだ。

不幸なプログラマは余裕がないから随所に手を抜くしミスもする。最低限動けばいいというモチベーションで作られたシステムは、絶対に良いものにはならない。

幸せなプログラマは自分に出来うる最良の仕組みを取り入れようと頑張るし、問題のある仕様に気づいたら積極的に確認してより良い仕様に変える提案も行う。必要な機能も提案し、人の遅れに気づいたら補填しようと頑張る。

なのになぜか問題があった時叩かれるのはプログラマである。「こんなことに何で作りながら気づかなかったんだ?」とか言われて。そんな余裕ねぇんだよ。仕様書がゴミなのはこっちの責任じゃない。納期内に動くように作るのに精いっぱいなんだ。なんという理不尽か。こんな不合理が許されて良いのか。大っ嫌いだ。

話が逸れたが、創造性に関して言えば、プログラマは隠れたアーティストだと思う。新しいアプリケーションを開発する際には、空白のファイルが画家のキャンバスに変わる。ただし、ここでのブラシはキーボードで、パレットの色はコードの構文。デザインの妙は、使い勝手の良いインターフェースを生むが、たまには「このデザイン、誰が喜ぶの?」という疑問符が頭をよぎることも。

チームワークが必要だと言われるが、これはまたしても皮肉な話だ。デジタル世界のチームプレイは、オフラインでは見られないコミュニケーションの奇跡を起こす。チャットツールは新たなコーヒースペースと化し、ビデオ会議は現代のアゴラ(古代ギリシャの集会場)。チームメンバー間の絆は、共有されたバグとその解決策の中で育まれる(嫌な絆だな)。

さて、プログラマの仕事を一言で言うならば、それは「予想不可能な冒険」だ。コードを書くという行為は、ただその場に座っているよりもずっとドラマチックな世界を秘めている。

私がこの道を選んだのは、そのサプライズがたまらなく好きだから。もしプログラミングへの興味が芽生えたら、この意外な日常の一端を垣間見てみることをお勧めする。ただし、その際には、予期せぬバグに遭遇したときの心の準備も忘れずに。


最後までお読みいただきありがとうございます! 良かったらスキ/フォローお待ちしてます。あなたにいいことがありますように!

この記事が参加している募集

仕事について話そう

サポートありがとうございます! 金額にかかわらず、サポートが執筆の大きな助けです。 いつも感謝しています。