No software project is ever like any other. Each time we build software, we build something that is new and unique, otherwise we would just reuse the software that we had previously written. This means that our work is always creative, often collaborative and needs to work right the first time. Only the best people can do this reliably and efficiently.
The first step in getting the best people involves hiring the right people. We spend a lot of time searching for and vetting the right candidates. Our interviews are carefully designed to find people who can actually do, not just talk. We also focus on getting the right people that will fit our culture.
Once people are brought on, we focus on developing them. From challenging projects, frequent feedback and easily available learning material, our people are always growing and improving. Stagnation is not allowed.
A nice side-effect of this focus on our people is that you will find your work environment generally ... easier. You can trust your colleagues’ competence, work with very minimal overhead/bureaucracy and in general, just focus on being as productive as possible.
We also focus on Talent and Passion over buzzwords and fancy resumes. If you can produce the right results, we ignore all else including education, experience. gender, nationality or even choice of Operating Systems.
Software development is still a relatively young field and we are still trying to figure what works best. We believe very strongly in Agile Methodologies. With apologies to Winston Churchill - “Agile is the worst form of software development except all those other forms that have been tried from time to time”.
Agile allows us to quickly deliver features to our clients, letting them see progress from the beginning. Its process also allows us to rapidly adapt to changing markets and environments. All this, while allowing our teams autonomy, growth and pride in their work at the same time.
No process is perfect, but Agile allows each team to own and evolve the process to something that uniquely suits them. As a software developer in an agile team:
You spend less time reading and writing big documents
You spend much more time writing code and delivering value
You work with a team, always having someone you can bounce ideas off, ask for help or learn from
You will have work/life balance. Overtime is avoided and 40 hours per week is the norm
Your team decides the process - if a process does not make sense, change it!
We believe the future lies in developing software collaboratively, openly and globally. No other movement embodies these principles better than the Free/Open Source Software (FOSS) movement.
Where possible, we use software created by this movement because:
It can be freely customised to fit our needs
Typically gives us much greater flexibility in scaling, deployment and configuration
Is much easier to profile, debug and fix than most closed source, proprietary software
Is typically of higher quality, robustness and security
That said, we understand there are situations where certain FOSS solutions are not the best candidate and choose accordingly. Need to keep the code private for competitive reasons? We pick the FOSS solutions/licenses that allow this. Is this a non-core section that provides no competitive advantage? Then we select the solutions that allow us to benefit from a global community of feature development and bug fixes.