The first edition was published in 2020, and with the pace of change being as brutal and unforgiving as it is, I started making notes for the second edition within a month of finishing the manuscript. The overall structure has remained the same, but I go far deeper into the different topics in the 2nd edition. There are also more visuals and a couple of new topics. This series of articles provides a summary of each of the chapters with some personal afterthoughts. Serverless Beyond the Buzzword 2nd edition can be purchased here: https://link.springer.com/book/10.1007/978-1-4842-8761-3
Written article continues below the video
Chapter 5 is all about people, from hiring to training to career progression.
The evolution of Serverless technology brought with it a similar evolution in team roles – not necessarily anything new, but a refocusing and specialisation of existing roles. For Serverless, a deep understanding of the many available cloud services and their relevant security aspects is crucial. This is different from a traditional IT architect role, where the knowledge is focused on technology stacks, operating systems, and networking.
The first consideration in a Serverless talent strategy will be to build, buy, or borrow.
- Build means upskilling existing teams in Serverless competencies. It can also mean hiring candidates without Serverless experience but with the capacity to learn and then upskilling them in Serverless competencies.
- Buy means attracting and hiring talent that already has Serverless experience, headhunting them from competitors or cloud providers, for example.
- Borrow means working with vendors, cloud consultancies, freelance cloud architects, development vendors, or resources provided by a cloud provider under a support contract.
Experienced Serverless talent can be hard to find, but Serverless skills can be learned, which makes ‘build’ a great option for organisations that already have application teams willing to learn something new.
Serverless roles
Before we jump into the three strategies, let’s go over the main roles that a serverless organisation will need.
Solution Architect
The solution architect is one of the highest-demand job roles in Serverless architecture. This role will be expected to have both experience and knowledge breadth and depth across many cloud services. They will be the ones to design complex solution architectures spanning tens of services to meet the project requirements.
Cloud Security Engineer
A cloud security engineer specialises in providing security systems and tools to manage the security vulnerabilities related to cloud technologies and plays an important role in protecting sensitive business data.
Deployment Automation Engineer
Lacking or having a bad deployment pipeline is very inefficient for any project. Using a good deployment pipeline is relatively easy, but building one suited for different types and sizes of projects while also being mostly Serverless (ideally) requires hands-on experience and knowledge in this area.
Full-Stack Developer
The modern developer is typically a full-stack developer even though they may have a preference for front or back end. For Serverless, we will typically look for Typescript (JavaScript) developers if we are making web applications or Python if we are working on analytics-driven back-end solutions.
Database Engineer
For fully Serverless solutions, we often need to work with non-relational databases. These can be complex and need the right data model. The database engineer should be experienced with all kinds of cloud databases and know which is suitable for the solution’s data model and expected queries.
Project Manager
Project managers assigned to Serverless projects will need to be comfortable managing many mini-projects in parallel. This is a common approach as each component, such as a microservice, can be considered its own project with an assigned budget, developer, and timeline. Toward the end of the project, coordination and collaboration will be needed to perform the end-to-end tests to ensure all the components work well together.
Training - Build
Whether we are looking to validate our own or a team’s Serverless competency or learn a new skill, Serverless training and certification is a great way to gain and test knowledge. As the serverless computing pioneer, AWS offers several certifications at different levels to validate expertise. While there are no specific Serverless certifications yet, most of the existing ones do contain Serverless topics, so they are still worthwhile to pursue.
Serverless developers have a few career paths available to them, depending on their interests and skills. Many developers will want to remain hands-on with code and simply progress through full-stack seniority levels or specialise in security, purpose-built databases, or other similar areas. Some developers may have a talent for mentoring, leadership, and communication. This path can go all the way to enterprise executive, or they might branch off to focus on project delivery and stakeholder management. The architect path might be suitable for team members more interested in cloud infrastructure, strategy, and big-picture design. This path has levels of seniority up to executive, or it can branch off to focus on training.
Talent Acquisition - Buy
Depending on the existing talent within the organisation, it may be unavoidable to hire externally to get the right people, minimise reinventing the wheel, and reduce risk and errors.
Competition is fierce, and an organisation must offer an attractive working environment with a suitable culture for innovation and modern cloud architecture. Many skilled serverless engineers are frustrated at organisations that don’t support it well, so showing that your cloud strategy caters to Serverless is a great way to promote the working environment and attract talent.
It is also important for the organisation to vet candidates' skills, asking the right questions that dig deep into serverless challenges and architecture case studies. Chapter 5 provides several examples of such questions and other ways to vet a potential candidate.
Working with vendors - Borrow
Some organisations consistently use vendors for their application development needs. Other organisations use vendors or freelancers to temporarily augment small teams or fill gaps when team members are on leave. Either way, taking a multi-repo split team approach will make it easier to manage individual contributors and the application's overall security.
A challenge with Serverless is the lack of experienced developers in the market. This applies to vendors as much as it does to job candidates. The few vendors that have sufficient experience tend to be more expensive than vendors without. However, we need to consider the Total Cost of Ownership. The significantly reduced operational costs of Serverless, lower maintenance and overheads, shorter development timelines, and the ease of operation gained from modern DevOps practices can usually make up for the higher one-time cost of development.
There are vendors who are able to do Serverless architecture and development and even those who specialise in Serverless. For example, the AWS Partner site lists preferred vendors with a Serverless capability. Searching for relevant terms such as “Serverless Lambda developer agency” can also return some useful results, but make sure to vet them to confirm they have the right experience and capabilities.
Check out the book's mini site for more information and ordering here: https://serverlessbook.co