As you have read in other blog posts, we really value our developers and we give them all the freedom in finding better ways to support our website visitors in booking their accommodation. To keep up with our tremendous growth we take an active role in the personal development of our developers and this is how we do it.
First of all, we believe that most of the learning takes place by performing challenging tasks. This means we are constantly looking to provide developers with new challenges, more complex issues to fix, and new features to implement. Technical team leaders continuously check with you to see if you are challenged enough. They do this to ensure that every drop of potential you have is utilized.
Second, we encourage communication to ensure you can bounce your ideas off people that are even more awesome than yourself (as you probably know, we have several highly recognized open source and Perl contributors here at Booking.com). That is why we have an open working environment and no cubicles, but many places where you can sit and brainstorm with your peers.
Third, we have a wide variety of training programs set up where developers can learn about communication, craftsmanship, and commercial awareness. This is to ensure that developers are growing in all these three important components.
When it comes to career development, we make sure that people can grow in the direction that fits their competencies best.
In many companies the way to grow as a developer is becoming a manager. Ultimately, this leads to developers doing repetitive admin work combined with strategic tasks and therefore no longer being able to use the coding skills that they were hired for in the first place. Here, developers can grow in a technical role, functioning at the edge of new developments and earn a good living without ever being in a management role.
But of course we also value the people that want to pursue a more managerial role. Our technical team leaders not only function as an agile coach, but they also make sure their team members continue to improve themselves. Seeing team members develop themselves and grow into more mature roles, is what technical team leaders get their kicks from. At the same time, and with the same rigor, our senior team leaders are taking care of the development needs of the technical team leaders, so they are also continuously challenged to live up to their potential.
As part of their personal development plan we encourage people to go to conferences and share their new knowledge within our IT Department through technical presentations. We don't work with training budgets, we just look how a certain conference fits in your development plan and if it does, we will support it. For example, recently, we have provided several designers with licenses for tutorial website Lynda.com.
As you can see, we encourage people to take control of their career. You can look at what you are excited about and where your competencies lay and together with the technical team leader you will turn this into a plan. This plan could vary from improving on something that is impeding you, to getting broader knowledge on our systems, to specialize in a specific sub-system, or more aimed towards a new role. Anything is possible.