アルバイトについて

技術的なことが書けないのでふと思いついたことを書いてみる。

今まで自分が関わってきたアルバイトについて振り返ってみる。

どのバイトでもNDA(秘密保持契約)があるので、業務内容ではなく自分自身について書く。

某研究室のアルバイト

自然言語処理を研究する研究室でアルバイトの募集があった。学部2年の時だったから、3年前か。応募メールの日付を確認したところ2012年の9月末だった。当時の自分は情報系の学生ながらも何もできない状況だったと思う。

この研究室で学部3年の冬、2014年の1月くらいまでアルバイトをさせてもらっていた。ここでの経験がほぼ今の自分を形作っている。

課題を与えられて週1の進捗報告を交えつつ自学自習の形で作業を行っていた。PythonC++、各種コマンドやgitを覚えた。(gitは今でも怪しい) とりあえず基本はemacsコマンドラインでにらめっこ、わかんなかったらググる、という感覚になった。

テスト期間や帰省など途中で休みを交えつつ課題をこなしていった。結果は奮わないことがほとんどだったが、着実に力は身についていったように思う。作業自体は1人だったので色々と気楽な部分もあった。研究室の環境を使わせてもらっていたので、勝手がわからず色々と迷惑をかけてしまったこともあった。本当にサーバー周りでは何度嫌な汗をかいたかわからない。

学部4年になり研究室配属が決まったので一旦アルバイトをやめることにした。

現在しているアルバイト(今まで)

研究室の先輩が以前お世話になった方の元でデータ解析のアルバイトをしていると聞いた。前回のバイトの業務からデータを扱う仕事はとても気になっていた。ビッグデータとかデータサイエンティストとか流行りの単語もあったし、この手の経験をしておけば今後食いっぱぐれにくくなるだろうと、先輩に自分も加わりたいと願い出た。

こちらもメールの日付をみたところ2014年の9月頭だった。9月に職にありつくジンクスでもあるらしい。既にチームで走りだしていたようなので、作業のキャッチアップに時間がかかると思いきや、その月の下旬にはタスクをこなしていた。

前のバイトと違いこちらはチーム戦になった。用意してあった時系列データを2チームに分かれて解析した。チーム間で作業は独立していたが、時には同じ作業を各々こなして互いの手順の正しさを確認することもあった。

一緒にチームを組んだ前述の先輩がとんでもなく優秀なエンジニアだったので学ぶことが多く、色々と勉強させてもらった。傍から見てめんどくさそうな作業をホイホイ引き受けて「え、マジっすか」と思っていたらいつの間にかササッと仕上げている様子には感服するしかなかった。逆に「これならSQLに命令追加して叩くだけで大丈夫っすね」と言ったらすごいと褒められることもあった。ああ、やはり世によく見受けられる1人よりもチームがいいという言説は嘘じゃなかったんだなと本気で思った。

こちらも週1でミーティングがあり、その間の課題をこなしていく形だが、作業・解析の提案なども行わなければならない。単純にアルゴリズムを実行するコードを書くだけでなく、どのアルゴリズムを採用するかなども一緒に考える。仕事のレイヤーが1つ上がった感じ。

現在しているアルバイト(これから)

件の先輩が卒業してしまったので現状チームを組む相手がいなくなってしまった。

このままではチームに割り振られるタスクを1人でこなす必要がある。作業量よりも心理的な負担や、相談相手がいなくなったことが厳しい。そうでなくとも最悪でも卒業までに1人は後任を確保しなければならない。

だが、そううまい具合に人材が見つからない。仕方がないので質を問わず、ともかく手の空いている人を募集することにした。最悪コード周りは全て自分でやればいいから、ともかく相談相手が必要だ。

探してみたところ、二人ほどアテがついた。この二人に作業に加われるよう教育を施し、チームとしてマネジメントしていけばやっていけるようになるかもしれない。

そういった経緯で「教育って一体何したらいいんだよ」と頭を抱えながらgitとpythonを教えている。pythonで動的にSQLを作成し、SELECT結果をpython側であれそれできるようになってくれれば十分だが、そこまでが途方もなく遠く感じる。

(ただしまだアルバイト志望の二人に関してはあくまで"予定"。

もしダメだったとしてもgitとpythonの知識は二人の無駄にはならないだろう)

バイトを通して

プログラミングに関わるバイトはこれで4年目ということになる。

1-2年目:基礎の時間

プログラマとしての感覚、というか。SSHでサーバに入ってtopでリソースの空きを確認してからtmux上でプログラムを並列に回してデタッチして授業に出る、みたいなことを平然とできるようになった。

基礎練というか、ゲームとして成り立たせることができるようになったというか。

3年目:ステップアップの時間

単純なスキルを身につける、できないことを減らすというのとはまた違う経験ができた。1人では得られない経験というやつ。人と一緒に仕事をしたからか頭打ちに感じていた成長率に先を感じられるようになった。

コートに立てるようになったというか、チームメンバーとの連携を覚えたというか。

4年目:成果の時間(?)

今まで自分が得た経験を人に与え、適切な仕事の割り振る。これらを今までの作業と同時並行にこなすのかと思うとちょっと自信がない。けどコードを書かずにいれるわけもないし、何よりデータを解析するという一番面白い作業を手放す道理もない。 また1つレイヤーが上がりそうな気もする。チームギークとかアジャイルとかの本でも読むべきだろうか。

チームを回す役割、キャプテンにでもなった気分。トップではないので中間管理職。

おまけ

現状を把握するために文章化してみた。

書く前から薄々感じていたのだけどなんだかこれ社会人の経歴のような……