見出し画像

叩けよさらば開かれんとのたまうクマムシのお話

約1年前、はじめてエアークローゼットに出社した時、あまりの恐怖に膝が震えたことを思い出す。「まずは環境構築だね」、早よやれシャバガキが、そう言わんばかりの笑顔と明瞭な声に、僕は為す術もなく吸い込まれそうな黒い画面に意味不明な文字列を、絶望と共にコピー&ペーストし続けた。なにがoh-my-zshだ、僕は全てにoh-my-goshなんだよ。一丁前にVimを開いた所まではいいが、元の画面に戻れない。なんだこの黒い画面は。地獄か?
正月明け、新型コロナウイルスが、どうだ、と僕に凄むかのように猛威を奮っていた。僕は有象無象の未経験エンジニアだった。

はじめに

この記事はエアークローゼットアドベントカレンダーの14日目の記事です。
入社から約1年、エアークローゼット社のエンジニアインターンとして楽しく労働させていただいた日々を回顧しながら、忘備録的にその行いや気付きを綴ります。つまるところ回顧爺によるただの自己満ポエムです。最弱なので、技術的な知見は勿論、新たな発見もありません。未だ雑魚に毛が生えたような実力ですが、ここまでのプロセスを偉そうに語ります。どうでも良いですが、ここ一年で本当に髭が濃くなりました。寄る年波を感じずにはいられません。

* 冒頭の文言はほぼネタであり、エンジニアはもちろん社員の皆様は未熟者の私めを各所で大変優しく寛容に教育してくださいました。フラットな組織文化で思ったことを忌憚なくコミュニケーションできる合理性の高い素晴らしい企業です。

さて、お前誰やねんというお話ですが、休学したら留年していたという晴天の霹靂すぎる事実、あるいはクマムシでも死を免れない一撃を全身で受け止めて強く生きている限界文系大学生です。プログラミングは休学を機に学習開始し、エアークローゼットにインターンとして入社するまではiOSのシンプルかつ洗練されたUIが好きでSwift(+ Firebase)を独学していました。iOSの開発は基本的にXcodeで完結していたこと、バックエンドはFirebaseというBaasを利用していたことから、webフロントエンド・バックエンドの知識は勿論のこと、シェルでは簡易的なgitコマンド、及びpod init | install程度のコマンドしか叩いた経験がなく、低レイヤーな知識もほぼ皆無でした。

さて、また語り口が変わりますが、悪しからず。

2021年1月〜3月

無事なんとかググりとコピペと偉大なるCTO様に対する執拗な質問の集中砲火によって(今思うと甚大なるアウトプットを産出する最強エンジニアを相手に何をしてたのだというお話なのだが、誰だって最初はとんでもないお荷物であり負債だろう、多分、知らんけど。)環境構築が事なきを得ると、その後三ヶ月で各種サービスの機能改善・機能追加の案件を大小8つほど担当した。ちなみに入社三日目かその程度で、憎きコロナウイルスによってリモートワークを余儀なくされている。

「え、やばたん」

僕の脳が、言語を紡ぎ出すまで、1秒もかからなかった。初めてプロのエンジニアが開発した、先人達の叡智の集合であるソースコードを目の当たりにした訳だが、その量や質に関して、あまりの凄さに感嘆し、あるいは驚愕し、マスクの下では開いた口が塞がらなかった。ただただ気持ち悪い顔をしていたに違いない。

まあそれはさておき僕のエンジニア人生における初案件との格闘の火蓋が切られた訳だが、ソースコードを読んでも、どのメソッドがどこで呼ばれているか、そもそも任意のメソッドが意図する所が全く分からなかった。詰まる所は何もわからないわけだが、僕に出来ることは何故わからないのかという問題を分解し、分かる所を少しずつ増やすということだった。ただ、最初は知識不足が幾重にも連鎖的に発生しており、分からないことが分からず、問題の切り分けが出来るはずもない。その為、メンターに手解きを受け、機能改修すべき事象を意図的に発生させる状況まで導いてもらった。ようやくどのイベントが発火し、どのメソッドで問題が起こっているのか、改修するべきなのかが分かった。倒す敵がわかった僕は水を得た魚であり、もはや全知全能の神だった。

そこからは破竹の勢いでひたすらに色んなメソッドにログを仕込んだり、ちょっと記述を変えてみたり、ライブラリ(ReduxのミドルウェアであるRedux-sagaが何をしているのか最初本当に分からなかった)のドキュメントと格闘したりと徐々にソースコードの意図する所を掴み始めることができた。

また、退勤後にはJavascriptの言語理解を深めるために、Javascript Primer開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質(エアークローゼットきってのファッショニスタが教えてくれた秘伝の書である)といった本をひたすら読んでは、サンプルコードの改変・応用を行なっていた。昨夜読んだパートがドンピシャで次の日の業務に生きるという理論のインプット→実践(アウトプット)の好循環は理解の深度に大きく影響したに違いない。

とまあ、こんな訳で日進月歩で手の届く範囲の情報をとにかく流し込んでいる内にあっという間に僕の春休みは終わった。分からないことが分かるようになるということはその種別を問わず、とても充実感に溢れる知的体験であるが、この時期は毎日がアハ体験の連続であり脳汁をドパドパに放出し退勤していた。

この3ヶ月は主に前出のCTOに贅沢なことにメンターをしていただいたのだが、その感謝は筆舌に尽くし難い。いつだって人一倍の多忙さを感じさせず、その配下のメンバーのサポートをしながら、緊急事態には人知れずその問題をいつの間にか沈火し、プロダクトチームの舵を取るスーパーマンである。

2021年4月〜現在

既に著者が満腹なのでサラッと触れる。僕の悪い癖であり、反省している。

4月からはつい先日プレスリリースが出された倉庫管理システムの新規開発に携わることになった。起業・新規事業のワードに胸を昂らせてきた中身のない大学生にとってはこれ以上ない機会・経験だった。

それまでの案件での開発経験は皆無だった自信に少しばかり彩りを与えたが、その彩りは、この新規開発のインプットミーティング内で連発されたDDDという魔境ワールドの強烈な炎に焼き尽くされ、色褪せた。出てもいない杭に大きなハンマーが振り下ろされた。

このインプットミーティングを行ってくれた人物こそ、僕にこの1年で最も大きな影響を与えてくれた天才・海人先生(仮)である。技術的なサポートだけでなく、社会人としていかに上手く立ち回るか、正当な評価を得るための自己ブランディングの必要性など各方面から包括的なサポート、コーチングを行ってくれた人物である。入社3年目にしてトップ級の活躍をする一方で、イジられキャラであり、その人柄は温和で求心力があった。彼の周りはいつだって相談で溢れていた。常に寝不足なのに、chill drinkを日常的に愛飲する変態でもあった。いつだって天才は世間一般の考えに同調しない逆張り思考によって形づくられるのかもしれない。

とまあ、入社直後ぶりの大きな挫折から4月は始まったわけだ。それまでの開発は基本的に既にあるコードに追加的に機能を載せるというのが主だった為、0からAPIを作る経験は初めてであり、必然的にバックエンド側の知識のより一層の習得、前出のDDDの理解が急務だった。

真っ新なキャンバスに自由に絵を描けと言われると躊躇するタイプだった僕は、数日、いや1週間程か、既に開発されていた機能のソースコード、使われていたフレームワークのドキュメント、DDDの入門書等をひたすら読み込んだ。最低限の武器を揃えて、さあいざ、と最初のAPIを開発したのだが、レビューの嵐で忙殺された記憶がある。

この後は、強強エンジニアに囲まれた最高の環境で自己研鑽に勤しんだと超適当に要約し、割愛する。仕様変更によって初期に僕が開発したコードを修正する機会が幾度かあったのだが、自分のコードが汚過ぎて唖然として、急いで全て書き直したことは記憶に新しい。また、開発の中で、なぜそう書くのか?多くの選択肢がある中でなぜそれを選んだのか?という疑問を突きつけられる中で、ブラックボックス化していた選択の論理を言語化できるように勉強を意識するようになったという変化の実感や、積極的にGithubのissueやドキュメントを読むことに抵抗を覚えなくなったのもこの頃だった気がしている。巷の強強エンジニアは質問に対し、第一声にドキュメント読んだ?と聞くらしいが、正しく答えはそこにあることを実感した。更にはテストの重要性を実感したのもこの頃だった。それまでエンジニアの三大美徳の怠惰を誤解し、ガバガバテストに微塵も疑問を抱かないバカだったが、いかに網羅的にテストできているかとコードの品質という2変数は高い正の相関を持つことを結合テストの実施時に身をもって体感した。最近は、良いコードとはといった抽象概念や関数型プログラミングなどにも興味を持ち、それに付随してReactの勉強をしている。

おわりに

つらつらと書いてきたが、結局のところ、大小あれど、挫折→問題の特定・切り分け→周辺知識の習得→実践・解決のサイクルを常に回してきた1年だったように思う。そのサイクルを円滑に回せたのは、先輩エンジニアメンバーの方々の多大なるサポートによるものであり、末筆ながら感謝とお礼を述べたい。特に技術的なサポートはMr. King of Pop、いやBruno Mars先生(仮)を語らずして終わることはできないはずだったのだが、、

この後は、強強エンジニアに囲まれた最高の環境で自己研鑽に勤しんだと超適当に要約し、割愛する。

という僕の超絶技巧によってこの8ヶ月という期間を瞬殺してしまったので言及できずに終わったことをお詫びしたい。

昨日このような投稿を目にしたことが、このポエムを書く発端だったかと記憶している。自己内省及び未経験エンジニアの同志に対する励みとなるようなポエムを書きたかったが、少々、本筋がズレてしまったかもしれない。まあでも、1年の行いを内省したことに意味はあった気がしている。

ちなみにポエムのタイトルは適当につけた。タイトルに反してトプ画が糞転がしであることは触れるな危険。過酷な環境下でも、しぶとく生きるクマムシのように、芯ある生き方で来年も成長できますように。叩けよ、さらば開かん!


この記事が気に入ったらサポートをしてみませんか?