Recently we’ve proudly announced the launch of MozaicLabs – spin-off from MozaicWorks focusing on developing proprietary software products. As the MozaicWorks team has always been a team of practitioners, MozaicLabs focuses our doers efforts into bringing innovative products to market.
Aiming to bring great value and delight to customers, we pay as much attention to the user experience as we do to our in-company experience. We believe that only through great consideration towards our internal processes and deliverables we can create satisfying outcomes for our users.
Here is a glimpse into the MozaicLabs culture towards the developers’ work and experience inside the company:
Everything we build, we build with the user in mind. If our users tell us that what we did is not helpful, we don’t hesitate to change it. We are only happy when they love our product. We believe that having internal quality – good software design, clean code, automated testing – is the way to deliver the best experience for our users. Because of this, we build the software design UX with the same focus as the user-facing UX.
We’re not just writing code, or solving problems. The developers are helping the Product Owner find usable solutions that can be implemented as soon as possible. They are part of the product design team, because design goes all the way from UX to the technical solution.
2. Release, Release, Release
Steve Jobs, well known for his obsessive focus on design, once said “Real artists ship”. We are not artists, but developers. We. Must. Ship. Our users deserve to get their hands on better, improved features as soon as possible.
We are responsible for our feature, not only for our code. The feature has to work, the Product Owner has to like it and we will deploy it. In order to do that, we use a combination of automated testing, continuous deployment, devops, user story mapping, user story slicing, MVP and Lean/Kanban.
3. Continuous Improvement
No matter how well things seem to work, they can always work better. Every two weeks, we check our way of working, see what can be improved and act on it. Twice a year, we look back on a longer period of time. For this, we take ourselves out of the daily routine, retreat to the mountains and focus on what can be improved and how.
4. Continuous Learning
We work in an ever-changing, fast paced industry, with on-going debates on programming practices. Our best chance is to keep learning and keep evolving.
We specifically dedicate periods of time for our personal development. We make sure we get the coaching and training we need. We go to workshops, community events and conferences. We read books. We share what we learn. We practice to improve our skills or get new ones. We aim towards the attitude of a software craftsman: focused on delivering value, pragmatic when writing production code but always curios, always learning, always challenging ourselves and always practicing skills to get better.
If you’ve experienced these practices in your company or if you have any other points to add to the list, we’re very interested to find out other people’s experience – so please share!
This is a guest post by Alex Bolboaca – MozaicLabs CTO, polyglot programmer, speaker, trainer and coach at MozaicWorks.