We’ve thought about what makes for a good workplace, and created an environment which enables a happy team to do their best work by actively removing everything that gets in the way.
As we’re funded entirely by revenue from our clients with no investors, we can focus solely on producing a great product for our clients and creating a great place to work.
We work in three teams supporting our three products: PhD Manager, Ethics Monitor, Haplo Research Manager (Research funding and Repository.) This enables everyone to develop an in-depth knowledge of their product, and work closely with clients to understand their requirements.
All our products are built on top of our platform, and use a common core of building blocks of functionality. But we've found that being able to focus on one product makes our work more satisfying, helps us develop great products, and reduces the overhead of context switching.
Each team is self-directed, and supported by a lead developer and facilitator. The facilitator’s role is to liaise with clients on requirements gathering, scheduling testing and reviews, enabling developers to focus more of their time on development.
We use Trello and LucidChart to organise our work, as well as our own Haplo application for contacts management and documentation. We’re always on the lookout for improved approaches and tools to work more effectively, and take time to reflect on our processes and experiment with changes.
As part of this process of continual refinement, we've just started using Monday.com to track our schedule of tasks, ensuring work is allocated evenly and new tasks are planned in advance.
Every Tuesday morning we get together to review schedules across all teams. When one team is particularly busy, we might call on developers from other teams to provide short-term help, and this is when it's particularly useful that our platform allows people to pick up work in our other products. Plus it's good to have a bit of variety, and see the wider context our work!
Agile, without the dogma
We use a pragmatic agile development process, splitting larger projects into smaller tasks, which are at most one or two weeks of work. We start by ensuring that we know everything about the requirements, and understand how it needs to be built. Then after the coding is complete, one of our colleagues will review the code, and we'll iterate until we're happy it meets our high quality standards.
Each team meets with the Technical Director once a week to discuss their work. Of course, everyone asks for advice whenever they need it, but having a weekly scheduled meeting provides an opportunity to raise issues or ideas which are important rather than urgent, and provides sufficient time to reflect and consider issues carefully.
We use IRC to communicate during the day, enabling us to ask each other for help whilst maintaining a quiet work environment. We have made sure our office is a place where you can think clearly, as well as establishing expectations that you move to a meeting room for discussions to avoid disturbing your colleagues.
So it remains a simple way of communicating, and doesn't get in the way of work (or life outside work), we don't log IRC, or expect our colleagues to read it outside working hours.
Weekly developer meeting
Every Friday afternoon we get together to demonstrate what we’ve been working on during the week, to discuss ideas for improved tooling and approaches to writing code, or changes we'd like to make to our processes.
During the week, we collect topics on a Trello board, and then choose which ones to discuss before we meet. During the meeting we take notes, so we have a full record of everything we've discussed.
This is probably one of the most important things we do. It enables us to reflect on how we're working together, share knowledge, and keep everyone up to date with new features.
We're very proud that our culture is so supportive that we can talk about our mistakes. We see them as an opportunity to learn, and to improve our processes and code so they're not repeated.
Every member of the team can suggest changes to the way we work. If you don't like something or have a better idea - suggest it and if the team agree, we'll start doing it straight away.
Monthly team training
Once a month we get together for more formal training. These sessions are wide ranging, covering anything from security, communicating with clients, using tools effectively, and approaches to quality assurance. Team training is followed by our monthly team lunch.
Individual development plans
Each team member has an individual development plan which is drafted within the first three months of joining, and reviewed every three months. Together with the Technical Director (for developers) or Managing Director (for other roles) we develop a continuous cycle of reflection, planning, and celebrating achievements.
We'll review your current interests and aspirations. If you're keen to try something new we'll move you to a new team or project. As all of our products are built on top of our platform, and use a common core of building blocks of functionality you can move between teams to broaden your experience whilst still using everything you've learnt at Haplo so far.
We set individual objectives for each quarter to give clear context for our work, and help set our priorities. And these feed into the overall team and company objectives, looking to develop a balanced set of skills across the company.
We work in light, spacious and comfortable offices. We're just 10 minutes away from the centre of London, but being a little away from the hustle and bustle enables us to have more space, and work in a part of London with wide open spaces and a real sense of community.
Our office is on the first floor of a mixed residential/work development, away from noisy traffic. The office is quiet and peaceful, and we've installed acoustic panels and a sound-proofed meeting room to make sure discussions never interrupt your thinking.
As well as air filtering plants throughout the office, and air conditioning for the hot summer months, we have a heat exchanger to ensure there's always fresh air in the office.
Standard equipment is an Apple laptop, and a large screen on your desk. It's important to be comfortable when working on a computer all day, so we offer your choice of keyboard and mouse, and sit on high quality ergonomic chairs.
We enjoy sociable lunches together. We generally all have lunch at the same time, and our large office allows us to have the space for a big dining table.
We provide a well equipped kitchen, including oven, microwave, soup maker, smoothy-maker and toaster. We have fresh bread delivered for the team each day, baked 50 metres from our office at the excellent Cooper’s Bakehouse. Our coffee beans come from local roaster, Old Spike coffee.
The Haplo philosophy is the exact opposite of burn-out culture. We know that software development is a marathon, not a sprint, and no one does their best work when they’re tired.
We work sensible working hours, avoid rushes with sensible scheduling, and continuously improve our tooling and procedures so that we reduce the amount of work we have to do.
We expect everyone to leave the office promptly at 17:30.
The Haplo team enjoy an active calendar of social events outside of the office from bowling to cocktails, and meals in the many ‘little gem’ local restaurants around this area of London.
Perhaps you'd like to join us?