.py)から約1年半、再び転職しました。データエンジニア(new)という感じのキャリアです。前職は職種的には「データサイエンティスト」をしていました。受託の分析会社でお客さん先にいってミーティングしたり、分析したりする感じです。データサイエンティストとして働いてみて、ゲームプログラマよりはデータサイエンティストの仕事のほうが楽しいなーと感じました。競プロで培ったアルゴリズムが使えることも多々あって、嬉しかったです。転職当初はビジネス視点・社内/客前でのプレゼン力の無さには絶望しました。いうのを何度も何度も悩みました。慣れない仕事も多かったですが、同年代のメンバーが多くたくさん友達ができて楽しかったです。最後の方はマネージャとしてメンバーのアサインを決めたりなんかもしていて、マネジメントの難しさを少しだけ体感することができました。マネジメント側の仕事をする機会はなさそうだけど、次はメンバーとしてマネジメント側の立場も考えた上での振る舞いをしていけたらと思っています。今回は会社の方針と自分の考えの不一致で転職を決めました。色んな会社の話を聞いて、面白そうなところをうけてみようという受け身なスタンスでした。自分に向いてる会社を自分で探す必要があるが、知らない会社にリーチしづらいなかなか返信をいただけない企業に対して自分でステータス確認をする必要があるという点は仕事しながら転職活動をする上で特に大変でした。受けてみたいと思えるポジションを探すため、自分の中の希望をとにかく書き出しました。それから、それらの希望を本当に求めているものただのわがまま我慢できることやりたくないことに分類し、自分がどうしたいのか、ゆっくり向かい合いました。得意なPythonもしくは(自分が書いてて楽しい)静的型付言語を利用できるを満たす中で一番自分を高く買ってくれる会社に行きたいという方針に決めました。自分の性質をよく知っている友人たちに面白いポジションははないかと聞いて回りました。会社と内容にワクワクした以下の3つのお仕事のポジションを受けさせていただきました。選んだポジションによって今後の自分の人生も結構かわるなーとワクワクしていました。3.の会社に行くことにしました。分析のみに絞るよりもエンジニアリング要素があったほうが自分の強みを活かせると感じた面接で自分のスキルセットを確認していただくと同時に、丁寧な仕事内容の説明/チームメンバーのほとんどに会わせていただいたことで、面接の時点で自分がそのポジションで仕事をするイメージが明確にできたという点が大きかったです。新しい仕事の話9/1に入社して、1週間たちました。仕事内容としては上にも書いたようにGoでミドルウェア作ったりPythonでモデル作ったりそれをデプロイしたりする、分析屋/エンジニア/インフラを兼任するみたいな感じです。分析に関わるエンジニアリングをまるっとやるということで、「データエンジニア」か「MLエンジニア」あたりで名乗っていこうと思います。転職直後の様子はこんな感じです。2018会社の飲み物が飲み放題なので無限に水分摂取してる。糖分は頑張って控える・・・。2018年9月10日さいごに転職活動にあたりポジションを紹介してくれた皆様、本当にありがとうございました!いろんな会社があることを知れてとても面白かったです。自分の経験を活かしつつ、チームに貢献できるよう頑張っていきたいと思います。前職に転職してから、技術書以外の本でいろいろ本を読むようになりました。書くこともなさそうなのでここでちょびっとだけ紹介しておきます。プレゼンの資料作りがめちゃくちゃ苦手な私のはとても勉強になった本でした。これ読んで資料数個つくってから、資料作りのペースが半分くらいになった気がする。社会人になりたての新卒に仕事の仕方を伝えるときの表現としてもつかえる内容の多い本でした。いうイベントで、最近のPythonについて発表してきました。cocodripswww.slideshare.netせっかくなのでポイントだけでも書き起こして見ようと思います。428)pathlibはファイルパスに関するモジュールで3.4で導入されました。build-inのopenやos.pathモジュールがpathlib.Pathオブジェクトを受け入れられるようになったのがPython3.6(PEP519)となっています。3.6以降ではぜひos.pathよりもpathlibを優先して使っていきたいです。os.path.dirname(os.path.abspath(__file__))こんなかんじでos.pathモジュールを駆使していました。親ディレクトリの取得みたいに直感的にかけるようになりました。ディレクトリ以下のファイルの探索ディレクトリ以下のcsvファイル探索をこんなふうに簡単にかけます。os.walkを使って書いてたのに比べるとだいぶ楽ちんです。484)TypeHintっていうのは引数や関数の返り値に型注釈をつけられる仕様です。'str'>}このサンプルだと引数nameはstr型であり関数greetingはstr型を返すということを示しています。実際にビルドするときに型チェック等は行われるわけではありません。この構文によってIDE等での解析が可能になります。その時点ではまだクラスCはクラスCの存在を知らず、実行時にエラーが起こってしまっていました。型注釈の評価が実行時に行われるようになり、このサンプルのような前方参照が可能になりました。これでTypeHintがかなり使いやすくなったのではないかと思います。annotationsの一文が必要になります。この挙動は4.0から標準の挙動になる予定です。__ge__を自動的に生成できるDataClassが3.7で導入されました。itemsの3つをもったUserクラスを定義しようとすると、こんな感じでした。引数と代入部分で何度も同じ変数名書くのめんどくさい...と思ったことないですか。私はよく正規表現駆使して__init__生成してました。[]というように書くことはできません。インスタンス間でオブジェクトがシェアされるような挙動になってしまうためです。上記コードはこんな感じになります。items=[])__init__や__repr__をかかなくてもよくなり、すっきりしました。このdataclassesモジュールのfield関数を使うとデフォルト値としてlistのようなmutableなvalueを設定できます!dataclassは、あくまで自動で特殊関数をはやしてくれる普通のクラスなので、どんどんこの機能は使っていけたらいいなと思っています。update他にも特に面白そうな新規機能としては以下を挙げておきます。Python.org興味がある方は見てみてください。Python3.8Python3.8はいまのところ2019年10月にリリース予定です。Expression(代入演算子)の導入」があるのでこれについて少しだけ書いていきます。match.group(1)代入演算子を使うと、こんな感じで代入と評価を同時にすることができます。match.group(1)便利ですね。これは本当にPythonicなのか?ということで、導入までには議論を呼びました。it.にもあるように「同じことを複数の書き方ができるようにしない」ということを大切にしています。Pythonはインクリメント演算子もないくらいその部分を気にしているのに、:=はいいのか・・・という気持ちは個人的にはあります。そのあたりは柔軟になっていくのかもしれないです。最終意思決定者)であるGuidoがBDFLの引退を発表しました。あとはみんなで決めてね、というように言っています。今後のPythonの意思決定がどうなっていくかは追っていきたいところです。読者になる他の活動場所Coco*Dripsひよこ、通勤中。-様々なプログラミングコンテストとそのはじめ方-Searchスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。