NJSS開発チーム


メンバー

@hokutohagi
開発チーム マネージャー
入社してからはいくつかのサービスを担当してきましたが、2019年4月よりこのサービスでマネージャーを担うこととなりました。 これまでは他のクラウドソーシングのサービスでスクラムマスターを経験したり、全社の開発組織責任者を担った時期があったり、新卒育成責任者を担ったりもしてきました。 この4月からチームのマネージャーになったため、一緒に働くメンバーと「良いプロダクト開発チームを作る」ということを目指した動きをしていきます。 良いチームの定義から始め、エンジニアチームのアウトプット最大化に向けて様々な取り組みをしていきます。 私のストレングスのトップ5は以下で「THE良い人」だと評されたことがあります。 1. 適応性, 2. ポジティブ, 3. 共感性, 4. 親密性, 5. 調和性 気軽に会話できると嬉しいです!

プロダクト

入札情報速報サービス(NJSS)
https://www.njss.info/

「入札情報速報サービス(NJSS)」は、日本全国の官公庁・自治体・外郭団体など、全国7,500機関以上、市場規模にして20兆円以上の入札情報を一括検索・管理できる業務支援サービスです。

クローラーボットでの情報収集に加えて、クラウドワーカーが人力で案件情報を収集することにより、圧倒的な網羅性を実現。
また様々な機関のホームページに掲載される入札情報は、バラバラの規格、更新情報がわからない…といった差し支えがあるものの、NJSSを経由することで、わかりやすい情報としてユーザーに届けられる仕組みを実現しています。

過去10年間の運営をもって約1,200万件(国内最大級)の入札情報データベースを構築。およそ3,000もの企業様に活用いただいており、売上は月間1億円にのぼります(2019年4月時点)。

リリース: 2008年9月
入札情報速報サービス(NJSS)
https://www.njss.info/

「入札情報速報サービス(NJSS)」は、日本全国の官公庁・自治体・外郭団体など、全国7,500機関以上、市場規模にして20兆円以上の入札情報を一括検索・管理できる業務支援サービスです。

クローラーボットでの情報収集に加えて、クラウドワーカーが人力で案件情報を収集することにより、圧倒的な網羅性を実現。
また様々な機関のホームページに掲載される入札情報は、バラバラの規格、更新情報がわからない…といった差し支えがあるものの、NJSSを経由することで、わかりやすい情報としてユーザーに届けられる仕組みを実現しています。

過去10年間の運営をもって約1,200万件(国内最大級)の入札情報データベースを構築。およそ3,000もの企業様に活用いただいており、売上は月間1億円にのぼります(2019年4月時点)。

リリース: 2008年9月

利用技術・開発環境

PHP
JavaScript
CakePHP
MySQL
Redis
jQuery
Laravel
Vue.js
Git
GitHub
Capistrano
Memcached
NewRelic
Solr
Jenkins
CircleCI
AmazonLinux
Elasticsearch
Ansible
Datadog

チャットやタスク管理などのツール

PivotalTracker, Slack

自動化していること

開発環境構築
Lint
テスト
デプロイ

継続的に実践していること

Infrastructure as Code
スクラム
ペアプロをしている
モブプロをしている
事業数値をチーム全体に共有している
毎日チーム全体で状況共有をしている
定期的に振り返りを行っている
評価制度がある

コードレビューについて

設計に踏み込んだコードレビューをしている
可読性を意識したコードレビューをしている
バグが出ないようにコードレビューをしている
優先度が低くあまりできていない
体制、環境上できていない

技術的負債について

技術的負債の返済を重視し、迅速に返済している
定期的に技術的負債の返済をしている
既存実装に手をつけるタイミングで必要に応じて技術的負債の返済をしている
現在は優先度が低いため技術的負債の返済をあまりしていない
技術的負債の返済をする必要がない

テストについて

高いテストカバレッジを目指している
テストコードを当たり前に書いている
サービス運営上またはビジネス上重要な部分についてのみテストを書いている
基本的に手動でテストしている
テストを書く必要がない・または少ないプロダクトだ

チーム全体での開発の進め方

<次に作るものはどうやって決められるか>
顧客の要望は営業/コンサルチームメンバーが収集し、リスト化してプロダクトオーナーに共有しています。
共有された要望はプロダクトオーナー(以下、PO)が精査して、事業的にインパクトがあると判断したものを Pivotal Tracker に積みます。それをもとに、エンジニアが優先順位、技術的な仕様を決定して実装に取り掛かります。また、PO が立案した仮説をもとに新機能が提案されることもあります。

<タスクの見積もり、スケジュール管理>
スプリントプランニング時に、チームメンバー全員で開発予定のストーリーポイントを見積もります。タスクの割り振りは、基本的にエンジニアリーダーがメンバーの状況を確認しながら行いますが、メンバーが優先度が高いと判断したことはリーダーへ相談しており、着手に至ることもあります。
スケジュール管理はスクラムマスターが行っており、全体の計画・プロジェクトごとのバーンダウンチャートを作成・管理しています。

<開発フロー>
アジャイル開発プロセスに則った周期的な開発を行っており、1イテレーションを2週間として見積もり・計画・開発・リリース・ふりかえりを順次実施しています。
イテレーション終了時は、PO を筆頭にすべての職種を交えた規模の大きなミーティングを実施して、各部署のふりかえりを行っています。そこでは、「各部署の仕事がどうプロダクトに活かされたか」といった共有をメインとして、プロジェクト全体の方向性見直し、および他部署の業務理解に役立てています。

<コードレビュー>
GitHub の Pull Request をベースに、エンジニア同士でレビューを行っています。基本的に1名から OK が出ればマージ可能としていますが、仕様・動作確認や自動テストを通過していないとマージされないように自動化しています。
また実装に悩むところがあれば、ペアプロや対面レビューなども活用しています。

<ソフトウェアテスト>
単体・機能テストを行うテストコードも同時に作成し、CircleCI で実行。静的解析についても自動化しており、PhpMetrics という静的解析ツールを使いソースコードの複雑度を数値化しています。また、Sider や prettier でコーディング規約に外れたソースコードが生まれないようにしています。
手動でのテストは2段階行うようにしており、1段階目は Pull Request ごとの仕様テスト環境、2段階目はリリースタイミングごとの結合テスト環境を揃えるようにしています。

技術面でのアピール・課題・考え方

●アジャイル開発思想に基づき、スクラムを組んでイテレーションを繰り返すスタイルをとっています。
●各自の得意分野に加えて幅広い領域の知見を身につけるため、チーム内外の協力を得てスキルの補填をしています。イテレーション内で不定期にペアプロを実施することや、ペアプロで補えないものについては、ベテランエンジニアによる勉強会・講習会を開催することもあります。
●チーム内で DDD の勉強会を実施。社外の勉強会に参加したメンバーによる知見共有も盛んです。
●現在のアーキテクチャはモノリシックで複雑性がとても高くなってしまっていますが、上に書いてあるような DDD などの考え方を実践することで、メンテナンス性の高い、疎結合なアーキテクチャを実現していきたいと思っています。
●現在利用しているプロダクトを構成する技術は、広く一般的な技術スタックとなっていますが、より良いアーキテクチャを目指すために必要な技術検討と選定を行い、必要であれば新たな技術にもチャレンジしていきたいと考えます。


開発チームからのメッセージ

うるるでは、クラウドワーカーによる "人のチカラ” を活用した CGS 事業(CGS: Crowd Generated Service)における自社サービスを複数展開しています。
その自社サービスの内の1つであり、月間の売上1億円と収益の柱を担う NJSS は、今後の事業拡大のための投資フェーズにあり、新しくチャレンジできる領域も大いにあるプロダクトです。

全社を巻き込んだプロダクトリニューアルも進行中で、ご自身で主体的に動きチームの底上げをしてくださる方、生産性の高い環境づくりをリードしてくださる方に、ぜひ来ていただきたいと考えております。

技術的なチャレンジができる土壌で、DDD などを用いた良い設計を議論しながら開発を進めていくことに興味を持ってくださった方、チームメンバーとともに成長していきたいという方のエントリーを、心よりお待ちしております!


求人一覧

このチームと話してみましょう
どれくらい興味があるか教えてください。

NJSS開発チームの全てのメンバー

@hokutohagi
開発チーム マネージャー
入社してからはいくつかのサービスを担当してきましたが、2019年4月よりこのサービスでマネージャーを担うこととなりました。 これまでは他のクラウドソーシングのサービスでスクラムマスターを経験したり、全社の開発組織責任者を担った時期があったり、新卒育成責任者を担ったりもしてきました。 この4月からチームのマネージャーになったため、一緒に働くメンバーと「良いプロダクト開発チームを作る」ということを目指した動きをしていきます。 良いチームの定義から始め、エンジニアチームのアウトプット最大化に向けて様々な取り組みをしていきます。 私のストレングスのトップ5は以下で「THE良い人」だと評されたことがあります。 1. 適応性, 2. ポジティブ, 3. 共感性, 4. 親密性, 5. 調和性 気軽に会話できると嬉しいです!