Tech and product
We believe in building something useful!
We believe that a small team filled with smart and passionate people can accomplish anything they set their minds too. Great people make the difference. We value teamwork and clean code, we get excited about the challenges and opportunities of a web startup, and we constantly strive to improve every aspect of what we do. Building a great application that creates value for our customers, 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.
Perfecting our craft
As software craftsmen, we know that we can never perfect our craft. There is always something more to learn, something that can be improved upon. We regularly attend London meetups, watch videos and add to our collection of books on programming, UX, design and databases. We eagerly share the knowledge we gain, with the rest of the team.
It’s all about our customers!
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 often take the testing to potential customers, doing guerrilla usability testing in local shops. We a/b test frequently, and strive to do more. We constantly improve our understanding of both the business priorities and the needs of our customers.
Lean & agile
Over the past few years, our development methodology has evolved into a system that works well for us. Since no system is perfect, we are committed to constant re-evaluation and improvement of the way we work. 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 and cleanliness, 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 migrated our main website from Symfony 1 to Symfony 2 in 2013, and have started to use Symfony 3 on more recent projects. To help the Symfony community in London to grow we sponsored the Symfony Live London conference in 2012, 2013 and 2014, as well as give talks at the regular Symfony London meetups.
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, Symfony’s functional testing system and Jest. We have over 4,500 automated tests, with over 15,000 assertions, 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.
All our infrastructure is hosted within AWS, allowing us to take advantage of the latest cloud centric offerings that it provides. We have adopted the ‘Infrastructure as Code’ philosophy, using tooling such as Terraform to ease constructing our cloud workloads.
The product and underlying infrastructure is monitored using Cloudwatch, Loggly and DataDog - with a combination of system and business level metrics to garner insight into the health of the system.
We understand the importance of the underlying technologies we are built on, and as such are currently investigating ways in which to introduce cloud-native offerings such as Kubernetes and Serverless into our stack.
Want to know more?
Open tech positions
Every once in a while you come across a company where the staff care about each other as greatly as they care about the product; MyBuilder is one of them.