CircleCI に入社してちょうど2ヶ月がたちました

こんばんは。しーばです。この記事は Calendar for CircleCI Advent Calendar 2021 | Advent Calendar 2021 - Qiita の17日目の記事です。ほんとは明日に書くつもりだったけど、空いてたから今日書くことにした。

16日目は、ふなっきーの 緑(Succeed)と赤(Failed)を区別する - よりinclusiveなCircleCIを目指して - Qiita でした。なんか Failed の色が変わったなぁって思ってたら、カラーユニバーサルデザインに対する取り組みで、僕は全然詳しくなかったんですけど、そういう取り組みをしてるのって良いなって思いました。

さて、今日は CircleCI の Year End Party で東京に来てました。

10月18日に入社したので、ちょうど今日でまる2ヶ月だな。入社したときのやつ↓

bufferings.hatenablog.com

これまでオンラインでお話してたみんなと「はじめましてー!」って挨拶をして楽しかった。久しぶりに人に会った気がする。そして、明日大阪で用事があるので、今は帰りの新幹線の中。そんな中で、この2ヶ月を思い出しながら書いてみようと思います。京都までに書き終わるぞー!

どう思ってるの?

正直、まだ少し緊張してるかなぁ。周りのみんなはとても優しいんだけど、自分がはたして自分の期待してる働きをできるのかどうかみたいな、自分で自分に対するプレッシャー的な緊張感がある。

でも、そういう緊張感も含めて、とても良い決断をしたな→自分!って思ってます。Respect と Trust を中心とした良い文化の中で、そんな文化の中でも特にそれを大切にしてるメンバーと一緒に、自分のコーディング力を磨きつつ挑戦しつつ、開発者のみんなの役に立つことができる環境で、とても良い。

社内でもベストなチームだよなぁって思いつつ、毎日楽しく過ごしてます。もちろん、他のチームのみんなもとても優しい。

何をやってるの?

この2ヶ月間、基本的にオンボーディング(立ち上がり)として、勉強ばっかりしてます。こんなに勉強ばっかりしてて良いのかな?もっとこう・・・プロジェクトに貢献したほうがいいんじゃないかな?って気持ちになってチームメイトに聞いてみたら「3ヶ月のオンボーディング期間が終わって実際にプロジェクトに入ったら忙しくなるから今は勉強に集中するのがいいよ!」って言ってもらって「はーい!」ってなって「最近この辺勉強してるー」みたいな話をちょこちょこ Daily Standup (家の机の前で座ってる)で共有したりして過ごしてます。

何やってたっけなぁ?最初の2週間くらいは、CircleCI や会社の中のことを学びつつ、社内のハッカソンイベントに参加したりして、その後の1ヶ月は、まずはフロントエンドの勉強からやろうかなと思って、JavaScript、TypeScript、React、それから、フロントエンド周りの色んなエコシステムを勉強してました。途中で、実際のプロジェクトのチケットの中の簡単なやつをやらせてもらったり、ペアプロしたりしつつ。

この2週間は、こんどはバックエンドだなぁってなって、Clojure の勉強をしてる。関数的なプログラミングは初めてだから、今、頭の中で絶賛パラダイムシフト中。Senior Full Stack Engineer という肩書きで、Web フロントエンドから Clojure とかのバックエンドや k8s や Terraform や AWS らへんも含めて全部見ていいよってことになってるので、とても楽しい。

オンボーディングが終わった後にいい感じで開発を進められるように、もう1ヶ月間しっかり色々勉強するー。

どんな風に過ごしてるの?

僕のいるチームはみんな日本にいる。タイムゾーンは同じなんだけど、日本の色んなところにいてリモートで仕事をしてる。僕は大阪の自宅から。

朝に15分くらい Standup をやって、その後は夕方まで音楽聴きながら勉強して終わり。が基本で。週に1回プランニング、2週間に1回ふりかえりをやってる。あとはたまに会議があるなぁくらい。チームの Slack にみんな適当に状況をポストしてて、たまに「ペアプロしよー」って誰かが言って「参加するー!」って見にいったりする。

勉強してるとは言っても、プロジェクトの話には混ぜてくれてるので、分かんないときは「これどういうこと?」って初歩的な質問をしたりして、でもみんな「こういうことだよ」って優しく教えてくれる。

どの辺が面白い?

何が面白いかなぁ?って考えてみた

CI/CD されてるのが面白い

考えてみたら当然なんだけど、社内のすべてのリポジトリは CircleCI で CI/CD されてる。僕が変更したコードも push するとテストが走る。UT や UI デザインのテストや E2E のテストが走って、何かあると通知がくる。他のプロダクトはまだちゃんと見てないから知らないんだけど、僕らのプロダクトは main ブランチにマージされると、そのまま Production にデプロイされるようになってる。

自動化することが前提になっているのとか、全員が CI/CD について詳しいのって、とても安心。

Trust by default なのが面白い

ゴールに対して、何をどうするかはチームの自由。

マネージャーに「こういう文化いいね」って言ったら「Trust by default だよ」って言ってたのがとても良かった。「マネージャーにとって信頼は、ないところから時間をかけて築き上げるものではなくて、信頼はそこに最初からあるんだよ」だって。良い。

チームとしてベストを尽くせるようになってるなら、仕事をする時間も自由ってのも、そういうところから来てるよなぁって思う。

ふつうは9時から仕事するんだけど、たまに朝はやく起きたら頭が冴えてるうちに色々やってしまいたくて7時から仕事し始めて早く終わったりするし、娘が帰ってきたら一緒におやつを食べたりするし、ご飯食べてちょっと眠いなってときは「お昼寝するー」って Slack で言って寝たり「太陽が出てる間にちょっとピクミンと散歩してくるー」ってでかけたりする。チームのみんなもそんな感じ。でも、それが一番自分がいい感じで仕事できるって感じるのでとても良い。

IC なのが面白い

Individual Contributor という役割が明確にキャリアラダーに定義されてるので「僕のメインの役割はエンジニアとして結果を出すこと」ということに集中できるのが面白い。

とはいっても、それ以外を全然やらないわけじゃなくて、僕の過去の経験からマネージャーやみんなに「こういうやり方もあるよ」って伝えたり「この辺、もうちょっとうまくできそう」って話をしたりはする。それって、このオンボーディング期間のコーディングでまだ役に立ってない間に「自分が役に立ってる感じがする」のでついついそっちに目がいってしまうけど「そこあなたのメインの役割じゃないよね?勉強がんばって!」って気をつけてる。

無理をしないのが面白い

チームとして高い目標に向かって、より良いものを作ろうとしてる。だけど、個人が無理をすることはない。「今持っている力を、どううまく組み合わせたら良い結果につなげることができるか」を考えてる。「今持っている力以上の力をどうやったら発揮できるか」ではない。

これもまたマネージャーと雑談で話をしたときに「プロモーションするときは『次はこういうことができるようになってほしい』って考えじゃなくて『一緒にやってきて、もうできるようになってるからプロモーションする』って考え方だよ」って言ってたのも「へー。いいね」ってなってた。

英語楽しい

あとは英語が楽しいな。技術的な話の聞き取りはある程度大丈夫になってきたけど、カジュアルトーク的なのとかは未だについていけないことが多いかなぁ。あと自分がしゃべる方はまだまだ。

2021年→2022年

そんな感じ。今年のはじめには全く想像してなかったけど、入ってよかったなぁ。

今年は、CircleCI 自体については、公開されている情報を読んで勉強する、ってのを意識してたから、まだユーザー気分が抜けてなかったけど、そろそろ中の人の自覚をもたなきゃ!(まだやったんかい!)

来年は内側を見ていくつもり。知らなかったから何でも言えてたけど、知ってしまうとあんまり喋れなくなっちゃうね。

僕は CircleCI を使ってもらえたらいいなって思うし、そう思ってもらえるように開発をしようと思うんだけど、CircleCI を選んでくれた人はもちろん、他の CI/CD を使ってるみんなとも、一緒に CI/CD を楽しんでいけたらいいなって思います!

京都すぎたー!