ruby -e "puts 'Hello world'"
Let me quickly introduce myself: my name is Michael. I joined Wimdu as an Engineering Manager a few months ago, and stepped up as CTO in March (more on me on LinkedIn). I would like to take a moment to highlight some of the great things that are happening at Wimdu at the moment.
Our company is growing up, and this has brought some changes. Some people have left, many new people are joining. We have new CEOs, Arne and Sören, who are very experienced, and quite a few new faces in the management team and in all departments. Together, we have so many ideas and see potential everywhere. Just look at the results of our discovery workshop, where we brainstormed ideas and opportunities for growth (image blurred to protect the innocent 😉 ). Exciting times indeed!
In the IT department, we’ve had our share of growing pains and changes too, but we are now looking to the future with fresh energy. We have a good foundation to build upon. We have a great engineering culture, with a strong focus on quality, and all the tenets of a professional development environment, like automated testing, pair programming, pull requests and continuous code reviews. We share knowledge in our weekly engineering meetings. For example, my colleague Alexey recently gave a talk about the Design by Contract approach and the “contracts” ruby gem that he helps maintain (https://github.com/egonSchiele/contracts.ruby). Chad Fowler came over a few days ago to talk about Wunderlist’s journey towards microservices. We are also hosting meetups, like the April 2015 RUG::B meetup.
One of the biggest challenges we are facing is our huge monolithic Rails application. People have been saying that we have one of the largest Rails apps in Europe. I don’t know if that’s true, but I do know that 20–30 people have been working on it for several years, and it’s far too big to fit into one developer’s head by now. Even with our good test coverage, you can never be sure if you don’t break something when you make a change. Everything is tied together, and that is slowing us down. It’s becoming increasingly clear that we need to break our monolith down into smaller components, or services.
If you look at the community right now, the consensus seems to be that the “traditional” SOA approach has become entangled in politics and overly complex enterprise solutions. The new kid on the block is microservices, and it looks very promising indeed. There is an upfront cost involved, especially with all the operational challenges, like deploying and monitoring hundreds of service instances, but at our team size it’s well worth the effort.
This is a huge undertaking, but one that everyone is excited about in our IT. We want to keep working on features that support our growth and improve the product, but we will also start migrating our architecture towards a loosely coupled, decentralized architecture that has already worked well for others. And this is where you could come in! We are always looking for talented developers, either freelance or full-time. Just have a look at our jobs page. Our tech-stack is mainly based on Ruby right now, but we will become more flexible in our technology choices in the future, as each service can be built with the right technology for the particular use case. If you want to work on a great, meaningful product, and are ready to tackle the challenges of a high-traffic site, come join us!