Zennでテックブログをはじめました!②
アクセルマーク株式会社で CTO をしてます佐野です。
前回の記事では、当社鈴木が、アクセルマークで開発を進めているプロダクトや
全体的な会社紹介をしていたため、今回はテックブログの始まりということもあり、
弊社エンジニアがどのような環境で、どう仕事に向き合っているかお話しします。
採用ページ(https://www.axelmark.co.jp/recruit/ )に
書いていることもありますが、もう少し細かくお伝えしていきます😁
働く場所
アクセルマークは、中野坂上にオフィスを構えています。
駅直結でオフィスビルに行くことができ、雨の日も濡れずに通勤ができます。
リモートワークを取り入れていることもあり、曜日によっては、 フロア全体が
静かな日もありますが、開発に集中できる工夫がいくつも取り入れられています。
リモートワーク
現在、リモートワークを中心とした開発体制を構築しているため、
チームによって出社頻度は異なっており、フルリモート中心の方もいれば、
リモートから出勤しつつ、週 1 日チームアップの日を設けているチームもあります。
一方で、リモートだと業務に集中できない、、といった方もいますので、
毎日出社している方もいるのが現状になっています。エンジニア組織としては、
生産性を上げて開発を進めていけるように、リモートワークという制度を 1 つの手段
として活用しています。生産性という観点では、円滑にコミュニケーションの取りやすい
施策を積極採用していたり、チャットは Slack をほとんどの部署で導入しているため、
エンジニアは、分報の活用していたりもします。
PC・椅子・開発環境
PC については、エンジニアが希望する PC / スペックを貸与しています。
現状だと、Macbook Pro を使っている方が比率としてはほとんどですが、
もちろん、Windows での開発も可能です!
また、ディスプレイも貸与しています。
社内にある多数のディスプレイの中から好きなものを選ぶことができ、
複数台欲しいといった声があれば、準備しています。
だいたい 1〜2 台使ってるエンジニアが多いです。
椅子は、私は、KOKUYO Duora を使っています。
他のメンバーは、ハーマンミラーか、AKRacing のどちらかを利用しています。
社内には、この 3 つの椅子がありますので、基本的には、この中から選ぶこと
になります。エンジニアという職業柄、座って仕事をする時間が長くなりますので、
椅子が充実しているのはすごく嬉しいですね。
エンジニア組織では多数のプロダクトを扱っておりますが、
ローカル開発環境は、Docker で開発を行なっております。広告開発チームでは、
運用期間の長い ADroute という広告プラットフォームがあり、そちらでは長く、
VirtualBox + Vagrant ベースで開発を進めていましたが、さまざまなしがらみがあり、
ようやく(少し遅いくらいですが)、全プロダクトの環境をすべて Docker に移行させる
ことができました。
現状では、このような環境で日々開発を行なっておりますが、上記以外のケースでも
業務上必要なこと考えるべきことであれば、意思決定を柔軟にして導入を進めています。
開発言語・技術選定
弊社では、広告、IoT/ヘルスケア、ブロックチェーン関連の事業を行なっていることから、
開発においても、複数の言語を採用しています。
広告事業に関していえば、
主力サービスの ADroute では、PHP/Go を中心にプロダクト開発を進めております。
ただ、配信 / 集計 / ビックデータ分析 / 管理画面など、領域ごとに求められる技術は
変わってきますので、技術にこだわりは持ちつつも求められる要件に合わせて、技術選定
をすることを大切にしています。
ポイントは技術への考え方として、事業で達成したい目的に対して、どんな技術選定を
すべきかエンジニアチームで考えながら決めていきますので、1 つの技術に縛るのではなく、
やりたいことに対して、最適なアプローチがエンジニアからもできるように、日頃から技術
と向き合っています。
また、社内にはエンジニアマネージャーがいますので、技術選定や技術負債への返済に理解が
あるのも、大きな特徴だと考えています。
エンジニア組織で大事にしていること
アクセルマークのエンジニア組織では、エンジニアのクレドを作成しています。
プロダクトを理解し、今後の展開を把握した上で、
実現するための技術力を持ち、 計画をやり遂げる情熱をもつエンジニア集団へ
というキーワードを心に刻んで突き進んでいます。
自社のプロダクトをグロースさせたいという想いを実現できるように、
エンジニアでは、理解 / 技術力 / 情熱 、この 3 つは当社の事業を推進していくために、
非常に大事なキーワードとして捉えています。
開発スタイル
広告事業では、2〜4 人のチームを組んで進めることが多いです。
開発の進め方については、部署全体で決められたルールに則って進めていきますが、
最低限のルールのみ決まってるだけなので、進め方は、チームに一任されています。
技術の積み上げができる環境を作っていくという目的があるため、技術における一部の
意思決定や裁量をチームに委譲し、考え/アイデアを実行しやすい環境にできるように
心がけており、計画から実行、振り返りを行なう文化を大切にしていますので、
開発を進める中で得た気づきをチームの行動にすぐに還元して、PDCA サイクルを早く
回していくという観点からこのようなスタイルを取っています。
一例を挙げておくと、
1 スプリント 2 週間とし、スプリントの最初にチーム内でミーティングを行なってから、
各メンバーが、2 週間で行なう作業を決定します。そのスプリントでは、ミーティングで
決定した作業に注力して開発を進めていき、全体のタスク管理は、backlog を使っています。
外部勉強会、イベント、カンファレンス
外部で開催されている技術イベントへの参加を推奨しています。
よいプロダクトを作り上げるために、インプットの場を積極的にもつという考えから、
業務時間内や費用がかかる場合でも、会社負担で参加するなど、エンジニアが技術に対して、
前向きに考えていけるような取り組みを推進しています。また参加後には、社内エンジニアに
内容のシェアを行ない、技術交流も行なっています。最近ではウェビナー開催も増えてますので、
オンラインで参加している人も非常に多いです。
誤解がないように記載しておくと、
こういった勉強会に良く参加しているエンジニアも参加していないエンジニアどちらも社内に
おりますが、参加するしないの判断はエンジニアに任せていますので、特に強制することは
ありませんし、出たから出てないからといって、非難を受けることもありません。
技術本の購入
毎月、技術本の購入予算を組んでもらっています。
エンジニアが今読みたい本を簡単なフロー(希望書籍スレッドに、本の名前を書くだけ)で
購入してもらえます。若手 / 中堅エンジニア問わず、毎月さまざまな本を購入し、技術習得
に取り組んでいます。
直近だと、
・良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
・ピープルウエア
・自律型組織をつくるマネジメント変革 人の能力を引き出す「ピープルマネジメント」
・ドメイン駆動設計 サンプルコード&FAQ
・ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本
・データベースリライアビリティエンジニアリング ―回復力のあるデータベースシステムの設計と運用
このあたりの書籍が購入されていました。
技術書はもちろん、開発組織における考え方も開発を推進していく中で重要ですので、
マネジメント系の本を読んでいる方もいます。
アドバイザーとの壁打ち
現在、弊社では 1 名のアドバイザーにアサインしてもらっています。
若いエンジニアでも実力があれば、技術選定 / プロジェクトのコアメンバーとして
関わることが増えてくるため、今までやってこなかったチャレンジが必然と多くなって
きます。 判断に悩むこと、フォローが必要な場面があれば、エンジニアマネージャーや
他エンジニアが相談に乗ることもありますが、別の角度からも壁打ちが行なえるように、
時間を確保してもらっています。
一緒に働きませんか?
アクセルマークでは一緒に働く仲間を募集しています。
まずはお話しをしてみたいという方がいらっしゃいましたら、
オンラインでもランチでも大丈夫ですので、ぜひお気軽にご連絡ください。
Discussion