【外部サービス連携開発エンジニア】freeeの要である「自動化」を支える基盤を一緒に作りませんか?
何をどうやって実現する仕事か?
『freeeの要である「自動化」を支える基盤を一緒に作りませんか?』
freee会計を中心に、銀行やクレジットカード、レジや決済サービスなどの外部サービスとの連携機能が存在することはご存知でしょうか。
この機能の存在により、従来通帳や明細書などから転記/仕訳作業が必要だった状況から、「ボタンポチ!」だけで同じ転記作業がほぼ完結することを実現しています。
お客様からも業務効率化に重要な機能として認知頂いており、弊社で行ったアンケート等の結果によると、freee会計の導入を決めた理由としてトップを争う機能の一つと評価されています。
freee社としても、ユーザの業務効率化にとって重要なコアな機能であると認識していることから、それらの開発をしているチームを「コアエンジンチーム」と呼んでいます。
直近のコアエンジンチームでは、全国のほぼ全ての銀行とのAPI連携を実現しました。
中でも価値を感じていただいている銀行との連携をAPI化することにより、更なる利便性の向上を目指したプロジェクトです。
その他にも、お客様への「マジ価値」提供のため、抱えている課題の解決に向けた開発を進めています。
コアエンジンチームが目指しているのは「統合型経営プラットフォーム」の実現です。
「統合型経営プラットフォーム」とはfreeeのビジョンにあるワードであり、freeeプロダクトの目指す姿のことを指します。
そのプラットフォームにより、バックオフィス業務を統合し、自動化による業務全体の効率化を図っていますが、freeeのプロダクトがカバーしていない業務領域が存在することも事実です。
それらの業務領域も含めて「バックオフィスの統合」を進めていこうと考えているのが、外部サービスとの連携機能を開発しているコアエンジンチームです。
そのコアエンジンチームにて、外部連携による業務自動化のための基盤開発を進めていくソフトウェアエンジニアを募集しています。
目指している理想像に向けて、まだまだ課題とやるべきことが尽きないこの領域で、エンジニアとしてJoinいただき、一緒に実現を目指しませんか?
freeeのエンジニア組織についての紹介資料「10分で分かるfreee」もぜひご覧ください。
https://speakerdeck.com/freee/10fen-dewakarufreee-enziniaxiang-kehui-she-shuo-ming-zi-liao
業務内容詳細
以下の全てを同時に行っていただくことはありませんが、プロダクトやチームの状況、キャリア観を踏まえながら柔軟に役割やフォーカスポイントを変えていただけることを期待します。
■他社サービスが提供するAPIやスクレイピングを利用した外部サービス連携機能の設計・実装・テスト・改善
■外部サービス連携機能を担うマイクロサービスへのデータ移行基盤の設計・実装・テスト・改善
■ユーザ数/連携サービス数が拡大してもスケールできる基盤づくり
■外部サービス連携機能の利便性向上、利用者増のためのUX改善
■外部サービス連携機能の保守・運用を効率的に行うための基盤・仕組み開発
■バックオフィス業務に関連する法改正のための対応
■その他:AWS EKSを利用したインフラ改善、Github ActionsやArgoCDなどのCI/CDツールを利用したDevOps開発
仕事のやりがい・得られる経験
■ユーザの業務効率化にダイレクトに影響を与える機能を司る基盤の理想像を目指し、開発を進めていく経験
■freee会計を利用する理由トップである外部サービス連携機能の開発を通じて、ユーザにダイレクトに価値を届ける経験
■AWS EKS/kubernetesプラットフォームでのインフラ開発、Go/Rubyを利用したバックエンド開発、Reactを利用したフロント開発を含めたフルスタックな開発経験
■会計ドメインと外部サービスドメインを掛け合わせた、より難解なドメインでの設計・開発経験
■モノリシック -> マイクロサービスへの移行開発の経験
求める人物像
必須要件(Must)
複数の言語を利用したWebアプリケーション/ツール等の直近4年以上の開発経験(3年の実務経験が必須)
歓迎要件(Want)
■データモデル/データベース/テーブル設計経験
■自社プロダクトでの開発・保守経験
■既存サービスの負債や大きな変更と向き合った経験
■外部/内部問わないAPIの設計及び開発経験
■AWS EKSを初めとするAWSのマネージドサービスを利用したサービス設計、運用の経験
■簿記3級以上の会計知識
freee会計で開発に使っている主なツール
サーバサイド: Ruby on Rails (アプリケーション)、Go/Ruby (マイクロサービス)
フロントエンド: Node.js、React & hooks、Webpack、ESLint、Jest
データストア: Aurora MySQL、Elasticsearch、Redis、DynamoDB、
データ分析基盤: BigQuery、Tableau、Redash、Athena
インフラ/監視等: AWS(EKS、S3、SQS、Lambda)、Fluentd、Datadog、Bugsnag
CI/CD: GitHub Actions、CircleCI、ArgoCD、ECR
その他: GitHub Enterprise Cloud、Slack、Kibela、JIRA
開発体制・環境
キャリアパス
- エンジニアの人事評価にエンジニア経験者が関わっている
技術カルチャー
- CTO またはそれに準じる、技術やワークフローの標準化を行う役割の人・部門が存在する
- 取締役(社内)または執行役員として、エンジニアリング部門の人間が経営に参加している
開発メンバーの裁量
- OS やエディタ、IDE といった個人の環境は、各自の責任で好きなものを使うことができる
- 企画を決定する場に、実装を担当する開発メンバーが参加している
- タスクの見積もりは、実装を担当するメンバーが中心となって行う
- 全体のスケジュール管理は、途中の成果を随時確認しながら、納期または盛り込む機能を柔軟に調整する形で行う
- プロダクトの開発言語やフレームワークなど主要な構成技術は、基本的に最新版より1年以上ビハインドしていない
コード品質向上のための取り組み
- 本番にデプロイされるコードには、全てコードレビューまたはペアプログラミングを実施している
- 「リファクタリングは随時行われるべき」という価値観をメンバー全員が共有しており、日常的に実施している
- 何らかのコーディング規約をチーム全体で遵守するようにしている
- 提出されたコードには自動的にリグレッションテストが実行される環境が構築されている
テストの実施度
- ほとんどのプロダクトコードに単体テストを記述、実施している
- ほとんどの機能に受け入れテストを記述、実施している
- 機能の実装と同時にテストコードを記述している
- 想定される複数環境での品質チェックを義務づけている
アジャイル実践状況
- 1ヶ月以下の短い期間でのイテレーション開発を実践している
- デイリーでスタンドアップミーティング、またはそれに準じるチーム内の打ち合わせを行っている
- イテレーションの最後などに、定期的にチームでふりかえりミーティングを行っている
- 継続的なデプロイ(デリバリー)を行っている
ワークフローの整備
- 全てのコードをバージョン管理ツールで管理している
- 各メンバーが実装したコードのマージは Pull Request ベースで行われる
- 自動(=システム化され、1コマンドで実行できる)ビルド、自動デプロイ環境が整備されている
- コードによるインフラ構成管理(Infrastructure as Code)の環境が整備されている
オープンな情報共有
- KPI などチームの目標・実績値について、メンバーの誰もがいつでも閲覧可能になっている
- ドキュメントの整備やペアプロ、モブワークなど、ナレッジの共有を積極的に行っている(属人性を減らす取り組みをしている)
労働環境の自由度
- フレックスタイム制または裁量労働制を採用している
メンバーの多様性
- 外国籍の開発メンバーがいる
- 開発メンバーの新卒採用を実施している
待遇・福利厚生
- 入社時には、各自希望のスペックの PC やディスプレイが支給される
- ストックオプションまたは自社株購入支援制度がある
現場で使われている技術は?
採用されたら使う技術
その他、現場で使われている技術
チームの構成は?
チームの性別比率
- 男性:94%
- 女性:6%
読者に向けてメッセージをどうぞ!
組織として目指すこと
先例をつくり、未来をつくる
事業を進めていくに際し、freeeは常に新しい挑戦を続け、前例や慣行にとらわれず、組織戦略やオペレーション、財務や人事など事業運営のさまざまな分野において先駆けとなり、未来を作る存在となります。
世界レベルのクオリティ
freeeはユーザーに最高のクオリティのサービスを提供し続けるべく、常に自分たちの提供するサービスの価値を世界レベルでベンチマークします。グローバルな投資家から出資を受けるなど広い視野のもと切磋琢磨し、技術とサービスの質を磨いていきます。
成長を信じること
freeeの成長はメンバーの成長によって実現されます。無限の可能性を持つひとりひとりのメンバーが常に新しい自分と出会い成長できるよう、組織としてのサポートに力を入れています。
開発の特徴
エンジニアに閉じていないチーム開発体制 × プロダクト思考(マジ価値)の追及
freeeはエンジニアとPM・UXがプロダクト単位でチームを組み、企画から開発・リリースまで自分たちで考え、ビジネスサイドからのフィードバックを生かしながら実行に移しています。
品質と工数管理のトレードオフをPMやUXも理解しているからこそ、チームコンセンサスをとることで、エンジニアがこだわり抜いたプロダクトの開発を実現しています。
新規プロダクトの開発はもちろん、リリースで終わりではなくグロースまで携わっていただきます。グロースにかかわる開発もエンジニアに裁量があるため、そこの工数も含めて開発を進めていただきます。
フルスタック × 様々な職種への挑戦
アプリケーションエンジニアとしてサービスにかかわる技術全体を見ていただきます。サービス開発の目的に向け、エンジニアが技術選定や設計をフラットに考え決定します。そのためフロントエンドからサーバサイドまで対応いただくため、フルスタックエンジニアとしてご活躍いただける環境です。
また、サービス開発に向けて専門チームから気軽にフィードバックをもらえる環境であり、SREやセキュリティなどにドキュメントを公開すると当日のうちにフィードバックが入ります。また、実際にSREチームにフィードバックをもらいつつ自身でインフラ構成をしたり、AWSの設定をしたりとバックエンドから最適化したサービス提供の構成が考えられます。
業務上での経験はもちろん、年に2回、立候補制の異動制度があるためWEBアプリケーションエンジニアがSREや基盤設計、UXデザイナーに異動をした実績があります。
仕事 × 家庭 = 両立の実現
CEOやCTOなど経営陣をはじめ、男性マネージャーも多く育休を取得するなど、子育ても仕事も大切にする環境です。そのためご家族やお子さんの病気時にかかわる突発的な家庭の都合にも、出勤時間や自宅勤務含め柔軟に対応出来ます。毎年、ファミリーデーに遊びに来るご家族も多く、平日に遊びに来るお子さんもいるほど、家庭も仕事も両立して働くことができます。
開発体制
freeeではユニークな様々なシステムを導入しています。以下一例です。
・巨匠システム:投票で選ばれたエンジニア1人がfreeeの環境やプロダクトの新規提案・改善をコミットし、一ヶ月業務をストップし圧倒的なアウトプットを出す期間を設けるシステム
・委員会制度:フロントエンド委員会、開発生産性向上委員会等のエンジニアリング全体での有志の委員会があり、自由参加可能
・品質改善:品質改善のための工数が取れる
・立候補制異動制度: 半年に一度自ら手を上げての異動希望を加味した異動により異なるドメインや技術を身につけて成長につなげる
・開発合宿:毎年温泉宿に宿泊し、各人がコミットした開発に集中できる。2019年はCEOの佐々木も参加し、新卒からレビューを受ける
・MacPCはキーボード配列(JIS/US)が選べる
・どんなリポジトリにもコミットOK: レビューでLGTMが出ればやってはいけないルールはない
・チーム開発重視: プロセスはチームで決められます。アジャイル開発が主流だがスクラムでもカンバンでもXPでもチームで決めてやる
・EM, PM, QA, UX 組織はスキルカット、仕事はフィーチャーカット
・出社した場合の椅子はオカムラ、選べるモニター(4K/FHD)
開発に使っている主なツール
Webサーバーサイド:Ruby on Rails,Go + gRPC,Node.js
Webフロントエンド:React,Redux,TypeScript,webpack, styled-components, Storybook
データベース:MySQL,Aurora, Redis
インフラ:AWS (EKS,ELB, EC2, RDS, S3, SQS, ElastiCache, Redshift, ...),Kubernetes,Docker,Jenkins,CircleCI, ArgoCD, Fluentd,Ansible,HashiCorp ツール,Elasticsearch + Kibana,Google BigQuery,Embulk
モバイル:Swift,Kotlin,Objective-C,Java,Firebase (Analytics, Notifications, Remote Config),Bitrise,fastlane,RxSwift, RxJava
デスクトップクライアント:Xamarin,WPF
Biz基盤:Salesforce/Apex/Visualforce,Marketo, Pardot
AIラボ:Python 3,Flask,TensorFlow,Keras,scikit-learn
その他:GitHub,Kibela,JIRA,Slack,Workplace by Facebook
勤務時間・休日休暇 |
---|
【試用期間】 【勤務形態】 【休日】 |
社会保険・福利厚生など |
---|
|