転職活動録

転職活動を行ったので記録を残す

概要

  • 期間:本格的な活動は約1〜2ヶ月
  • 転職軸:年収アップ、ドメイン整理、海外展開事業、SaaS
  • 媒体:Wantedly、Findy、知り合い(元同僚やビジネスパートナー)

やったこと

  • 履歴書、職務経歴書のアップデート
  • 各媒体の情報更新
  • 転職軸、価値観の確認
  • 企業調査
  • エージェントとの壁打ち

結論

  • 外資系企業のエンジニアに転職
  • 年収100〜150万アップ
  • 内定は3社
  • 壁打ちエージェントに早めに相談した方がいい
  • 人脈は資産
  • キャリアプランは自分で考えて作って行く

ICに戻れるだろうか

最近は、PMO(Project Management Office)、EM(Engineering Manager)、Tech Leadの立ち位置にいる。

組織の発足当初からいる人員としては人数が少なく、エンジニアとして営業にも参加していたが 後から人数が増えてエンジニアリングを任せるようになり自分はマネジメントをするという流れになっている。

アドバイス程度やメンバーの弱い箇所を埋めたりで手を動かしているが本格的にIC(Individual Contributor)に戻れるだろうか。 性格上は周りをサポートする人間性だとは思うのだけど、それだけだと自分がつまらなくなってしまうし時間が限られる。

割り切る必要がありそうだが難しい選択だ。

今できることを上手いように利用する。 技術選定はある程度裁量があるので実務経験として扱いたい技術を使うのはありだ。他の仕事をしながら勉強しながら大変だけど。

DjangoのWebページをframeで読み込む方法

Djangoのデフォルトの設定では、他ブラウザーからで読む込むことができない。(クリックジャッキング対策)

結論

  • setting.pyでProjectにX_FRAME_OPTIONSを設定
  • views.pyでmethod毎にX_FRAME_OPTIONSを除外する

setting.py

X_FRAME_OPTIONS = 'SAMEORIGIN'

views.py

from django.http import HttpResponse
from django.views.decorators.clickjacking import xframe_options_exempt  // add

@xframe_options_exempt  // add
def ok_to_load_in_a_frame(request):
    return HttpResponse("This page is safe to load in a frame on any site.")

docs.djangoproject.com

  • deny
    • デフォルト
    • 自他サイトどちらも読み込み不可に
  • sameorigin
    • 同じサイトであれば読み込み可能
  • allow-from uri(廃止)
    • uri で指定したサイトから読み込み可能

X-Frame-Options

developer.mozilla.org

データ分析や機械学習を少し勉強してみて

最近はCNNやDjangoでアプリを作っていた 機械学習のキャッチアップはやりたいことを絞った方がいい たくさんのライブラリがあるものの、中身の数学や理論を学ぶとなると範囲と量が多すぎる

Pythonでやるならライブラリをさっくり学ぶ

  • Numpy
    • Pythonで学術計算をするためのライブラリ
    • ndarray
    • 行列処理
  • Pandas
    • 表にしたり簡単にデータ処理したり
    • データ操作のための高速で効率的なデータフレーム (DataFrame) オブジェクトを扱う
  • Matplotlib
    • グラフツール
      • 物足りなくなってきたらSeaborn
  • Scikit-learn
  • Pillow
    • 画像処理
    • OpenCVを使うこともある

ディープラーニングのライブラリ

  • TensorFlow
  • Keras
    • 実装が楽になる
  • Chainer
    • 日本製

TensorFlowやKerasの情報が多いような気がする PytorchやMicrosoft Cognitive Toolkitなどもあるけど現場や今後の流れで何を使うか

リモートワーク環境を整える

引っ越しのシェアハウスが融通効くので 自分でリモートワークするためのアイテムを買いました。 今の時期は品不足が多く、すぐに届くものを選びました。

買ったもの

  • モニター
  • デスク
  • 椅子

モニター

  • 21.5か24インチかで迷いながら21.5インチを選択
  • 買って見ると24インチで良かった感がありますがなれるでしょう
  • HDMIが対応だったけどケーブルがなかったのが残念
  • 次買うのはC-TYPEのいいやつほしいな

デスク

椅子

Python 3 エンジニア認定基礎試験 受験記

結果

  • 結果は875/1000点で合格だった
  • 学習期間は二週間ほどで直前の休日とかに集中した

Python 3 エンジニア認定基礎試験を受けようと思ったきっかけ

  • Pythonは書いたことがなかったけど「Python3 スキルアップ教科書」で学習をしたのでその副産物として受けてみようと思った次第

xinxinx-tech.hateblo.jp

docs.python.org

出題範囲について

www.pythonic-exam.com に載っているとおり、出題範囲が決まっている

オライリー・ジャパン「Pythonチュートリアル 第3版」の掲載内容を出題範囲
1章 食欲をそそってみようか 1問 2.5%
2章 Pythonインタープリタの使い方 1問 2.5%
3章 気楽な入門編 6問 15.0%
4章 制御構造ツール 9問 22.5%
5章 データ構造 7問 17.5%
6章 モジュール 2問 5.0%
7章 入出力 1問 2.5%
8章 エラーと例外 4問 10.0%
9章 クラス 2問 5.0%
10章 標準ライブラリめぐり 4問 10.0%
11章 標準ライブラリめぐり─PartII 1問 2.5%
12章 仮想環境とパッケージ 1問 2.5%
13章 次はなに? 0問 0.0%
14章 対話環境での入力行編集とヒストリ置換 1問 2.5%
合計 40問 100.0%

勉強方法について

模擬試験を受ける

  • 教材を一周したら模擬試験を受けて自分の理解度を確認する
  • 先に受けてどんな問題が出題されるか確認してもいい
    • python触ったことがない人がいきなりやっても意味不明かもしれない
    • 実務で触っている人は最初に力試しで一度やってみてチュートリアルを確認する方がいいかもしれない

exam.diveintocode.jp

  • 模擬試験については満点を取るまでやる
  • 間違えた箇所は答えを覚えるのではなく、仕様や挙動を確認する
    • 値を変えたりして実行して確認する
    • 解説とかはググったら結構見つかる
  • 半分くらいは似たような問題が出題される

模擬試験の経過

  • 一番最初は600点だった… f:id:xinxinx:20200214231201p:plain

Kindle Unlimitedなどで無料の問題集とか解いてみる

出題数が多い箇所を中心に復習

  • 3章、4章、5章、8章、10章を中心に復習する
    • 自分の得意で理解できない箇所
    • 自分の不得意な箇所
  • 出題範囲を眺めると分かるとおり、章によって情報が違うので短い章なら出そうな問題が絞込める

所感とか

  • 技術系の試験の中では基礎試験というだけあって簡単な分類に入ると思う
  • 合格したと言っても基礎的な仕様を理解しただけなのでこれからも勉強だ
  • 次はPython3エンジニア認定データ分析試験でも受けてみようかな
    • 2020年の春に受けれそう?

参考

Python3エンジニア認定基礎試験の効率的な勉強方法!

「Python3 スキルアップ教科書」を読んだ

読んだ人について

【こんな人におすすめ】

  • 簡単な入門書を読んで、さらにPythonについて学びたい人
  • Python チュートリアルが続かなかった人
    • 翻訳や誤字などが怪しかったりする?
    • チュートリアルよりは詳しく載っている気がします
  • Python 3エンジニア認定基礎試験」に合格したい人 -「Pythonエンジニア育成推進協会」が監修しているので試験合格のために
  • 他の言語をある程度触っている人
  • 初学者にとっては難しくて身にならないかもしれない

所感や気になったところ

  • 各項目で解説付きの問題があって読んでinputだけで終わらない
  • 数学的な話がある
  • 問題の意味が分からないところがある
    • paizeとかと似たような感じ(本人の読解力がないで片がつく)
  • webなどにサンプルコードなどがない
    • 長いコードすべて写経がつらい
  • Python チュートリアルを準拠せいか内容の順番とかに変なところがある
    • 読み手にとって親切な本の構成ではない箇所がある

Pythonエンジニア育成推進協会監修 Python 3スキルアップ教科書

Pythonエンジニア育成推進協会監修 Python 3スキルアップ教科書