クラスメソッド株式会社を退職して Quipper Limited に入社します
TL;DR
from: クラスメソッド株式会社
to: Quipper Limited
Quipper でも SRE としてやっていきます。
何をやっていたのか
EC とかに使う API を提供するためのプラットフォームである prismatix というプロダクトを開発していました。
今度はお仕事の話です / “クラスメソッドの自社開発EC/CRMプラットフォーム「prismatix」のご紹介 | DevelopersIO” https://t.co/LHe9xEGtqT
— かっぱ (@kwappa) September 30, 2019
クラスメソッドと言えば AWS のコンサルをやっている会社というイメージが強いかと思いますが、こういうプロダクトも持っていたりします。
プロダクトの中は Amazon ECS を使ったマイクロサービス環境になっており、アプリケーションは Java と Spring Boot を使って開発をしていました。
私は、入社当初はバックエンドエンジニアとして、今年の春くらいからは SRE として働いていました。
クラスメソッドという会社について
リモートワーク
クラスメソッドという会社はリモートワークがとても盛んな会社です。私のいた部署でもフルリモートで働いている人が結構いたりしました。 地方で働いている方で、途中家事や子供がらみのタスクをこなしつつ働いている方もいらっしゃったりでとても柔軟な働き方ができる会社でした。
そんなこと言ってる私は出社しないとパフォーマンスが出ないので、基本出社していたのですが、やっぱり用事があるときに (通販の受け取りとかのしょうもないことでも) 柔軟にリモートで働ける制度があるのはありがたくもありました。
反面フルリモートで働いている方が多いのでコミュニケーション絡みの問題はやはりあって、そこら辺は試行錯誤しつつやっている、という感じでした。
ブログ
私はそんなに書いてなかったのと、普通に自分のブログに投稿していた。
なぜ辞めるのか
簡単に言えばやりたいことが実現できないからと感じたからです。ビジネスと自分のやりたいことがうまく噛み合っていないなというのは感じていて、自分の今後のキャリアのことも考えた上で今回は転職という選択をしました。
次にやること
10月から Quipper Limited に入社して SRE として働いていきます。
Quipper ではこれから絶賛マイクロサービス化を推し進めていくぞというフェーズで、私もその中で SRE としてどんどん開発がスケールしていけるような仕組みづくりをしていきたいです。
おわりに
クラスメソッドでは色々な方々に助けられましたし、お世話になりました。関わってくださった皆様本当にありがとうございました。
Quipper の皆さま、これからよろしくお願いします。試用期間があるので正式に雇用されたらまたブログでも書こうと思います。
干し芋
新しい GitHub Actions で Go の lint と test と goreleaser によるリリースを行う
今話題の新しい GitHub Actions が私の手元でも使えるようになっていたので、今まで CircleCI で動かしてた workflow を GitHub Actions に移行してみたりしました。 多分テンプレート的に使い続けることになると思うのでブログ化。
新しい GitHub Actions そのものについては下のブログがまとまっていておすすめです。
lint と test を実行する workflow
name: Go on: [push] jobs: build: runs-on: ubuntu-latest strategy: matrix: go: - 1.12.9 name: Go ${{ matrix.go }} build steps: - uses: actions/checkout@master - name: Setup Go uses: actions/setup-go@v1 with: version: ${{ matrix.go }} - name: Run go mod download run: go mod download - name: Install golangci-lint run: | curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s v1.17.1 # https://github.com/golangci/golangci-lint/issues/250 sudo mv ./bin/golangci-lint $GOPATH/bin/ - name: Run golangci-lint run: > golangci-lint run \ --tests \ --enable-all \ --disable gochecknoglobals \ --disable gochecknoinits - name: Run tests run: go test -race -v ./...
goreleaser を実行する workflow
name: Release on: push: branches: - "!*" tags: - "v*" jobs: build: runs-on: ubuntu-latest strategy: matrix: go: - 1.12.9 name: GoReleaser steps: - uses: actions/checkout@master - name: Setup Go uses: actions/setup-go@v1 with: version: ${{ matrix.go }} - name: Run go mod download run: go mod download - name: Run GoReleaser env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: curl -sL https://git.io/goreleaser | bash
だいたいの使い方とかは CircleCI の頃と同じ感じで書けるんですけど、トリガーとする event ごとに (ただの push なのか, tag の push なのかなど) workflow を記載する YAML ファイルが別れることになるので数千行ある闇の .circleci/config.yml
みたいにはなりづらそうなのはいいかもって思いました。
あとはこの部分。
- name: Run GoReleaser env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
これだけの記述で GitHub の token をいい感じに取得することができるので、今まで token 発行して CircleCI に登録して〜 みたいな作業から解放されるのはめっちゃいいですね。
全体的に GitHub Actions、よさそうという印象でした。積極的に他の CI サービスから移行することはないかもしれませんが新しく作ったリポジトリとかは今後 GitHub Actions に寄せていきたい。
Kubernetes Meetup Tokyo 21 で 『Argo CD 実践ガイド』というタイトルで LT をしました #k8sjp
イベントページ
登壇スライド
登壇してきました。
Argo プロジェクトの概要に関する発表は PFN の @dtaniwaki さんが 『Argoプロジェクト最新動向』 というタイトルで発表しているのでそちらのスライドもご覧ください。
スライドの中でお話しした Argo CD の SyncWaves などの動作デモは動画が公開されているのでこちらも見るとイメージしやすいかもしれません。