The Work We Do With Customers and Community

 

Over the past few years, we've had the opportunity and privilege to work with customers and members of a growing community who are exploring evented, autonomous service architecture in Ruby.

Almost all of them have struggled to some extent with a monolithic Rails application that is increasingly difficult to make progress with.

Here are some of the ways we've helped:

Development and Delivery

  • Working independently or with customer teams

  • Complete service development and delivery, from the first line of code through to packaging and deployment

  • Testing

Coaching

  • On-going support, training, and pairing with teams and individuals

  • On-site or remotely via video conference and screen sharing

Analysis and Design

  • System and service analysis

  • Event workshopping and concept mapping

  • Stream and bounded context design

  • Delivery roadmap

  • Strategic planning

Prototyping

  • Fast, proof-of-concept development and delivery

  • Validating the viability of a project or product

Training

  • 2-day or 4-day training workshops

  • Rich materials, including animations, code examples, and numerous interactive and hands-on exercises

  • General evented and distributed systems fundamentals

  • Ruby techniques

  • Autonomous service and event sourcing basics

  • Distributed systems patterns and fundamentals

  • Idempotence and concurrency

  • Service interaction

  • Data aggregation

  • Testing

Community Building and Engagement

  • In-person meetups and tutorials

  • Online meetups

  • Online text channels

  • Conference presentations

  • Workshops

Recruiting

  • Match open hiring requirements to members of the Ruby community with interest and acumen in autonomous and evented services

Initiative Support

  • Support an organization and managers through a services project or transformation initiative

  • Be the in-place "ally"

Project Management

  • Leading a customer's team through development and delivery of services

  • Providing guidance where necessary

  • Reporting and coordinating with stakeholders and managers

Monolith Remediation

  • Extending the viability of a Rails application

  • In-place design improvements

  • Delay major re-write and service implementation initiatives

  • Bolstering confidence in the existing implementation

  • Training developers on techniques and patterns