2019/07/29

素人40歳、ゼロからのプログラミング

私の半生

私はAboutのほうにも書いておりますが、もと本屋で学生時分のアルバイトを含めると約20年書店・出版業界に携わってきました。しかし、40歳を目前にした時、急に閉店が決まりました。今回はこの経緯も詳しく書きたいと思います。
4月の末、取次会社の方から早朝に「ゴールデンウィーク明けで閉店するって本当ですか?」と電話がありました。
「あと1週間やないかーい(実際はこんなに冗談めいていない)」と腰が抜けそうになりました。

何せ前日オーナーとごく普通に、いつもどおり業務の話をしていたものですから。私が勤めていた書店は売上が伸びていましたから(取次の情報)、閉店すべき要因がない。さらに言うと、当書店はオーナーの親の不動産会社の所有するマンションの空きテナントをその息子であるオーナーが家賃ゼロで開業したフランチャイズの書店だからです。さらに、フランチャイズですが、あくまで名前だけを貸すスタイルで、ロイヤリティの支払いも無い。商品の管理は私がほぼ一手に担っておりましたので、赤字になるような無謀なことはしておりません。オーナーは親の不動産会社の肩書だけの常務取締役で給料ももらっている(働いていない)。書店でも10分ほどしか働いていない。未だに謎だらけです。
それはさておき、その閉店を聞かされた当日、おそらくオーナーから話があるのだろうと思いきや、一切なく、結局、取次会社の準備や説得により5月末に伸びましたが、オーナーから直接聞かされない限り、下手に閉店作業も出来ないし、こっちから聞くのはおかしな話だし、ということで、聞かされるまでとりあえず注文や補充は控えることぐらいしかできませんでした。そして、聞かされたのはまたしても1週間前。その1週間、私は憤りを抑えつつ、配達先に頭を下げ、定期購読・配達を引き継いでくれる書店に頭を下げ、店内の商品の返品作業しました。オーナーは一切何もしませんでした。
閉店作業中、フランチャイズの本店の方々が見に来ました。そして我々店員に挨拶もなく、オーナーと話す。そう彼らはオーナーが働いていると思っているのだ。店員なんぞ話してもしょうがないという気持ちがありありと分かるほどの差別。挨拶もしないとはそういうことだ。
閉店後、オーナーが最後の給料を手渡すからと、食事会を開きました。おそらく給料のことがなければ誰もいかなかったでしょう。そして第一声
(オーナー)「今日は俺の誕生日に集まってくれてありがとう!!」
(一同の心の声)「.......しばく!!
場を和ませるために言ったジョークかもしれないが、あまりにもKY。
給料は細かく日割りで計算されており、通常もらっていた基本給に遠く及ばなかったのだった。
私は生活のためにすぐに仕事を探さなければならなかった。そこでさらに心を折ることが起きる。私の武器は書店での長年の実務経験である。同業種の職を探し、面接してもらう。すべて落ちる。今まで知り合った業界の親しい方々にも頼む。皆さん口を揃えて「もちろん」と。しかし実際は全然音沙汰なし。人間とはそういうものである。
私が武器だと思っていたものは何の役にも立たなかった。何もなくなりました。ゼロ。
ゼロの私が生活するためには人が嫌がるが誰かがやらなければならない仕事をすること。つまり一般的に3kと言われるような仕事。私はなんとか電車の清掃の会社に契約社員として雇ってもらうことができました。電車の清掃といっても、ゴミ拾い・窓拭きなどだけではありませんでした。ヘルメットをかぶって、電車の外側も上も全部キレイにする仕事でした。40歳での肉体労働はなかなかきついものでした。しかし、同僚の方々は私同様、なにかしら社会と上手く折り合いのつかない方々ばかりで、すこぶるやさしく厳しかったです。彼らのおかげで、私の心は落ち着きを取り戻すことができました。しかし、やはりそのようなところでも差別は存在しました。電車のメンテナンスをするサイドと電車を運転するサイド。後者はエリートです。挨拶を返してくれません。「ああ、私はいわゆる社会の底辺なのだ」ということをあからさまに分からせてくださいました。

生きるって

しばらく働いていて、仕事に慣れてくると心に余裕ができました。このままこの仕事をし続けると生活はなんとかできますが、果たしてこれで良いのか?という疑問が起こりました。
そこで以前から興味を持っていたプログラミングをやってみようと思いました。といってもやったことがあるのはHTML/CSSとかWordPressぐらいでしたから、本格的なプログラミングは経験ゼロです。そもそも興味を持った理由は本屋のライバル的存在に思えていたからです。書店員として「敵を知り、対策を練る」ためです。

どの言語を選ぶ?

右も左も分からない、知り合いにプログラマーもいない、何から始めたら良いかも分からない、そんな状態でした。そこで久しぶりに本屋へ行きました。一通り立ち読みして、基本情報技術者の本とPythonの本を買いました。なぜPythonか、単純に簡単そうな印象を受けたからです。
私の「どの言語を選ぶ?」に対する答えは「お好きなものに英語を添えて」です。
私の場合、それがPythonだっただけです。Rubyの方もいらっしゃるでしょう。最初にC言語やJavaやCommon Lispが好きってなった方々はおそらく後々勉強が楽だったのではないかと思います。でもゼロから始めてそれらを好きとはおそらく簡単には言えないと思います。プログラミング自体に慣れてからチャレンジしたほうが良いと私は思います。もちろん人に依りけりですが。
結局のところ、プログラミングは多少の違いはありますが、大体同じような処理を行います。そしてその処理は、実は皆さんが普段頭の中で自然とやっていることでしかないと私は思います。例えば誰かと外食に行くとします。あなたは相手の希望に合わせて、頭の中でいくつか店をピックします。もし相手が和食を言うならあの店、焼き肉ならあの店、といった具合に。それをプログラミングでは条件分岐と言います。プログラミングを知らなくても、そんな言葉を知らなくても、皆さん普段から頭の中でプログラミングしています。プログラミングの基本的な構文は頭の中で行っていることを形にするだけです。そしてそれをまず英語にしてみましょう。それだけでぐっとプログラミング言語に近づきます。

学ぶべき言語

私が勝手に思っている「学ぶべき言語」ですが、やはりC言語とCommon Lispだと思います。これらは私が生まれる前から存在し、現在でも現役です。これだけ進化の速いジャンルでずっと生き残っているにはそれなりの理由があるからです。どんな業界・ジャンルでもずっと生き残っているものがあるものです。それには必ず生き残っている理由があります。その理由を知るために、ぜひ学ぶべきだと私は思います。

現状

自身ではこの3年近く、必死でやってきました。Pythonから始めて現在は他言語(Rust、C、Common Lisp、OCaml、Haskell、Nimなど)も理解はできる感じになりました。が、おそらくどこかの企業の役立つ人材になれることはないでしょう。雇う側からすれば、特に秀でたもののない経験不足のおじさんよりも若くて才能ある人材を雇うに決まっていますから。それが現実です。世の中は厳しい。私と同世代の方々はロストジェネレーションと呼ばれています。この間、とある新聞に低所得のロスジェネは社会のお荷物になる的なことが書かれていました。私はその一人なのでしょう。なろうと思ってなったわけじゃないと叫んだところで、社会には届きません。努力は報われるほうがそもそも奇跡。しかし努力しないとその奇跡に出会うチャンスはゼロ。どうなるか分からないですが、私は食えなくなったら死ぬだけです。何も期待せず生きれるとこまでがんばろうか思います。何よりも勉強や探求は楽しい。プログラミングに限らず。
関連記事
ちょっとプログラミングに慣れてきたなと思った時に読む本