Struggling with implementing Domain Driven Desing?
Working in a project with rich business domain is a challenging, yet rewarding task. There is a lot of responsibility on you, as a software developer. Business demands features - small or complex ones. The bigger your client’s success is, the more demanding your work starts to be.
And it’s not easy to cope with this challenge. Being able to add sophisticated features fast, as well as maintaining the overall quality of the codebase. It’s easy to wake up in a codebase being… hard to understand, to say at least. Your application is nicely tested, you have a skilled team but you start to struggle with additional complexity that grows with each added feature.
You already have learned that Rails Way is not the best when complexity grows. You have decided to implement Domain Driven Design guidelines. You have read the blue book (or at least you have tried), you have watched some conference talks, and you already know the difference between strategic and tactical DDD. You have heard about Conway’s Law, socio-technical architectures and team topologies.
But you still struggling with adapting Your knowledge to the Rails codebase you already have.
It’s not easy
- to make the mindset switch
- to get off the Rails Way
- to refactor existing code into bounded contexts
- to make the business team stop pushing requirements to you and start working on them in a collaborative way
- to develop your ubiquitous language
It doesn’t need to be that difficult
What if you’d have constant support from someone, who has worked (and is still working!) with such complex systems all the time? This is exactly what we can offer you.
Arkency is a consulting agency. We work with legacy projects, as well as demanding projects which need a lot of domain crunching and sophisticated features. We’ve learned our lessons during years of being in this business. Often the hard way. It was often a horrible, stressful experience. But with every failure we stood here, stronger than before.
We could help you
- to make the mindset switch
- to change the organization of your codebase
- to refactor an existing application
- to talk with business people and support you during your first modeling sessions
- to improve the communication with domain experts
- to transform from a coder into business solution developer
Domain Driven Design Mentoring
We could mentor you and your team with your day-to-day work. We will guide you through the process of implementing various DDD techniques in your development process and your codebase. You can ask a particular question and we’ll try to answer it - as well as giving you our comments and recommendations about the ‘big picture’ around the question. We can also attend your remote modeling sessions as a facilitator or help you facilitate an on-site modeling session by yourself. You could discuss your domain models and problems with us. Finally, we can also review your implementation, showing you code smells and potential ways to eliminate them. Your main channel for communicating with us will be a private Slack channel where you can reach us. This support is done in an async-remote way - that means you’ll get an answer, but not necessarily instantly. That comes with a benefit that you can ask us in wild hours and you’ll get an answer when we’ll be available :).
Interested? Contact us!
Interested? You can drop us an e-mail or use the chat here, where we’ll discuss details. We’re looking forward to hearing from you!