nikkie-ftnextの日記

イベントレポートや読書メモを発信

転職エントリ | Pythonを業務で書き始めて9ヶ月が経ちました

はじめに

頑張れば、何かがあるって、信じてる。nikkieです。
2020年第1弾は、転職 して9ヶ月経ちました エントリです。
2019年4月から業務でPythonをガッツリ書いて、自然言語処理に携わっています。
転職時期がPyCon JP 2019スタッフ活動の動き出しと重なったことで、アウトプットのタイミングが見つけられず、ここまで来てしまいました。
新年ということで、2020年の抱負も書きます。

前回の退職エントリ!

時系列を整理すると

  • 2016年4月から中小規模のSIerにて受託開発に従事(新卒入社)
  • 2018年8月に転職 @ キカガク
  • 2019年4月に再度転職

です。

なぜ転職したか

一番の理由は、「開発ができる環境に身を置きたくて」です。
前職にはRailsでの自社サービス開発のお話と一緒に転職の機会をいただきました。
相当なキャッチアップを覚悟して入りましたが、入社後1ヶ月程度で自社サービス開発をしないという決定になりました。
そこからは

  • 会社のサイトのコンテンツを微修正したり
  • Google Analyticsでサイトへの流量を見て施策を考えたり
  • 機械学習や深層学習のセミナーをバックアップする調査をしたり
  • セミナーのテキストを執筆したり

していました。
これらに取り組む中で「開発に携わりたい」という想いが強くなっていきます。

  • 教材作成のゴールは何かのアウトプット
    • アウトプットのために手を動かしているが、自分の中に蓄積される知識が少ないという感覚を抱え始める
    • 開発する中でハマりながら知識が増えていくという経験が好きだった
  • インプットの内容が開発から外れてきた
    • 業務で必要になったGoogle Analyticsなど
    • 新しいことを知るのは好きですが、開発を外れたテーマでのインプットにあまりワクワクしていない自分に気づく

どう転職したか

転職の機会はコミュニティでのつながりからいただきました。
2017年に出たハッカソンで同じチームだった方と、2018年8月にDjango Girlsのコーチ meetupで再会します。
ここで「選考を受けてみませんか」とお声掛けいただくのですが、当時は転職したばかりなので、「ありがたいお話ですが、転職したばかりなので、今すぐは難しいです」という回答をしました。
その後10月、11月のDjango Girls Workshopでもお会いし、近況報告しています。

12月頃からマーケティングに携わることになり、それまでより開発から遠ざかったことで、選考の話を機会としてとらえるようになります。
「たとえ選考に通らなくても、動いたことには意味がある」と考え1、2018年12月に選考に応募しました。
思えば、2019年の年始は選考の準備として、職務経歴書などを書いていました。

何が変わったか - 9ヶ月働いてみて

業務でPythonを書けるようになりました!
趣味で始めて1年半経って実現です。
これがめちゃくちゃ嬉しかったです。
(それまでは自動化などでこっそり書いていました)

テキストを前処理したり、それらからモデルを作ったり、運用のためのスクリプトを書いたりしています。
独学Pythonista(私)は、周りの熟練Pythonistaの中で、独学で至らなかった点を日々痛感しています。
例えば以下の項目を独学では全然やりきれていなかったこと2が白日の下に晒されました。

  • linterやformatter
  • クラス(dataclass
  • テスト(unittest
  • パッケージング(setup.py

9ヶ月やってきたことは振り返ると以下の3点だったと思います:

2019年下半期は「Pythonでの開発の仕方」に慣れる時間でした。
海外のPyConに参加して「データサイエンティストのコードはきれいに書かれにくい」というインプットを受け、「Pythonでうまく開発したい」という想いで取り組んできました。
テストを書くとまだ遅く引き続き修練が必要ですが、独学だけだった時代に比べたら、Pythonを使った開発は深まったと思います。

業務への取り組み方やカルチャーも大きく変わりました。

働いているチームではXPが実践されています。
9ヶ月の中でペアプロの機会もありました。
徒然草の「上手い人の中に交じって」の心持ちです。

組織のカルチャーとして圧倒的に自由に働ける環境です。
何時から何時まで働くかは一人ひとりが決め、業務で取り組むことも一人ひとりの意志と噛み合うように決める。
4月入社して取り組むプロジェクトを決めた時「やりたいプロジェクトは何ですか」と問われたことは新鮮でした。

  • 2019年から始めたPyCon JPスタッフ業などをはじめ、コミュニティ活動と両立しやすくありがたい環境です
  • 有給とは別に、半年に1回、7日間連続した休暇が取れます。PyCon JP→Taiwanには、こちらを使いました

今後

非常に恵まれた環境にいると感じていますが、「環境にフリーライドしたくない、してはいけない」という思いも抱いています。
Pythonの開発力の最低限の底上げはされ、自動化スクリプトは何であれだいたい書けるようになりました。
Web開発もDjango Girls Tutorialとその周辺は身に着いています(ただし自作アプリの開発経験はなし)。
そうなると直近で優先度を上げて取り組むべきは、自然言語処理機械学習)のキャッチアップということになります。
そこで、週一ブログで自然言語処理ネタでアウトプットし、キャッチアップを進めます。
3月までの1クールは「ブログ駆動自然言語処理キャッチアップ」を進めます。

このエントリを書いていて気づいたのですが、転職が唯一ではなく、別の道もあったかもしれません。
開発できる機会を提案して、自分のやりたいこととのバランスを取っていく道です。
ただ、独力でWebアプリが開発できるという自信がなかった1年前の私にはこの道は見えていませんでした。
Django Congressでの登壇に向けての準備を通して、「独力でもWebアプリが作れそう」と思えてきました。
開発に携わりたいのであれば、自分のいる環境を開発できる環境に変えられるように力を蓄えておくというのは重要だと気づきました。
成し遂げたいことが空白な4月以降となりますが、2020年は何らかのWebアプリを独力で開発してみようと思います。

最後に

転職・退職エントリでおなじみのほしいものリストにならって、PyCon JP 2020のスタッフ募集フォームを貼っておきます。
8月末の開催に向けて、スタッフ絶賛募集中です!
いまはどんなカンファレンスにするか、大まかな設計の時期です。
興味ある方のご応募をお待ちしています!

nikkie自身は技術同人誌によるアウトプットを始めました。
よろしければboothを訪れてみてください。

それでは、気持ちも新たに、新年、張り切っていきましょう!


  1. なお、選考に通らなかった場合は、別の形で開発に携わる方法を模索しようと考えていました(候補の1つがギルドワークスさん)

  2. 2020年中にアウトプットできたらいいなと思います。