私は雑兵

社内ニートが何者かになりたいブログ

【仕事】プログラマは魔法使いではなく技術者なのだ

f:id:tawashi_ch:20190116094457p:plain

日々、のうのうと生きている。

毎日のように空を眺めながら歩き、ぼんやりと浮かぶ白い息が空気に霧散するのを眺めながら「あー、今日も仕事がなかったなぁ」と考える日々である。

 

対照的なのが元々在席していた会社で同期にあたる人物で、今朝Twitterに「船頭がいない泥船に乗っているようだ」と悟ったことを呟いていた。

 

その後、パフェに関する呟きをひたすらリツイートする機械と化していたから、そのフラストレーションは相当である。

 

みんなぁ!よく見ておいて!これがプログラマの現実だよぉっ!

 

【目次】

 

親が子供になってほしい職業ランキングに「プログラマ」が入ってるってよ

blogos.com

数年前くらいにTVで「親が子供になってほしい職業は"プログラマ"です!」という内容を見たので、該当記事を探してみた。

ソースは少し古いが、どうもそう思っている親が一定数いるようである。

 

また他にも、習わせたい習い事ランキングにもしれっとプログラミングが入っていたり、小学校の必修科目になったりと何かと子世代がプログラミングに触れる機会は多くなるようだ。

 

実際、プログラミングをよく知らない親からすれば、「子供がプログラミングを習う」と聞けば「PCカタカタやって、なんかカッコいい!」となるのかもしれない。

 

だが、実際にはそういった『PCカタカタ』は言語を勉強する際にやることで、おそらくで最初は『論理的思考』から入ると思われる。

 

プログラマは論理的思考が必須である

論理的思考はアルゴリズムという言葉で言い換えられる。

要するに「AというものをBに変換するための段取りと手順を考える」というものだ。

 

この論理的思考を身に着けることでどのような命令をコンピュータに実行させ、どのような形で結果を出力するかをコントロールするのである。

 

しかし、行き過ぎた技術は魔法だ。

大抵の人はプログラムの原理など知らず「よくわからないが、ボタンを押したら結果がでた」という感覚であろう。

この魔法の原理をひも解くことこそが論理的思考であり、この論理的思考ができなければおそらくプログラミングは難しい。

いわば、プログラミングの基礎といえよう。

 

使用者は論理的思考が必須ではないからこそ、事件は起きる

プログラマにどうして論理的思考が必要なのかは前述した。

しかし、同時に言えるのは使用者である一般人は論理的思考を必要としないことだ。

 

そしてもう一度、記載する。

行き過ぎた技術は魔法だ。

ボタンを押せば魔法のように結果が出るプログラムを組めるプログラマは、もはや魔法使いなのだ。

 

即ち、発注する人は「魔法使いさん、AをBに処理する魔法を作ってくださいな」とはいえるが、その魔法に必要な期限の妥当性を見いだせないのである。

 

「魔法だろ、短い期間でチチンプイプイしろ」というのが非常に多く、目に見えないプログラムの構築スパンなんぞ軽視されることが多いのだ。

そうして軽視された短期間で無理に仕事をするからこそ残業が多発するのである。

 

しかも構築している様子は発注元からは確認できない。

「いま、50%くらい構築しています」と言ったとしても「いや、よくわからんし。それより、早くして」しか言われないのだ。

 

プログラマは魔法使いではなく技術者である

これを防ぐためには、プログラムを利用する善意がプログラムの構築にかかる準備をしっかりと把握し、それらを交渉したうえで構築することが求められる。

 

しかし、現状では頭の固い発注元が「いいからやって」という高圧的な態度で来られることが多く、プログラマたちは泣きながらPCをカタカタするしかないのだ。

 

どうか、プログラマは魔法使いではなく技術者であると、すべての人間が理解してほしい。

こういった体制が改善されない限り、日本のIT化は遅れるのではないか。

そんなことを考えてしまう。