In my recent article “Serverless is for everyone!”, I talked about why serverless is suitable for both the start-ups and the enterprises alike. In that, I highlighted a few attitude challenges that often hinder an enterprise’s serverless adoption. One common theme that I have observed from people in the industry is that, organisations with no in-house serverless expertise often struggle to make a start. In this blog, I am discussing a way to overcome such starting hurdles, and a few tips to make the serverless adoption a rewarding experience!
“The swiftest way to grow a company is to grow its people” — I once read in a book. People are the most valuable commodity of an organisation. There are standards, training and accreditation that help a company to invest and grow its people. Many successful organisations are proud of their achievements in growing their people.
To be successful, the people’s growth must be reflected across all the levels and in every activity that happens within an organisation. In spite of all these efforts, when it comes to forming a new team for a new initiative, the growth idea often goes out of the way and we embark upon quickly building a team. Here, I am offering a different perspective, with reasons as to why growing a team can be beneficial for an organisation adopting serverless.
Why not to build a team
Build, as a verb, is about assembling and joining parts and materials. Building, as an action, is usually constrained by boundaries. Whether we build a skyscraper or a simple toy, each one has its dimensions and limits. Stretching beyond these dimensions can be catastrophic. An unfinished build, on the other hand though, serves no purpose. Given that, before we start building something, we need to be ready with the parts and materials, and possibly a blueprint as well.
We tend to apply the same principles when it comes to building teams. If what we are building is our very first serverless team, then the parts and materials required for building that team are hard to come by. What commonly happens in such situations is, we pull engineers from far and near, do a bit of scaffolding, give the team a name and expect it to work with all the good intentions. In contrast, what we often witness is the dominance of individualism, lack of commitment, uneven depth of skills and sadly the disappearance of togetherness. This can become counterproductive for a new serverless team and devastating for the organisation.
If we are somehow aware of these drawbacks, then why do we still continue to build teams? Well, there are few reasons for this. Business pressure being the foremost. When pressurised to develop and deliver something quickly, we don’t have much time to think and we definitely don’t look far ahead either. Instead, we hastily assemble a team, get the work done and then disperse the team. You might now ask, if this assemble-work-disperse approach solves the purpose, then why go through the pain of growing a team? The answer to this question lies within the philosophy of how growing a company is credited to growing its people!
Go organic with serverless!
Organic growth takes time, needs patience and requires energy. It’s like an evolutionary process. Say for example, we want to get to the number 4. The quickest way is to simply add two numbers. A different approach is to get there in small increments, by understanding addition. While the former suits an expert, the later works better for a child in its learning.
When an organisation decides to adopt serverless, it is a huge leap. Not just in terms of the technology, but the engineering culture requires a change-over as well. Serverless demands a mind-shift from the traditional way of implementing solutions. When serverless becomes part of a long term business strategy and finds a place in the organisation’s technology stack, then, in order to be successful, it is essential to identify the right talents and nurture them. Hence growing the team can be beneficial in the long run.
Let’s grow a serverless team!
From here on, I will take you through the different stages of this growing process. For this, I draw inspiration from nature. Understanding the similarities could help us grow a successful serverless team. After all, nature is our best teacher!
1. Prepare the field to grow
First and foremost, we need the right field. To grow a serverless team, the environment must be favourable. A culture that encourages innovation and experimentation, a culture that promotes self-governance and ownership are essential for success. These are not things we can readily source from outside. These traits must radiate down from the leaders of an organisation and to all the subsequent levels in order to make an impact.
2. Identify the seeds
Once we have a favourable environment, the next important step is to find the best seeds. We need one or more of the best engineers as the torchbearers for the serverless initiative. These engineers inspire others and become the foundation for success. Combination of high technical skills and strong personal attitude are the uncompromising qualities of these engineers. Solid software background, coupled with the passion for technology and wrapped in the ‘can do’ attitude must define such engineers.
3. Find the grower
With the ground work done, we need someone to water the seeds and assume the role of a grower or a cultivator. This could be a leader, manager, architect, CTO, or whoever. This person’s devotion and commitment must weigh more than the title. This is the enabler of the serverless team. An unselfish personality to whom the serverless team would look up to for guidance and technical direction. This is the person who enables growth in the team.
4. Feed the nutrients
Nutrition is essential for every living thing. For a growing serverless team, gaining the needed skills is a continuing process. Serverless ecosystem and the technology around it are evolving all the time. New services, new features, new tools, new frameworks, new patterns and new possibilities are announced almost every day. Keeping pace with such advances can be challenging. Hence, the team’s skill gaps must be constantly assessed and addressed. Coaching, training, workshops, and every possible way of learning must be encouraged.
We can employ two streams to up-skill the team. One stream is to make the strengths of the engineers stronger. This is like perfecting the skills and maximising the potential for increased performance. The second stream is to identify and improve the weaker skills (to make them strong). There is learning involved in both, but the later would take longer and require adequate time and support.
5. Witness the growth
As with few things in life, growth is an exciting phase. For a growing team, this is when the bonding develops and the roots for a cohesive team culture set in. These experiences make this an amazing team as it continues its growth.
As the team grows, its knowledge and capabilities widen. Accumulation of operational and infrastructure skills takes place. Team gets accustomed to cloud and serverless best practices on security, data privacy among other business critical policies.
6. Reap the fruits
The beauty of organic growth is that the team starts yielding fruits and flowers as it grows. These are early victories. These victories could be simple features or initial deployments to production, but they help to earn the trust of the stakeholders. Management gains confidence in the team, which in turn helps to raise the integrity of the team. These contributions, however small, must be recognised and celebrated. Such simple acts of appreciation would help to reinvigorate the team to achieve greater things.
7. Attain maturity
Maturity is reached when the growth is optimal. The team’s velocity, its influence in the organisation and its contributions indicate us of this state. When the team reaches this stage, we can say that it has become an awesome team that continues to produce unquestionable business value to the stakeholders.
Sustaining the maturity though, is not an easy feat. For a serverless team, this is even harder. As echoed earlier, the continuous evolution of the serverless ecosystem, the high expectations on the team’s outcome and the relentless pace of development are not that easy to keep up constantly. The role of the enabler becomes ever so important in such situations to keep the team fresh and focused.
8. Perform pruning
Pruning is a technique that cultivators follow to keep things in good shape. The enabler plays this role to identify and remove obstacles from the team. Matters that harm the well-being of the team, distractions that hinder the efficiency of its engineers must be dealt with quickly. Any deviation of the team from doing things that don’t generate business value must be addressed and set right.
9. Renew each season
Nature refreshes itself with the change of seasons. For a high-performing serverless team, it can be challenging to slow-down or briefly halt activities in order to make amends to the team or its functioning. This can have a direct impact on the business as well. In spite of these concerns, I would still recommend taking brief pauses in order to reflect, refactor, re-skill, and race (grow) again with renewed energy.
10. Welcome new shoots and seedlings
In an enterprise, growing a serverless team does not stop with just a single team. The success of the first team, helps to march ahead with a serverless-first mindset and triggers the growth of additional teams. With a proven success template now in place, the confidence in the serverless technology and the belief in the accomplishments of its people across the organisation grows.
Accelerating with serverless thus becomes part of its business ethos!
Grow in confidence
Technology is not the only reason why organisations become reluctant to adopt serverless. In many cases, it is the unfamiliarity of forming a team to work with serverless that can guarantee the return of investment to the business.
Over the years, the software industry has witnessed many challenging technologies, yet we have successfully adopted them. Serverless needn’t be any harder. Once an organisation has a vision and the desire for serverless, then it is a matter of focusing on the fundamentals to venture into something simple and then scaling up gradually from there.
With the right approach, any organisation, big or small, start-up or enterprise, can grow serverless teams and be very successful. Remember, Serverless is for everyone!