私はキャベツです。美味しいキャベツがいかに培養され、出荷するのかをキャベツ視点でお送りしたいと思います。
きっかけ
「純粋培養競技プログラマが就職して1年」みたいなブログがよみたい。どんなことを身に着けて何が出来るようになったかみたいな。
— chokudai(高橋 直大)🍆 (@chokudai) October 28, 2020
2018-04 冷やし Python はじめました!
奨学金が途絶えました。
悲しいですね。そこでアルバイトの量を増やしてガンガン稼ぎたいと思いたち、各種求人サイトを舐めるように見るなどです。
私「むーん、やはり時給を考えると月労働時間が決まってきてしまいますね。一応私研究もしたいのですがぐちぐち……」
キラーン「時給 1500 円」
私「なるほどです!」
キラーン「プログラミn
私「(そっ閉じ…」
私「この流れ何回目ですか!? えーい、プヨグラミングがなんぼのもんだとおっしゃるのですか! 私だって、私だって…!!」
TeX が苦手すぎて修論手書き提出を検討した私「……むーん」
根拠のない自信に定評のある私「いえ、何を隠そう私は天才。やってできないことなどあるわけなーーい!!!!」
その日から数理学研究棟にはプログラミング言語 Python の入門書を片手にうんうんうなる不審者の姿が見えるようになるなどです。懐かしいですね。
足し算、引き算、関数まではなんとかなるのですが、クラスとなるととたんにわけがわからなかったので、ひたすら知っているアルゴリズムを実装していました。分割の全列挙や、最推しである Robinson–Schensted–Knuth correspondence - Wikipedia のコンピュータによる実装です。それまでの私、アルゴリズムをコンピュータで動かすという発想がなく(← 今考えると意味不明すぎませんか!?)、複雑な処理も一瞬でやってくださる金属の箱が途端に輝いて見えました。(← 金属光沢です。)
さてしかし目的はアルバイト探しなわけで、ともあれガンガン書いてなれていく必要があります。しかし特に作りたいものがあるというわけではなくお悩みでして、そんななか出会ったのがこのサイトです。じゃじゃーん!
あの…… chokudai さん怒らないでください(泣)
2018-06 アルバイトをはじめました。
そこから 1 ヶ月くらいして、Paiza でそれなりの成績を収められるようになってきたので、改めてアルバイトを探してみるなどです。そうするとびっくりですね。選び放題です。(← 情報商材ですか!?)
というわけで 株式会社ジョイズ さんに拾っていただき、Python3 で NLP (自然言語処理)のアルバイトを始めることになりました。面接ではそれはそれはひどいこと。Jupyter notebook を渡されて、ここに書いてくださいということなのですが、これがまた私は使い方がわからないのでしてね、ええ。当時の私は paiza.io 一本でして、Python に 2 と 3 があることさえ知らなかったわけです。よくぞ採ってくださいました。本当にありがとうございます。
それから私は、ひたすら単純作業をするコーディング職人をしていました。かなーりゆっくり書いていたつもり(← シーッ!シーッ!!!)なのですが、コミットログを拝見する限り相当速い方だったようで、求人のコンセプト的には十分すぎる働きができたのかなと思っています。やはり Paiza で練習したのが活きています。
経済的にも大きく向上しました。とても楽なお仕事。出社不要。時給 1500 円。それまでなら考えられないくらいの高待遇です。
2018-10 ごめんなさいね、chokudai さんお待たせいたしました。
これはじめました。
2019-03 アルバイト切り替え
プログラミングを、一時的な稼ぎ頭ではくて、自分のスキルにしたいと思い始めたのがこの頃です。単調で責任のないお仕事に大きな不満はなく、むしろ私の大学院生活を支えてくださった感謝は計り知れません。(ちなみになのですが、身近なノンプログラマ学生のお友達に英語のお仕事ご紹介いたしました。ホワイトっぷりに大変満足されており、私も嬉しいです!)
そこで、お世話になった株式会社 Joyz さんに感謝と別れを告げ、当時リリースされたばかりだったとある求人サイトに手を出しました。はい、お待ちかねです。でーん!
AtCoder Jobs さんです!!
当時アルバイトの求人数が少なく、私が行けそうなところがキャディくらいしかありませんでした。(小声)
ここの面接も懐かしいですね。当時の私は水色コーダー、簡単なアルゴリズムなら目をつぶってもかけます。どんな問題でもどんとこーい! メイン言語も C++ らしいですし、言語機能もなんとかんるでしょう!(謎の自信)(数ヶ月前に Python -> C++ で切り替えた私)
面接官さん「……というのをコードで書くとどうなりますか?」
使ったこともない struct
という機能を持ち出して背伸びしようとする純粋培養キャベツ私「えっとまずは Point
という構造体を作ってですね?」
面接官さん A「私この文法知らないです。」
C++ に詳しい面接官さん B「こんな文法ないですね。」
右手親指を立て墓穴に沈んでいく私「アッ、アッ……」
面接官さん A「コードじゃなくていいですよ。数式でも……」
そこから 1 文字も C++ を書かずに終わった面接。ホワイトボードにいくつかの数式。
これはなんですか?
でもなぜかそんな私を雇ってくださいました。ジョインしてからも、Linux がどうですとか、CMake だ Boost だ OpenCascade だと、ガンガンパソコンネタが降ってきてそれはそれは何もわからないわけです。しかしCAD と C++ の基礎知識を多大なる教育コストを持って叩き込んでくださり、無事お仕事を始めることができましたとさ。
ちゃんちゃん。
2019-08 就職活動
いろいろあってキャディに残りました。
アルバイト経由なのでぬるっと入れましたが、私のような生キャベツは新規さんならお断りだったかもしれません。運が良かったですね。おかげさまでいまはドレッシングも付属しております。
2021-03-17 プログラミングを始めてもうすぐ 3 年。今!
お仕事楽しいです。競技プログラミング楽しいです。
お仕事では、主に Rust でコストロジックの実装をしています。主に社内向けの Web サービスなのですが、アーキテクチャも大まかには理解して、Web 系のコンポーネント(TypeScript)も触れなくはないくらいになりました。ソフトウェアエンジニアとしてまだまだではあるものの、数学とアルゴリズムの強みが活かせているように感じます。キャディジョイン序盤に取り組んでいて身についた CAD の知識もどこかで使いたいですね。CAD の理論は思った以上にきれいで面白いです。うぃーーん(NC 加工機の音)
今一番やりたいこと、それはレッドコーダーです! でもまずは橙コーダーになりたいですね。今後ともよろしくお願いいたします。(あれ? お仕事は?)