こんにちは! マネーフォワード クラウド会計・確定申告のサーバーサイドエンジニア、藤井裕起です!
私は2019年4月にマネーフォワードにjoinし、マネーフォワード クラウド会計・確定申告の開発部署でQAや開発を担当しています。
今回初めてエンジニアブログを書いたのですが、実は私、このエンジニアブログには出演経験があります。
マネーフォワードのQAエンジニアのお話のこの一年の変遷
に出ている元新聞記者F氏
が私です。
そう。 私はマネーフォワードに入社する前は、日本経済新聞社の記者として働いていたのです...!
そんな元日経新聞記者の私が、 なぜエンジニアになってどうやってキャッチアップしていったか、 そして私が所属する会計チームはどのような歴史がある組織でどんな仕事をしているのか、
を日経新聞の名物コラムにちなんで私の履歴書
として紹介いたします!
なぜエンジニアになったのか
私は2015年に日本経済新聞社に新卒で入社し、4年間記者として働いていました。 記者として最初は経済産業省のIT政策取材を担当(IPAを所管する課の取材など)してました。
IT系スタートアップへの取材なども経験してエンジニアリングに興味を持ったことがきっかけで、エンジニアへの転身を決めました。
記者時代は、日本銀行の金融政策や外国為替市場・債券市場など金融に関する分野を多く担当していました。 そうしたバックグランドがあるため「お金を前へ。人生をもっと前へ。」をMISSIONとするマネーフォワードに共感し、入社を決めました。
どうやってキャッチアップしているか
大学生の頃にC言語や統計に使うR言語などをほんの少し触ったことはあるものの、業務としてのプログラミングは未経験だった私。 新聞社時代は記者と編集をしていたので、ここでもプログラミングはしていません。 業務で使うことになる Ruby や Ruby on Rails は、転職活動前にプログラミングスクールに通って学習していました。
しかし入社して思ったのは、プロダクションコードは難しい・・・
ということ。
同じRubyでも、スクールの教材や市販の本で読んだコードに比べてかなり複雑に感じました。
これは技術的に高度なだけではなく、会計ソフトという製品自体のビジネスロジックが複雑であることが原因にあると思っています。
そんな私がどうやってキャッチアップしているのかをご紹介したいと思います!
テストコードをひたすら書く
会計チームではRSpecを使ってテストコードを書き、SimpleCovでカバレッジを計測しています。 過去の実装でカバレッジがやや低めのところがあり、入社当初はそこを中心にひたすらテストを追加することをやっていました。
ちなみに私はQAグループでテストを実施していたこともあるため、RSpecのテストケース設計にはその時の経験も生きています!
RSpecを書くことは
- 既存コードの理解が深まる
- 開発者が何に気を付けて実装しているのかが分かる
- ある程度Rubyの勉強にもなる
などテストの実装者にもメリットがあると思います。 テストが書けるようになることで、安心して実装に取り組むことができるので、キャッチアップには効果的な方法だと考えています。
他の人のPull Request(PR)を読む
これも基本的なことですが重要だと思います。 ベテランエンジニアのPRを読むことは、新規機能の実装や既存機能の修正がどのようなステップで行われているかを理解することに繋がります。
会計ソフトは複雑なビジネスロジックが実装されていますが、PRを読むことでその理解も進みます。 commitの積み方やdescriptionの書き方など、レビュワーに分かりやすいPRの作り方も学ぶことができます。
また、自分があまり知見を持っていない機能のPRを読むのも有効な手段だと思います。 機能の理解や、実装の幅が広がるはずです。
勉強会やイベントに積極的に参加する
社内外で開催されている様々な勉強会やイベントに参加するのも、新たな刺激や知見を得られます。
マネーフォワードにはRubyコミッターの卜部昌平さんや、Ruby/Ruby on Railsコミッターの松田明さんが在籍しており、
- 卜部さんが講師となってRubyを(C言語で書かれたソースを書き換えて)開発する勉強会
- 卜部さんと松田さんの対談イベント
などが開催されています。 これだけのレベルのイベントが社内で開催されているのは、とても恵まれた環境だと思います。
また毎年マネーフォワードで行っている開発合宿にも参加しました。
私は普段業務で使わないPythonと、フレームワークにFlask、日本語向け形態素解析エンジンのMeCabを使って、文豪の名作を比較して近い作品を返す「利き文豪」という簡単なアプリを作りました。
開発合宿の目的が 「テクノロジーチャレンジ」 だったため今まで挑戦したことのない技術を使ってみましたが、新たな発見が多く、技術力の向上につながったと思います。
開発合宿での私(手前)
さて、ここまでが私がエンジニアになりキャッチアップしていった経緯を語る私の履歴書
でした。
ここからは、私が所属する会計チームの歴史と今を語る「会計チームの」私の履歴書
に移りたいと思います!
会計チームとは
正式名を経理財務プロダクト本部
と言います。
2013年に立ち上がり、今やマネーフォワードの開発部署としては最大勢力となっています!
ここからは、会計チームがどのように開発を進めているのかをご説明します!
開発体制
会計チーム内には大きく分けて3つの部があります。
- プロダクト戦略部: プロダクトの将来と取るべき戦略を決定し、全体をコントロールする
- 品質管理部: QA組織でプロダクトのサービス品質を向上させる
- プロダクト開発部: 開発によりサービスを成長させ、サービスを安定的に稼働させる
プロダクト開発部の中でさらに機能ごとに担当を分けて開発しています。 また、会計と関連性が高い「マネーフォワード クラウド請求書」の開発チームもこの中に含まれています。
担当を分けていてもチーム内で技術の知見は盛んに共有されていて、みんなでワイワイ開発してます!
開発の環境
エンジニアの支給端末は自由に選択でき、主にMacBook ProやiMacです。 主なコミュニケーションツールはSlackです。
開発言語はRubyで、フレームワークにRuby on Railsを使っています。 一部はGo言語で開発しています!
Git + GitHub でバージョン管理をしていて、自動でビルド・デプロイをしています。 また、CircleCIで自動テストをしています。
会計チームの1日
ここでは、私を例にとって会計チームの1日をご紹介したいと思います!
10:00 出社
- フレックスタイム制なので、出社時間はある程度自由になっています。
10:15 CS朝会に参加
- CS(カスタマーサポート)本部の朝会です。
- 参加は任意ですが、日々お客様の声を聞いているCSの皆さんからの共有があるので勉強になるため、私は出ています!
その後
- Asana(プロジェクト管理ツール)で今日のタスクを確認
- ひたすら開発
- 実装方針で迷ったりした時は、周りのエンジニアに相談するほか、Slackで気軽にエンジニア同士でノウハウを教え合うチャンネルがありそこで聞いたりしてます。
12:00 一休みしてランチ
- エンジニア同士で食べに行く他、シャッフルランチなどもあり違う部署の人とも交流できます!
その後
- 開発の続き
- グループ定例ミーティング
- 毎週1回、各エンジニアの進捗報告や今後の方針などを共有しています。
ミーティングでも笑いが
- レビュー依頼を出していたPull Requestがapproveされたのでリリース準備
- リリースにあたってステージング環境などで手動テストを行うので、環境準備などをします。
- リリース
- リリースはほぼ毎日行なっています。
- 前述の手動テストの他に、CircleCIによる自動テスト、QAエンジニアが作成した自動テストも走るので、安全にリリースができます!
- リリース完了!開発の続き
19:00 退勤。または...?
- いつもはこれくらいの時間に退勤ですが、月一全社懇親会「Happy Hour」があります!
- 他プロダクトのエンジニアや事業推進本部の営業の人など、普段仕事上ではあまり交流がない人たちとワイワイできます!
会計チームにjoinしたい、けど会計分からない...
ここまで読んで、「簿記とか分からないしな...」と思った人もいるかもしれません...。 でも大丈夫、会計チームに配属されるにあたって、会計やプロダクトの基礎知識を学べる「スクーリングプログラム」を受講できるので心配ないです!
スクーリングプログラム
CS(カスタマーサポート)本部の方が講師となって、マネーフォワード クラウドシリーズの「会計」「請求書」「給与」など各プロダクトの基本的な機能や特徴を講義して頂きます。
さらに簿記の基本的な概念を理解するための「簿記導入研修」も受講することができます!
普通はあまり馴染みが無い会計ソフトですが、このスクーリングで製品の仕様やユーザーがどのように使っているかを理解することが出来ます。 会計業務の理解を深めることでビジネスロジックが分かるようになるため、開発に当たってとても役立ちました!
私の履歴書と会計チームを紹介させていただきました。 ご興味をお持ちいただいた方がいれば、是非一緒に働いてみませんか。
--
マネーフォワードでは、エンジニアを募集しています。 ご応募お待ちしています。
【採用サイトのご案内】 ■マネーフォワード採用サイト ■Wantedly
【プロダクトのご紹介】 ■お金の見える化サービス 『マネーフォワード ME』 iPhone,iPad Android
■ビジネス向けバックオフィス向け業務効率化ソリューション 『マネーフォワード クラウド』