株式会社divxで勤めた1年間の振り返り
初めまして。林谷です。
今回は約1年間従事した企業の自分なりの行動の振り返りをしたいと思います。
目次
沿革とミクロ的な振り返り
マクロ的な振り返り
良かった点
反省点
最後にdivxとは
沿革とミクロ的な振り返り
2月
入社
なんといっても初期はポジショニングが重要なので、できる人だと思われるように実績を出すことと、振る舞いに気を遣っていました。おかげさまでまぁあいつできるんじゃね?といった雰囲気は出てたと思います。
React/Goの新規開発案件にアサインされ、わからない事だらけの日々
初期はフロントを担当したのですが、ReactもTypescriptも新しいことだらけかつ、当時はJavaScriptも苦手意識があったのでまぁまぁ苦戦しました。乗り越えるためにやったことは、納期を遅れないようにすることと。嫌われない程度に聞き方に気をつけながらめっちゃ人に助けを求めること。やはり上達が早くなる秘訣としてはレベルの高い人の考え方や書き方などをトレースすることなので、そこは上手くやれた方かなって思ってます。その代わりプライベートはほぼ死んでた気がします。(9時〜22時まで実装業務。以降は2時ぐらいまでその日の振り返りとかちょっと続きを予習してみるとか)
3月
納期との戦いと緊迫感
5月までに終わらせなければいけないことが多く、結構緊迫してました。(ここで体重も結構増えた)
自分がやらないと終わるという責任感
当時、タスクを一番背負っており、重いものも担当していたので、自分がやりきれない場合は案件が死ぬという覚悟でやってた気がします。これは開発寄りの責任感が良い感じに身につけた経験になったかもです。また、開発の最重要なのは納期までに動く機能を作り切ることだと実体験として得た気がします。
4月
軽いバーンアウトの立て直し
割と燃え尽きてバリューが下がりました。整体いったり代々木公園で散歩したりスマブラしたり朝活したりして徐々に戻していきました。
ポジションの切替わり準備
当時のチームリーダーが別案件に行くということで自分がリーダー的なポジションを任された気がします(記憶が曖昧)
5月
初めてのGo言語とかクリーンアーキテクチャとか
フロントを新メンバーに担当してもらい、サーバー側に入るようになりました。初めての静的型付け言語のGoでしたが動的型付け言語慣れの悪影響か結構取っ付きにくかった記憶があります。(今は正直動的型付け言語の方が苦手意識あります。)
6月
サーバーサイド周り続き
DDDだったりAWSだったり、REST APIだったり、開発の基礎が頭に入ってきて実装物を技術的に俯瞰して見る視点が身につき始めた頃合いだったように思います。ただ、これは最初期のPHPから始まり、いろいろな挫折や知識が徐々に積み上がったバックボーンがあってのものだと思ってます。
開発チーム運営
開発チーム全体を俯瞰して見てアドバイスだったり指示を出すようになってきました。
7月
サーバーサイド周り続き
サーバーサイドの新メンバーの存在もあり、設計や実装で技術の議論や相談をしていました。このタイミングでエンジニアとして結構レベルアップしたと思います。ただ実装や設計するだけでなく、設計や実装のミクロのところまでなぜそうしたか?のこだわりを持てるかが技術力を引き上げる要因だと身につきました。
徐々に1エンジニアからリーダーやPMサイドへ
自分は重いタスクを1、2個やりつつ、PMの補佐や他メンバーのエンジニアを技術的サポートをすることが最もバリューが出るようになってきました。
8月
初めてのSESの人活用
自社から受注して外部に委託して仕事を指示する経験をしました。まぁ別会社ですでに経験していたので特筆はありません。
ほぼ上流だけの対応
この辺から実装はやらないようになり、設計も人に任せるようになってきていました。この辺で案件自体に飽き始めています。
9月
案件内でほぼやる事なし
自分は軌道修正とか大方針を決めるだけで、あとは後世のメンバーの育成ばかりしていました。
配属案件に飽きる
あまり手を動かさなくなり、技術周りの自己成長欲が弱まってきて案件移動をする欲が高まりました。引き継ぎを完了させることばかり考えて育成に注力していていました。マネジメントや育成については営業時代からやってきたことと本質は変わらないため、学びというよりもこなしていく感覚の方が強かったです。
10月
新案件配属。Ruby/Rails
意向を汲み取っていただいたこともあり、新たな案件にエンジニアとしてアサインされました。既存システムの基盤の改修で、既存の膨大なコードとよくわからない設計の理解といったミッションは自分に新たな経験を与えていただいたと思っています。
11月
すぐに自分がチームリーダーになる
新案件のリーダーが退職するということで自分がリーダーになりました。とはいえ、技術よりのリーダー的ポジションだったので、全部の設計を理解しながらタスクを配分し、一番重いタスクを自分がやると言った感じなので、技術的分野の成長は得ることはできていました。
退職意思表明
細かい感情や意思の記載は冗長化したり誤解が生まれるためここでは伏せますが、個人的な人生計画などの都合で退職意思を表明しました。(企業への個人的不満はありませんでした。むしろ好きです。)
フリーランス活動開始
案件探しというよりかは、改めて自分がどうしていきたいのか?といった振り返りが主でした。なのでエンジニアに限らず幅広い職業の人にあって話をしたり聞いたりしてました。
12月
開発&開発
開発が活発するフェーズになり、結構忙しかった印象です。この辺りでTDDを自分たちで導入してみたり、KPTしたり開発全体の見直したりして開発スピードの引き上げを行なっていました。余談ですが、Ruby/Railsもそれなりに勘を取り戻してきた頃合いです。
フリーランス活動
開発も忙しく、プライベートにも大きなイベントもありまして、精神的にきていたこともあり、ほぼ動けていませんでした。
1月
開発引き継ぎ
月初あたりに重いタスクを終わらせ、引き継ぎメインとなっていましたが、徐々に進めていたこともあり、ほぼやることはありませんでした。
退職手続き
事務手続きというよりは、自分が作ったチャンネルの管理者の委譲やdivxの社員に対して思想の引き継ぎや最後の啓蒙活動的なことを主にしていました。
フリーランス活動終了
2月まで活動を引っ張るつもりでしたが、ありがたいことに月末あたりにオファーをいただき次のフェーズへ進む方向は決まりました。
マクロ的な振り返り
技術面
技術面としては以下が身についた気がします。
Go/Gin・Ruby/Rails
React・TypeScript
Docker
DDD(ふんわり)/TDD
クリーンアーキテクチャ(ふんわり)
REST api
Google Calendar api
AWS(ふんわり)
チーム開発
アジャイル開発・スクラム開発
テストコードの有用性
パーソナリティ
リーダーやマネージメント経験は自分の人格を引き上げてくれたと思います。ありがたいことに組織的に全く繋がりのない人から相談される点などを鑑みると、技術的サポートよりも人事よりのサポート面のスキルが結構高いと実感しました。まぁこの辺は営業時代で培ったハートフル的なマネージメント経験が大きく影響しているかと思っています。
ただ、これはネガティブに評価しなければいけない面もあると解釈しており、私がフリーランスになろうと思った一つのきっかけでもあります。なので、次回はもう少し技術的知識やビジネス面に集中していくこととしています。
最後にdivxとは
あくまでこの記事は私の振り返りをメインコンテンツとしていますが、それでも読んでいただけた物好きな方へ、私なりのdivxの印象をお伝えできたらと思い記述します。
正社員として1年従事しました。
divxは受託開発会社なので、技術については包括的に学ぶこともできますし、しっかり実績を出した上で意思を表明すれば希望する案件にアサインさせていただくことも可能です。ただ、まだ未経験から歴が浅く、上手く結果を出せていない社員さんも一部抱えている背景もある以上、その人たちを技術的かつ啓蒙的に引っ張っていく社員さんも必要としているという課題も抱えています。そういった組織の抱えている課題を無視して自身の成長だけを追い求める姿勢は、まぁ組織的にいうとある種の悪として捉えられる可能性もあるわけです。(もちろん、ガン無視して自己成長のスタンスを貫くことは実質できる訳ですが、私はそういう姿勢はお勧めしませんし、協調性のないムーブは自分の品性を形成してしまうので、やめてほしいです。)
逆に、組織である以上、組織の課題を自ら察知して、自分と組織がプラスになるような提案や行動ができるようになることや、すでに保有している人は重宝されます。
以上をまとめると、私としては、組織運営に対してさほど抵抗がなく技術力を包括的に学びたいと思っている方は非常におすすめしますといった感じでしょうか。