【募集背景】
会社・事業の成長に伴って、増大するトラフィックの制御及び監視、複数サービス間にまたがった機能開発のためのマイクロサービス化など、これまで以上に高度な技術が求められるようになってきており、それを解決できるエンジニアを募集。
【エンジニアチーム ミッション】
▼最高のUXを実現する
エアークローゼットのエンジニアチームが持っている特徴として、技術的な領域ではなく、実現したい価値に対してコミットするということがあります。
具体的にはフロントエンドやバックエンドといった領域で役割を分けるということは一切やっておらず、実現したい価値に対して必要であればWebやアプリのフロントエンドから、APIサーバやバッチ処理、インフラまで必要であればすべて一人のエンジニアが関わる形をとっています。
【業務内容】
エアークローゼットで開発しているシステム全ての開発を担います。
エアークローゼットでは技術領域ではエンジニアを分けておらず、ドメイン単位・機能単位で開発プロジェクトにエンジニアをアサインする形をとっています。
どのドメイン・どんな機能開発にアサインされるかは、それぞれのエンジニアのキャリアプランや志向性を考えて決定しています。
決定後はプロジェクトごとにキックオフが行われ、そこから設計・開発・テスト・リリースまで全工程を担当します。
【具体的な業務内容】
・自身が担うドメインにおけるシステム戦略の策定
・基盤開発プロジェクトの開発リード
・自分が担うドメインに対する設計や開発した成果物のレビュー
【プロジェクト例】
・アイテムの金額編集機能:管理画面からアイテムの金額を修正することができるようにする機能開発(複数テーブルへの更新機能)
・母の日キャンペーン機能:母の日に合わせてお客様向けのキャンペーンを行うための機能開発(キャンペーンページのコーディング、入力内容を登録を行うAPIの作成及びつなぎ込み)
・共通ID基盤構築:複数サービスで共通のIDを利用することができるようにした機能開発。その中の一部タスクを開発リーダーの指示の元行った。
【開発環境】
サーバサイドをNode.js、フロントエンドをReact、React Nativeを採用して開発をしており、1人のエンジニアが全領域に対して開発を行っていきます。
エンジニア間での相互レビューも必須としており、実装できる領域の幅も深さも成長することができます。
・ソースコード管理:Github
・プロジェクト管理:Backlog
・CI:CircleCi
・インフラ:AWS・GCP
・社内コミュニケーション:Slack
【やりがい】
▼貢献実感
人のライフスタイルをよりワクワクできるものに変えるサービスを提供するために、なくてはならない仕組みを創っている使命感
▼達成感
エアークローゼットのサービスは、私達が開発したシステムが支えています。またそれをより改善し、お客様のワクワク感を高める、効率化し収益性を高めるためにも絶対にシステムの力が必要です。
そのためそれに対しての大きな責任を持っている一方、私達自身が作ったシステムが世の中を変えている実感を得ることができます。
【得られるスキル】
▼設計スキル
エアークローゼットのサービスはお客様が使うWebやネイティブアプリだけでなく、社員向けのサービス運用システム、スタイリストが使うスタイリングシステム、倉庫作業で必要な倉庫管理システム、それらをつなぐ連携システムなど様々なシステムに寄って成り立っています。
そのためWeb系のシンプルだがパフォーマンスや、巨大なトラフィックをさばく拡張性が求められるシステムだけでなく、複雑な業務フローからシステムを構築する業務システムのどちらも経験でき、またそれらを組み合わせた設計を行うことが求められます。
▼実装スキル
エアークローゼットではWeb・ネイティブアプリ・バックエンド・インフラまでJavaScript(TypeScript)で開発をしており、また先述したようにエンジニアは複数の技術領域にまたがった開発を行って行くことが求められます。
結果としてエアークローゼットのエンジニアは課題解決に必要な幅広い実装力を身につけることができます。
▼コミュニケーションスキル
エアークローゼットのサービスは、上述したように複数のシステムから成り立っています。当然そこにはそれぞれ利用者が存在しており、エンジニアは、お客様であればユーザーテストやABテストによる検証、社員やスタイリスト、倉庫の作業員であれば実際のコミュニケーションを通じて仕様を策定し、運用を想定したシステム構築を行っていくことになります。
そのため自然とヒアリングしそれを咀嚼してまとめる力、すなわちコミュニケーションスキルを高めることができます。
【必須スキル】
▼望ましい経験・スキル
・開発実務経験5年以上
※注意 React・Vue.jsそれぞれ3年以上の経験が無ければいけない訳ではありません。トータルで5年となります。
・チームでの開発経験
・フロントエンド・バックエンド問わずrepositoryの構築経験(フレームワークの導入、build環境構築、CI/CD環境構築、deploy環境構築、テスト環境及び本番環境構築など)
・githubなど提示できるソースコードがあること(言語は問わない)
【歓迎スキル】
・業務、個人問わずnode.jsでのアプリケーション開発経験
・フロントエンドのフレームワークを用いた開発経験
・業務システムの設計経験
・iOS、Androidアプリ開発経験
・AWSでのサーバ運用経験
【求める人物像】
・技術へのリスペクトを持ち、自らのスキルを高めることや、システム改善のディスカッションにワクワクできる人
・業務要件が複雑なシステムを構築することに喜びを感じる人
・技術をあくまで手段としてとらえ、目的達成のためにあらゆる選択肢をとることができる人
・良いサービスを生み出すために積極的にコミュニケーションをとることができる人