エンジニアについて

お客様の目的達成のために、私たちがすべきことは何か

私たちは、お客様の目的達成のために、システム構築に対して "テクノロジー, 開発手法, 開発マインド" の3つについて価値観を定め、開発バリューとしています。

テクノロジー

テクノロジーはツールであり、目的ではありません。しかし、テクノロジーが目的達成に果たす役割は、年々重要になっています。

それは、近年のSNSやスマホの台頭により、世の中の莫大なエネルギーがIT業界に集中した結果、開発テクノロジーも急激に進化しているためです。数年前では考えられなかったコストとスピードで、システムの開発が可能となりました。

一方で、この進化を享受している開発会社はまだ多くはありません。進化のスピードが早い上に難易度は決して低くなく、キャッチアップが困難なためです。テクノロジーを起因としたエンジニア間のコミット量の格差は大きくなっており、今後更に拡大していくと予想しています。

私たちは、生産性に寄与するテクノロジーの役割を最重要視しています。特に、以下2つのテクノロジーが弊社の生産性に大きく寄与しています。

Ruby on Rails

Ruby on Railsは、Webアプリケーションを作る上での、プログラミングフレームワーク(土台)です。開発速度・保守性・柔軟な変更を可能とする一方、導入にはエンジニアのスキルが求められるため、ハードルは高いフレームワークです。クックパッドAirbnbなど、様々なサービスで利用されています。
私たちは、Ruby on Railsをベースに、業務システム開発を効率よくするために、独自のテンプレートを構築しています。

Amazon Web Services

Amazon Web Services(AWS)は、Amazon社が提供する世界最大のクラウドプラットフォームです。クラウドを利用することで、インフラ構築の初期費用はかかりません。さらに繁忙期にのみサーバー台数を容易に増やすことなどが可能なので、コストをコントロールできます。
私たちはAWSに素早く環境が構築できるよう、TerraformやAnsibleといったツールを利用して、環境構築の再現性を高めています。これにより、環境構築のための作業コストを大きく削減しています。

開発手法

エンジニアが一気通貫する


従来の開発では、開発サイドはプロジェクトマネージャ(PM)/設計者(SE)/プログラマ(PG)/インフラエンジニア…といった分業でチームを編成して開発するスタイルが一般的ですが、私たちは可能な限り分業をせず、一人のエンジニアでゼロからイチに作り上げる「一気通貫での開発」を提供します。

お客様と直に接するエンジニア自身が、開発の管理・設計・製造まで一気通貫して手掛け、エンジニア間でのコミュニケーションコストを極限まで削減することで、スピードと柔軟性を大きく高めることが可能です。

動くものにフォーカスし、ドキュメントは必要最低限とする


一般的なシステム開発では作成して当たり前のドキュメントであっても、私たちは基本的に作成しません。仕様が複雑な部分や、お客様とコミュニケーションする上で効果的なドキュメントのみ作成いたします。

ドキュメント作成のコストはかなり大きく、かつ作成したドキュメントは保守費用も大きくなります。なぜなら、システム開発後、変更が生じるたびにドキュメントも改編する必要があるためです(残念なことに、ドキュメントの多くは、変更が適用されていないことや、記載内容と現実が異なる場合も多々あります)。

弊社では、エンジニアがお客様のお話を伺い次第、即座にプロトタイプを作成し、お客様には動く画面上で確認してもらうことから、お客様とのコミュニケーションにドキュメントはあまり必要ありません。また、エンジニアの分業もしないことから、エンジニア間での仕様伝達のためのドキュメントも不要となります。

開発マインド

テクノロジーと開発手法があっても、それを適用するのは人であり、エンジニア一人ひとりの開発に向き合う態度が基盤となります。私たちは、開発をする上で以下の価値観を共有し、原則として行動することを徹底しています。

これらの行動を通じて「信頼関係」という土台を築き上げ、お客様にとって頼りがい(Depend)のある存在となることを目指します。

  • 開発の背景や目的を踏まえ、話の本質を汲み取り、状況を正しく理解する
  • 置かれた状況からすべきことを判断し、主体的に動く
  • 専門家としての立場から、積極的に提案する
  • 発生した問題に真摯に向き合い、誠実に対処する
  • ご要望が目的達成に寄与しないと考えた場合は、正直に意見する
arrow_upward