カニカニクラブライフ

Python系技術メモ、書評とか

enginneringやめました。

ご無沙汰です。「山損」改め、「蟹」と名乗ることにしました。

自分語りですので、興味のある方のみの閲覧が推奨されます。


突然ですが、ブログの体裁を少し変えることにしました。

といいつつ、わざわざ挨拶をするほど、固定的な読者の方もいらっしゃらないとは思いますが。*1

現在、私は、2年目の社会人をしております。

土木関係の民間企業の総合職として、土木工事や外注業務の積算・発注などをメインに、土木構造物のストックマネジメントや耐震照査などなどに携わったりしています。

といいつつ、技術的な検討のお仕事というよりは、総合職であることもあり、たぶんに契約寄りというか、書類づくり・内容のチェックとかの事務処理系のタスクや、取引先などの対外調整、決裁文書まわり・会議のセッティングなど組織内意思決定の調整、飲み会の幹事とかが主な仕事になっています。*2

人とコミュニケーションすることにあまり喜びを見出すタイプではないですし、事務処理系の単純作業もキライですし、土木のお仕事に正直あんまり興味はなくて、私自身が個人として関心があるのは、ブログでも書いている「画像処理」や「統計・機械学習」なんかの「情報処理」の分野で「数学的なアルゴリズム」であるとか、とか「最適化」「人工知能」とかで、まあ、サイバーパンクっぽいもの全般が広く浅く好きな人間です。

このブログは、学生(大学院生)のときに就活をきっかけに始めました。

もともと今の仕事に近い学部で「情報処理」にあんまり関係のない学部にいました。

どちらというと生物や環境問題に関心があり、強いて言うと哲学・心理学や文化人類学的な分野を勉強したい*3、そういった方法論から、社会問題の解決を図る仕事がしたいと、高校―大学入学当時興味は思っていた記憶があります。

ですが、当時20歳の僕は、たまたま見た攻殻機動隊(テレビシリーズ,SAC1期)にドはまりしており、サイバーパンク感で日々の空虚な気持ちを満たしたかった僕は、「シミュレーションがやってみたい」と漠然と思い、とりあえずラクに入れる研究室の中で、「数値計算」をメインのテーマとしている研究室を選択し、「プログラミング」の作業を日常的に体験するようになったのでした。

f:id:russENG:20161111001840j:plain
・「攻殻機動隊 電脳空間」で検索したイメージ図

どこからの誰かが言ってた気がしたのですが、プログラミングには人間をいつの間にか熱中させる類いの魔法がかけられていると思います。

そんなわけで、しばらくの間、研究テーマとして与えられた「画像処理」*4や「機械学習*5まわりの勉強とプログラミングに熱中していました。とりあえず就活とかめんどくせーとか思って、わりと安易な気持ちで大学院に進学してしまいました。

当時の自分を今振り返ると、「日々新しい知識が増える」とか「試行錯誤してうまく行ったり失敗したりする」ことをとても楽しんでいました。知りたいことを知るために、論文を検索したり、書物をあたったり、海外ドキュメントを訳したり。それによってできる技能*6も増えていきましたし、そもそもなんでコンピューターが動いているのか、といった仕組みもなんとなくわかってきて、充実していました。また、それらをもとに「ああでもない」「こうでもない」と教授や学友と議論を交わすことも今思えば充実していたのだと思います。



また、研究室というものは大概そういう傾向があると思うのですが、修士学生はプチ専門家っぽいポジションになりがちです。

研究も何年かたち、実務レベルだと「担当している狭いテーマにおいて学内で一番詳しい」ポジションについてしまうというか、特に研究室が広範にテーマを扱っているようなところは、研究において主導的な立場であるべき指導教官が、実務レベルにおいては全く中身を把握していないということが往々にして起こりうるわけで、そうなると、いざ別の研究室に機材を貸し出す場合、企業なんかのお客さんにデモンストレーションを行う場合、研究室間の連携・学生の交換・留学の一貫として、素人にレクチャーをする場合、なんかに「自分しかできない」現象が起きるわけで。そういう「自分が必要とされている感覚」がとても気持ちよかったというのもありました。また、そうなると自己裁量権も増え、具体的にいうと「やることやってるから文句を言われない」「研究室に私物を持ち込む、コアタイムを守らないといった内規を乱すような行動も多少目をつぶられる」といった小規模な自由が利くようになるとか、そういうのもありました。

くわえて、今振り返ってみると、機械学習というわりと時代の先端っぽいツール・技術に触れ、実際に手を動かして作業することにより、「こんなに高尚な技術を扱えている自分はきっと高尚な人間に違いない」という誤った幻想まで抱いていたと思います。実際には、それらを発明したわけでも、なんなら数式から実装したわけでもなく、いわゆる「パッケージユーザー」として「プラモデルを組み立てる」程度の論理操作しかしていないにも関わらずです。

その幻想が、大学生活の端々で思わされていた*7、「自分は凡庸な人間である」という現実認識にうまくフタをしてくれて、「自分は特別な人間である*8」と思うことが可能でした。

「人はなんでプログラミングに夢中になるのか」

という問いは、1冊の本が書けるくらいには深遠なテーマだと思うのですが、その答えの一つとして、

「論理的あいまいさが排除されたタスクである」ということがあると思います。であるがゆえに、

「他のタスクに比べて、結果が出てくるのが早く、トライ&エラーが何回も繰り替えし行えることにより、達成感が増幅される」

点であるのではないかと思うのです。

どういうことかというと、例えば契約書類づくりというタスクを例にとると、基本的なルールがある、というのとか、誤字・脱字が許されないとかはプログラミングと同じなのですが、

プログラミング → ある機能を実現する

契約書類づくり → ある契約を履行させる

というゴールの違いがあり、実際に契約が履行されるかどうかは、契約終了まで正直なところ「よくわからない」。

人に伝わる文章になっているかとか、また、論理的な適切な言葉選びになっているかとか、多分に恣意的であり、

実際に発出してから間違いに気づいたり、間違っていても、誰も気づかなければそのまま通っちゃったりする。

プログラミングであれば、「間違い」というのは明確にすぐ結果として現れ、「動かない」であるとか「機能が十分でない」とか目に見える形として現れるという違いがあります。*9

特に、組み込み系とか動かしていると、自分がPCの前から動かずに設計したものが、現実に動力を伴って機能を実現している様とかを見たりとか、私のように、プログラミングの結果を成果物に用いたり、研究室内の地位向上に使ったりしていると、

「目の前の事物がプログラミング可能である、プログラマバブルであるという感覚」おおげさに言うと「世界はコントロールであるという感覚」さえ持つようになり、自己効力感の増強させた、というのが、私がプログラミングに夢中になった理由の一つだったりしました。

http://mopin-log.tumblr.com/post/152248472906/人間は本能としてコントロールする能力を失うと生きる力を失う-ハーバード大の社会心理学教授ダ
mopin-log.tumblr.com

「自分が何者であるのか」という問いに向き合わなくてはならなくなった。*10

夢は冷めるから夢であり、まあ平たく言うと、研究はそんな感じで楽しかったのですが、就活は思うようなものではなく、私は就職のために留年したのち、自分の希望や興味がまったくない仕事に就きました*11

就活がなんで辛いかというと、これも言おうとすれば無限に言えて*12、また、あまたのコンテンツで繰り返し語られることなので多くは語りません。

f:id:russENG:20161111032238p:plain
・あまたのコンテンツのひとつ。大好きです。

1個だけ語るとするなら、前述したような「自分が特別である」という幻想を打ち砕かれる場であることです。

ESを書くたびに、面接を受けるたびに、自分が機械学習の専門家でも、ベンチャー起業家でも、研究者でもなんでもなく、一人の、合コンしたときに場を盛り上げられないようなつまらない男でしかないことを実感しました。

そしてそういう理想像になるための努力について、人に語れるだけのものをしていない、自分の努力の方向性には、論理的な方向性がないことにも気づきました。

今すごく冷静になると、これもまだまだ認知が歪んでて、「仕事は定義として自己実現の場などではなく、金銭的利益と交換するなにかしらのアウトプットでしかなく、就活とは、決して自分が特別な存在であることを証明する場ではなく、自分が出来る(出来そうな)ことと、企業がやってほしいことをすり合わせる場でしかない」ということにも、当時の僕は気づけませんでした。



サカナクション - アイデンティティ(MUSIC VIDEO)

おしまい(そして、明日も自己効力感が感じられない仕事をします)

結論としては、このブログで、プログラミングのコード置き場とかあるツールの手順書だけじゃなくて、こういった仕事にまつわる個人の感想とか、あと映画とか、語る場にしようかと思ってます。


理由としては以下です。

・働いてからマジでコード書いたりしてる時間とエネルギーがなくて、全然更新できないから。

・働くために引っ越してから、身近にこういう話をできる友達がいないから。

・自分の興味のあることを全然できなくて、自分が何が好きな人間なのか忘れてしまいそうだから。

・自分の考えを文章にする機会がないと、どんどん馬鹿になっていく気がするから。

・転職の理由づくりの練習。

・自分が今いる「土木の分野」と憧れている「情報処理の分野」は、おんなじ「技術」ではあるけれど、「アウトプット」の規模感、や、知識・スキルの属人性など、対局にいるんじゃないか、という気づき等あり、「自分の仕事がなんでつまらないのか(逆に、こういった仕事がしたい)」という個人的な考えを、誰にでもわかるように文章にすることで、ある程度の考え方の汎用性みたいなものを持たせることができるのではないか、つまり、誰かにとって役に立つ検討にできるんではないか。と思ったので。


それでは。

*1:しかしながら自分の中では、「anti-realなengineering」というタイトルでブログを3年以上継続しているので、それなりに愛着のある場なのです。引っ越し後のこのブログにほとんど前記事を引き継いでいないですが。

*2:飲み会のレシートを並べてメンバーの精算の計算だけして帰る日とかもあります

*3:理系学部でしたが、そういった人文系の方法論を学べる環境も近くにありました

*4:画像計測で基礎段階の研究だったため、わりと原理的なことをしていました。物体検知や認識処理とかの華々しいソフト面の解析ではなく、ピント・露出などのカメラパラメータと得られる画像の相関を調べるなど、撮影環境まわりの研究室ノウハウレベルのハード面の検討が主でした

*5:サポートベクターマシンニューラルネットワーク、ランダムフォレストなどなど

*6:そういう研究事務処理系スキルに加えて、研究室で有償ライセンスの期限が切れるプログラム群を、Pythonに書き換えたりとか

*7:友達が少なく感じたり、合コンで失敗したり、学園祭実行委員会では自分の人望の無さを痛感したり、部活では大した戦績が残せなったり、バイトでは仕事が遅かったり、といった自分より見た目が良かったり、頭が良かったり、ものを知っていたりする人はたくさんいる、といったようないわゆる大学生的なやつ

*8:このことに関しては全否定するわけではありません。あくまでプライベートで思う分には、というか、自分は家族にとっては特別な人間である、とか考える分には健全だと思います。

*9:書いてて、これ自体が伝わる文章になっているか謎です。書き直すかもしれません。

*10:疲れてきたので巻きます

*11:逆に言うと、自分の大学の学部・研究室から、もっとも実績がある職場のみを受ける、というできるだけ家から出ず、エネルギーをつかわないやり方で就職しました。ESとかも人に書いてもらいました

*12:実際僕は就職留年してるとき、研究室にもいかず、自分が就活したくない理由、ひいては人間はなんで働かなければならないのかということをひたすらEvernoteに書きまくっていました。あとマルクスとか読んでました。