We value clean code and teamwork. We get excited about the challenges and opportunities of a web startup - balancing the needs of the business, the users, performance, scalability and maintainability. We believe that a small tech team filled with smart and passionate people can accomplish more than an average team ten times the size. Great people make the difference.
The first version of MyBuilder was launched in 2006 after 14 months of work, using outsourced developers. We then created an in house tech team, threw away the old system and completely rebuilt it in 10 weeks - with 3 people. It was a vast improvement... better usability, almost no bugs, better performance, and easier to maintain.
It's all about the user!
We believe in building something useful. This concept permeates our culture, and the interface is the most visible example. We try to understand the people that use MyBuilder in every possible way. We talk to them on a daily basis, and invite them into the office to test new interfaces and features. We a/b test frequently, and strive to do more. We constantly improve our understanding of both the business priorities and those of the individual users. We wrestle with trade-offs in respect to SEO, usability, maintainability and scalability. Building a great application that is easy to use, functions as a business, solves people's problems, scales well and is easy to maintain is a huge challenge, but that's what gets us out of bed in the morning.
Lean & Agile
Over the past few years, our development methodology has evolved into a system that works well for us. We are committed to constant re-evaluation and improvement of the way we work as no system is perfect. Honed from exploring various flavours of agile and lean, we believe that our way of working helps us get the right things done at the right time.
We believe that object oriented programming is the natural way to build our system - it allows us to model the real world in our code. We design our core libraries, data and model structures using appropriate design practices which helps us to rapidly evolve the website with minimal complications or bugs. We strive to keep a high level of code quality which not only keeps us happy and productive, but also helps the business to succeed.
Symfony - a PHP framework
Symfony rocks! In our opinion, Symfony is by far the best implementation of an OO framework in PHP, making it a natural environment for us to work in. Mature, stable and well documented, it allows us to develop our system super fast while maintaining terrific quality code. It is the perfect match for us. It takes care of the CRUD, allowing us to put our heads together to solve the complex problems.
We are very proud of our custom database migration plugin. When we started out there was no database migration system that worked with PostgreSQL, so we wrote our own! We hope to be able to release this back to the community soon.
We don't believe that testing is throwing a page at someone and asking them to have a look. Instead we believe that for you to be finished with a project that you need to have adequate unit and functional test coverage.
We use PHPunit and Symfony's functional testing system. We have over 8000 automated tests and a continuous integration system that screams when someone breaks it.
PostgreSQL was the best match for our needs, offering advanced features coupled with a high level of data integrity.
To ensure data integrity, we take advantage of PostgreSQL's triggers and functions by pushing some of our business logic into the database. For example: we use triggers to log data changes, which makes things more consistent and reliable. Postgres has allowed us to make the site faster by taking advantage of query optimisation features such as geospatial functions and partial indexes.
We also Love
Real ale, good whisky, great coffee, everything apple, debian, netbeans, and most of all our 237 sq ft of whiteboards and the office helicopter...