freeeへ論理入社をした話

freeeへ論理入社をした話

はじめに

こちらの記事は転職ドラフト体験談投稿キャンペーンに参加しています。

20代も後半も入ったので健康を意識しようと思い、まずは発酵食品を食べるのを習慣にしようかなと、糠漬けのために糠を買った@dais0nです。コロナ下の3月から転職ドラフトを使い転職活動を始め、5月にヤフー株式会社を退社し、freee株式会社にエンジニアとしてJoinしました。

本記事では、転職のきっかけや、転職にあたって利用させてもらった転職ドラフトについて、また現在働いているfreee社について素直な感想を書いていきたいと思います。

転職のきっかけ

転職のきっかけは、ヤフーに新卒で入社してから約3年経ち、案件をこなすにしても、慣れによって特に悩むだったり新しく学ぶことが少なく、自分にとって少し快適すぎると感じていました。

快適環境に留まり続けるのは正直最高ですが、20代のうちはまだ何もわからんと頭を悩ましながら仕事をしていくのも良いかなと思っていました。

そして、社内の別のチームにいくか、会社を変えてしまうかと考えたときに、まずは転職活動をしてみて、自分の市場価値がどれくらいなのかを見てみようと。それから、転職するか社内の別チームにいくのかを考えても良いのかなと思って転職活動をはじめました。

結果転職をしたわけですが、前職には特に転職を決めるような不満はなく、楽しい3年間を過ごさせてもらいました。ここまで組織として成熟している会社はなかなかないと思うので、新卒として入れてエンジニアリングだけでなく、組織に関しても色々学ばさせてもらえたのは本当にラッキーでした。

転職ドラフトについて

転職ドラフトを使おうと思ったきっかけが、前職で転職活動をしてる同僚から、最終面接後のオファーで年収だったり、業務内容が不満で交渉をするために面接を重ねたり、それでも納得いかない場合は断ってしまったという話を少なからず聞きました。

自分にとっては働きながら転職活動をすることはとてもエネルギーが必要なことで、できれば自分の提示した条件を最後にひっくり返されるといったことは避けたいと思っていました。

転職ドラフトでは、ユーザーのレジュメを見た企業から最初に年収と業務内容(つまりオファー)が提示され、その後に採用面接が行われます。年収は転職ドラフトを通じオファーを行って採用した場合、年収の9割は保証しなければいけないというルールもあります。

そのため、採用面接では最初に出したオファーに適う人材かも見られています。そこまで価値がないと思われれば落とされるのですが、自分にとってそれは仕方のないことで呑み込めます。

またオファー内容から自分の市場価値及び、企業がオファーしている人材のレジュメが見れたりもするので、見ているうちに企業がどんな人材を欲しているかもわかったりするので、ひとまず登録してみるのもオススメのサービスです。

freeeについて

現在働いているfreee社は、オープンな文化で、日々新しい制度を試してみてたり、エンジニアも個人でガツガツ発信したりしてます。毎日スピード感があります。

入ってみて面白いなと思ったのは、マネージャはただの役割なので、上下関係はなく社員としては対等なものであるといったことが明言されていたり、マネージャも全員プレイヤーでガンガンコード書くプレイングマネージャです。そのため、上司と部下といった通常ある組織感が希薄だったことです。

開発に関しても、トップダウン的な案件もありますが、どちらかというとボトムアップで決めてスクラムでわいわい案件をこなしていったり、わりと自由に働けるのかなといった感じです。

個人の裁量でやりたいことをしたい!ガンガン働きたい!みたいなプレイヤーにはとても良い組織だと思います。

逆に、前職と比べて、組織的な部分がまだ未成熟で個人の能力に委ねられている部分が多く、組織や制度がしっかりしているのが好きな人はあまり向いていないかもしれません。

ここはfreeeに限らず、ベンチャー向いているかみたいな部分かなと思ってます。

論理入社について

自分はfreeeへは面接から、入社、業務までフルリモートで行いました。オフィスに行ったのも、開発メンバーに物理的に会ったのも入社からしばらく経ってからで、直属のマネージャとは入社から3ヶ月以上経った今でも未だに物理的に顔を合わせたことはありません。

コロナが収束した後でも、働き方に関しては不可逆で、リモートで働くことが普通になると思います。論理入社世代として、リモートで入社して働き始める上で、自分なりにやったほうがよいんじゃないかなみたいなものを掴んできたので、最後に紹介できればと思います。

1. 定期的に雑談をする場を設ける

今のチームでは夕方に参加自由なティータイムを30分程度設定してもらっています。そこでコーヒーを飲んだりしながら何気ない雑談だったり、仕事の相談だったりをします。

物理だとなんとなーく会話が聞こえたりして、チームメンバーの人となりがわかったり、周りの人が相談したりしているのを見たり、生活リズムが把握できることによって、相談すべきタイミングを掴むことができます。

リモートだと、上記がほぼわからないので、最初は相談しにくかったり、変な遠慮をしてしまいがちになるかと思います。相談し、お互いの雰囲気をわかってもらう時間をとることで、リモート入社をする人も仕事がしやすくなるんじゃないかなと思います。

2. オンライン上に自分の席を作る

これは、常に常駐しているオープンなハングアウトの部屋などを作ったりするということです。これをすることで、なんか自分に用がある人はそこに入ってきてくれます。自分から話かけてもらいやすい環境を作ります。

あと、やはり見られているという意識は大事かなと思っていて、誰もがそこに入ってくるので、いつ見られても大丈夫なように気が引き締まります。自宅より、カフェだと集中力が上がる人っていますよね。それと同じ感じです。

弊社はremoを使ってるので、毎日出勤時にremoに入って同じ席についてるようにしています。

3. times(分報)で自分のことを発信していく

弊社はtimes文化があって、大体みんな自分のtimes_dais0nみたいな分報部屋をもっています。これは社内twitter的に機能していて、自分の諸々を垂れ流す部屋になってます。

このtimesの良い面は2つあって、まずは、困っているときに困っている内容とかを書き込むと誰かが助けてくれることです。例えば、なんだこのエラーみたいなことを書き込むと知っている人が、なんか今bugがdevelopに入ってるみたいですねみたいなことを教えてくれたりします。

もう1つは雑談とかぶるのですが、自分のことを発信し、趣味が似ている人と繋がれることです。〇〇さんのtimesで聞いた情報だみたいなのを個々のtimesにリンクしたりするので、割とtimesで趣味の合う人と繋がれたりします。チームを跨いでの交流はリモートだと難しく、課題の一つだと思うのですが、timesは一つの手段かなと思ってます。

この記事が転職ドラフト及び、リモート下での働き方の一助になれば幸いです。

メルカリでドラム式洗濯機を買った

概要

2020年5月に引っ越しをした。ドラム式洗濯機がほしかったのだが、コロナで家電量販店やってないし 通販も物流が逼迫していて配送日が遅い。そのため、メルカリで購入してみることにした。

購入した商品

購入したのはNA-VX3900Lという洗濯機で、2018年10月に発売された商品。

出品されていた方によると2019年2月に購入し、約半年ぐらいの使用で頻度は少ないとのこと。 実際購入して見てみても、あまり使っているような形跡はなく、綺麗だった。

値段は約13万円で購入。定価は2020年5月現在で16〜18万くらいかと

メルカリで洗濯機を買う際に考慮すべきこと

購入してみて、以下の点を考慮して買うべきだった

設置代金

メルカリでの梱包・発送たのメル便では、洗濯機を置く台(洗濯機パン)まで置いてってくれるが、ホースを通して使えるようにまではしてくれない(2020/05時点)。

ホースを通して使えるまでにするには、一度洗濯機を動かし下からホースを通したり、荷積みする際のごつい金具を取る必要がある。

最初は説明書読んで1人で作業をしようとした。 しかし、ドラム式は80kgくらいあるので1人では基本無理

2人いれば説明書を読みながら作業することは可能そうだが。コロナで人を呼ぶのも憚れる。

そのため、設置はプロの方にしてもらった。

その際に、排水溝の位置が真下でないかつ洗濯機パンも低かったので、高さを出さないと排水が詰まる恐れがあるとのこと。

そのため、ホースを通すだけではなく、高さを出してもらうように台を置いてもらうといった作業もしてもらった。 高さ出す作業や、動作確認、保証も含め2万近くかかった。

 メルカリで購入する際は、自分で設置できない場合は設置代金も考慮に入れて選ぶべきだった。  

使用頻度

子供がいる場合は1日2,3回動かす可能性もあるのに対し、単身だと3日に1回といったように、家庭によって 使用頻度に差があるのが洗濯機という家電。

また、ドラム式は縦型洗濯機に比べて寿命が短いと言われている。

なので、メルカリで購入する際は差し支えない範囲で使用頻度や、家族の有無を聞いてみても良さそう。

そもそも入るか

当たり前ですが、ドラム式は縦型より大きく、ドアが狭いと入らない。

自分の実家の話ですが、洗濯槽を置く部屋のドアだけ狭く(62,3cm程度)て、過去にドラム式を導入できなかった。

メルカリでの購入では返品できないので尚更確認しましょう。

また、これは不動産屋に聞いたのですが、ドラム式は手前にドアが開くため、手前側に空間がなく設置できたは良いものの、開けないこともあるそう。

手前側に十分な空間があるか、開いても生活の導線を塞がないかも別途確認しましょう

ドラム式を買ってみてから思ったこと

上位モデルだと数万~十万プラスで、洗剤自動投入やアプリでの操作、フィルターの自動掃除ができたりする。値段の割に利便さはさほど上がらないと思い今回は選択肢から外した。

しかし、乾燥を使いまくるとフィルターは頻繁に掃除が必要なので、次買うならフィルター自動掃除がある上位モデルもありだなと思った。

まとめ

メルカリで安く買えても、設置代もいれると意外と新品と変わらなかったりしますのでご注意を。

CKA合格までの勉強方法

はじめに

CKADに合格してからKubernetesの仕組みにも興味を持ち、CKA(Certified Kubernetes Administrator)も受けた。スコアとしては86%で合格。

CKAに合格するまでにやったことを書いてみる

合格に必要な知識

合格に必要な知識としては公式ページのDomains & Competenciesに詳しく記載してあるが、大きく

が必要かと

合格までにやったこと

試験までにCertified Kubernetes Administrator (CKA) with Practice TestsというUdemyの講座をやった

このUdemyの講座をやりきるだけで、上記に述べた合格までに必要な知識は全て学べる

このUdemyの講座は、13時間ほどの講義と、それぞれの講義の終わりにウェブコンソールでのテストがある。毎回十問ほど。そのため、講義よりもテストの方が時間がかかる

テストはKode Kloudを用いて行われ、テストを開始するとクラスタが構築され、設問が現れる。

ウェブコンソールでクラスタに対して操作を行い、適切なリソースが作成されているかが自動で判定される。このテストは問題数も多く、かなり鍛えられます。

講義は英語のみですが(2020/02現在)、講師の方の英語はゆっくりでとても聞き取りやすい。また、イラストが多く非常にわかりやすい。

不安であれば、Kubernetes完全ガイド (impress top gear) などを読み切った上で再度聞くとコンテキストが補完されるため、英語も聞き取りやすくなるかと。

最初はKubernetesの基本的なリソースの講義から始まるので、CKAD合格されている方などは最初の方は飛ばしても良さそう。

このUdemyの講座は定価24000円らしいですが、大体いつも安くて1380円とかで買える。この内容、模擬テストなどの量からして正直安すぎる。

他の方のブログでもまとめられていますが、このUdemyの講座は講義からテストまで構成が完璧

まとめ

CKAD合格までの勉強方法

はじめに

CKADを受けてみた。なんとか受かることができたので CKADとは何かというところから勉強方法までまとめてみた

CKADについて

CKADとは

  • Certified Kubernetes Application Developerの略。CNCFが作成したKubernetesを使用してアプリケーションを動かす開発者向けの認定試験。(クラスタ管理者向けはCertified Kubernetes Administrator(CKA))

  • Kubernetesでのクラウドネイティブなアプリケーションのデザイン、ビルド、設定、公開ができることを証明する試験と試験概要に記載してある

  • Kubernetesクラスタとターミナルが与えられてリソースを操作するほぼ実務的な試験

試験概要

  • 試験時間は120分、問題は20問で、合格ラインは66%

  • 参照できるドキュメントは https://kubernetes.io/docshttps://github.com/kubernetes/ のみ

  • 申し込みや注意事項が書いてあるHandbook、試験官とのチャットは英語だが、試験の問題文は言語選択が可能

申し込み方法

  • linux foundationのページから申し込める

  • 試験費用は$300です。試験に落ちても一度のみ再度受けることができる

  • 基本情報入力の後に日程決めや、使用している環境が試験にふさわしいかのチェックなどがある

  • 試験での違反行為や試験前に試験官がチェックすることなどが申し込み時にダウンロードできるHandbookに書いてあるので読む

試験本番

  • 試験15分前から試験を受けることができる

  • 試験開始ボタンを押すと試験官とのチャットが始まります。パスポート見せたり、デスクや部屋をwebcumで写したりします。そのためデスクや部屋は綺麗にしておく

  • 他の方のエントリにもありますが、翻訳のchromeアドオンなどは使用しても大丈夫だそう。一応試験官に許可を取って使ったほうがよさそう

  • 最後にHandbookにも書いてある注意事項を言い渡され試験が始まる

  • 試験途中に怪しい行為をすると試験を中断して試験官のチェックが入る。自分は姿勢が悪く、下に何か隠してるのかを疑われたのか、webcumで机の下を写せなど言われた。結構ちゃんと見られているので意識したほうが良い

結果

1回目の試験では44%で落ちて、その後1週間勉強して91%で合格した

1回目は圧倒的な対策&時間不足で、リソースをすばやく作れなかったことが原因だった

以下が合格証明書です。560番目ですかね?

f:id:dais0n:20200712233734p:plain

合格までに必要な知識、やったこと

合格に必要なこと

  • Kubernetesリソースの理解。

    • 普段からKubernetesでアプリケーションを動かしているなら追加の知識は必要ないかと
  • 簡単なpod/deployment/job/cronjob/configmap/secretを素早く作成できること

    • 試験は時間が足りないため、練習次第で早くできるkubenetesリソースのコマンド操作を早くすることが重要。こちらの表が覚えやすい
  • コマンドのヘルプやkubernetes.ioをすばやく検索して目的の情報に辿り着く能力

  • わからない問題や配点が低い問題は勇気を持って捨てることも必要

    • 実際に91%で合格した際も手を付けなかった問題があった

合格までにやったこと

まとめ

  • CKADはKubernetesを使用してアプリケーションを動かす開発者向けの認定試験

  • 試験官のチェックはしっかりしてるので疑われないように注意したほうがよさそう

  • CKAD-exercisesを試験環境にできるだけ近い環境で何週もするのがオススメ

zshでfishライクなシェルをzplugで楽に作る

きっかけ

普段fish使ってる同僚に「shellの互換性上、zsh使いたいけど、fishっぽく使いたい。かつ管理めんどいので設定ファイル短めで」と相談されて一緒に書いてみた

ゴール

  1. zshでfishライクなシェルを作る

  2. 履歴検索などはpecoなどを使いインタラクティブにフィルタリングし、コマンド履歴をフル活用する

  3. 設定はできるだけ少なく

最終的にこんな感じ

f:id:dais0n:20200712231214g:plain

上記で

をやってます。

今回使用するプラグインなどの紹介

zplug

今回は設定を少なくし、プラグインの導入を楽にしたいのでzshプラグインマネージャであるzplugを入れてプラグインを管理する

こんな感じで定義したプラグインを入れてくれる。かっこいい。

f:id:dais0n:20200712230930g:plain

zshプラグインマネージャにはoh-my-zshや、zplugなどがあるが、zplugには以下の特徴がある。

  • 軽い
  • 依存関係を保ったインストールやブランチロック・リビジョンロックができる
  • プラグインマネージャの範疇を超えることはしない

使い方は、zshrcに以下のようにプラグインを定義した後、zplug installを打つと.zplug以下のディレクトリにプラグインをインストールしてくれる。

zplug 'felixr/docker-zsh-completion'

zsh-autosuggestions

zshをfishっぽくするエッセンスの1つ目で、fishのように途中まで文字を入力すると過去の入力履歴から補完が出てくる。

f:id:dais0n:20200712231026g:plain

候補が出てきたら、C-fで補完を行の最後まで確定、Option-fで単語毎に確定できる。

Optionはターミナルの設定でOptionをmetaキーに割り当てないと効かないので別途設定。

zsh-users/zsh-syntax-highlighting

zshをfizhっぽくするエッセンスの2つ目でfishのように、コマンドのシンタックスハイライトをしてくれる。

f:id:dais0n:20200712231034p:plain

(公式より引用)

これなら打っている途中でコマンドが間違っているかわかるので便利。

peco

標準入力から受けた行データをインクリメンタルサーチして、選択した行を標準出力に返すコマンド。

anyframe

pecoとzshの便利な関数は決まっているので、特に便利な以下の関数などを提供してくれるプラグイン

  • コマンド履歴をpecoで選択して実行する
  • ディレクトリ履歴をpecoで選択して実行する
  • プロセスをpecoで選択後killする
  • tmux sessionをpecoで選択する
  • git checkoutをpecoで選択して実行する
  • ghqコマンドで管理しているリポジトリに移動

プラグインを入れて、どの関数をどのショートカットで使うかを設定するだけ。 ちなみに他のインクリメンタルサーチコマンドであるpercol、fzfでも大丈夫で、インストールしてあるフィルタリングツールを勝手に選択して使ってくれる。

今回は特に便利な上記の太字の機能だけ入れていく。

導入方法

上記で紹介したものをインストールしていく。.zshrcに書く。

  • zplugで上記で定義したプラグインを入れます
    • zsh-autosuggestions
    • zsh-syntax-highlighting
    • peco
    • anyframe
# zplugがなければzplugをインストール後zshを再起動
if [ ! -e "${HOME}/.zplug/init.zsh" ]; then
  curl -sL --proto-redir -all,https https://raw.githubusercontent.com/zplug/installer/master/installer.zsh| zsh
fi
source ${HOME}/.zplug/init.zsh
# ここに入れたいプラグインを書く
zplug 'zsh-users/zsh-syntax-highlighting'
zplug 'zsh-users/zsh-autosuggestions'
zplug "peco/peco", as:command, from:gh-r
zplug "mollifier/anyframe"
# プラグインがまだインストールされてないならインストールするか聞く
if ! zplug check --verbose; then
    printf "Install? [y/N]: "
    if read -q; then
        echo; zplug install
    fi
fi
# .zplug以下にパスを通す。プラグイン読み込み
zplug load --verbose

zsh-autosuggestionsとzsh-syntax-highlightingは入れるだけで機能します。

上記に書いてあるようにpecoもzplugで入れられる。

# --------------
# cdr関連の設定
# --------------
setopt AUTO_PUSHD # cdしたら自動でディレクトリスタックする
setopt pushd_ignore_dups # 同じディレクトリは追加しない
DIRSTACKSIZE=100 # スタックサイズ
# cdr, add-zsh-hook を有効にする
autoload -Uz chpwd_recent_dirs cdr add-zsh-hook
add-zsh-hook chpwd chpwd_recent_dirs

# --------------
# 履歴関連の設定
# --------------
HISTFILE=~/.zsh_history #履歴ファイルの設定
HISTSIZE=1000000 # メモリに保存される履歴の件数。(保存数だけ履歴を検索できる)
SAVEHIST=1000000 # ファイルに何件保存するか
setopt extended_history # 実行時間とかも保存する
setopt share_history # 別のターミナルでも履歴を参照できるようにする
setopt hist_ignore_all_dups # 過去に同じ履歴が存在する場合、古い履歴を削除し重複しない
setopt hist_ignore_space # コマンド先頭スペースの場合保存しない
setopt hist_verify # ヒストリを呼び出してから実行する間に一旦編集できる状態になる
setopt hist_reduce_blanks #余分なスペースを削除してヒストリに記録する
setopt hist_save_no_dups # histryコマンドは残さない
setopt hist_expire_dups_first # 古い履歴を削除する必要がある場合、まず重複しているものから削除
setopt hist_expand # 補完時にヒストリを自動的に展開する
setopt inc_append_history # 履歴をインクリメンタルに追加

# --------------
# anyframeの設定
# --------------
# anyframeで明示的にpecoを使用するように定義
zstyle ":anyframe:selector:" use peco
# C-zでcd履歴検索後移動
bindkey '^Z' anyframe-widget-cdr
# C-rでコマンド履歴検索後実行
bindkey '^R' anyframe-widget-put-history

これで設定完了!100行程度で短い。

gistに今回の設定+おすすめ設定を書いたzshrcをおいておくので、どうぞ。

まとめ

今回はzshでfishライクなシェルの設定を作って、かつ最低限で短く書いた。

参考