Home/Blog/News & Updates/Skill Stacking: The 4-step framework supercharging dev teams
Home/Blog/News & Updates/Skill Stacking: The 4-step framework supercharging dev teams

Skill Stacking: The 4-step framework supercharging dev teams

Fahim ul Haq
May 04, 2023
7 min read

Given today’s competitive job market, I wanted to share a framework that helped me advance in my career and inspires my company’s direction today: Skill Stacking.

Skill Stacking is a term we came up with at Educative to better encapsulate a developer’s learning journey. It refers to devs building up multiple skills across various skill verticals, beyond just mastering just one skill.

Like a company’s tech stack expanding to meet the needs of a growing product, Skill Stacking involves skill growth across different verticals as an engineer’s career develops.

While I’ve seen highly specialized developers succeed, developers who show a comprehensive skill set are more likely to receive leadership opportunities. Developers with a wide range of skills are typically equipped to handle a wider range of problems, and thus are able to drive more business impact at most companies. As a result, these developers are typically well-positioned to advance and level up within their organization.

At Educative, our engineering leaders implement a Skill Stacking framework because it helps our teams move fast and build solid products. Second, it provides developers opportunity for growth and advancement, while empowering them to be more impactful contributors. Finally, it equips managers to build dynamic, well-rounded teams.

But what does Skill Stacking look like in practice? Today, I want to speak to both engineering managers and individual contributors about how Skill Stacking can support you (and your team).

Let’s break down the following:

  1. Which skills developers and teams should invest the most time in building
  2. How Skill Stacking can lead to faster ramp-up times for new team members
  3. How Skill Stacking encourages long-term developer growth

The 4-part Skill Stacking Framework#

A Skill Stacking framework breaks down skill development across four main verticals:

  1. Technical skills
  2. Communication skills
  3. Collaboration skills
  4. Compliance skills

Each vertical represents a core component of a developer’s job. These verticals influence career mobility and team impact.

1) Technical Skills#

Technical Skill Stacking involves combining multiple skills to write code better and faster. The four layers include:

  1. Learning basic programming languages
  2. Leveraging libraries and frameworks to do more with less code
  3. Utilizing other sub-systems and databases
  4. Leveraging APIs and services to build more extensive applications

2) Communication Skills#

Developers who build foundational writing and communication skills are able to better leverage their technical skill sets and collaborate more effectively with other team members.

Most developers’ formal education consists of building small projects independently that depend less on the need for teamwork and thus offer fewer opportunities for collaboration.

However, in the workplace, developers are now upheld to coding standards and workflows that require:

  1. Writing down information for posterity
  2. Writing code that is manageable for another developer
  3. Speaking with various stakeholders
  4. Writing and speaking institutional knowledge and design decisions

Practical communication skills preserve vital institutional knowledge during the knowledge transfer phase of a developer’s life cycle. This also prevents unnecessary redundancies across development teams.

This plays hand-in-hand with developing an engineer’s collaboration skills across multiple teams, team members, and stakeholders.

3) Collaboration Skills#

Effective collaboration is vital for developer teams to succeed in the following areas:

  1. Code reviews
  2. Providing feedback
  3. Collaborating with other teams
  4. Interviewing
  5. Recruiting
  6. Mentoring
  7. Onboarding

For developers looking to advance their careers, collaboration skills are just as important as technical foundations. Building great products is always a team effort — managers want to see that you can accelerate the team by building productive working relationships with peers, leadership, and stakeholders.

As a leader, I approach building collaboration in the same way I approach technical upskilling. Every developer has growth areas that we can target by setting goals, outlining concrete steps to achieve those goals, and providing feedback to keep learning on track. Investing in developer collaboration reduces friction in team workflows and helps developers create more innovative solutions.

4) Security Skills#

With rapid internationalization and scaling of software, it becomes increasingly important that developers build their understanding of compliance. This attention to compliance includes:

  1. Privacy laws
  2. International regulations
  3. Security concerns

As with communication skills, junior developers have fewer opportunities to concern themselves with encryption, safely storing data, or whether APIs are getting hacked. However, in organizations with larger interfaces, security vulnerabilities could result in costly consequences if developers aren’t properly trained.

Skill Stacking & Developer Onboarding#

Skill Stacking and developer onboarding go hand-in-hand, which brings me back to a topic I wrote about a couple of months ago. In short, “The Three Stages of Developer Onboarding” speak to the distinct phases of a developer’s growth “life cycle,” each with its unique demands.

Our Skill Stacking framework can reduce ramp-up time and enhance the onboarding experience for developers and managers. Here is what each stage of onboarding can look like when we integrate Skill Stacking:

Stage 1: Minimum workable knowledge#

Developers build minimum workable knowledge across the aforementioned four verticals (Technical Skills, Communication Skills, Collaboration Skills, and Security Skills). This enables developers to contribute code quickly with minimal supervision.

Stage 2: Team-oriented developer#

Developers step up to contribute to team-level activities, such as code reviews and deploying to production. To facilitate productive working relationships, developers continue advancing across the same four verticals, with particular focus on collaboration and communication.

Stage 3: Leading with long-term thinking#

Developers contribute to the long-term success of the product and the team through design discussions, recruitment, peer mentorship, and participation in performance reviews.

To ensure developers keep growing, managers provide concrete checkpoints and guidance, with scaffolding from a framework that tells them the specific skills they should improve at which time.

(Read more here: https://engineeringenablement.substack.com/p/onboarding-through-an-engineering)

Skill Stacking & Long-term Developer Growth#

Skill Stacking sets developers up for success right from the start during onboarding. However, this framework also encourages long-term growth, helping teams drive business impact and developers move up the career ladder.

Why developers should think about Skill Stacking#

Whether you are a new or experienced software engineer, it’s inevitable that your tech stack will expand to keep up with product growth. To solve new problems and make valuable contributions to your team, you will need to develop new skills across different verticals.

As you build a more comprehensive skill set, you may be able to take on more interesting projects and responsibilities within your organization. This can open up new opportunities for career advancement and promotion. Proactively seeking learning opportunities helps you build momentum towards the next engineering level.

Why engineering leaders should think about Skill Stacking#

Between top tech companies over-hiring developers (and we’ve been seeing the consequences of this with rampant layoffs across the industry) and ballooning compensation rates for top talent, most companies have no choice but to hire developers from less experienced talent pools.

With a dedicated Skill Stacking framework, companies can help junior software engineers develop into effective team members. Meanwhile, developers already on the team may need upskilling support to cross the chasm of engineering levels, where additional skills from various verticals come into play.

Investing in developer growth across experience levels sets teams up for success and facilitates the maturation of your organization. Whether or not your developers choose to stay with your organization in the long run, every great manager I have ever known prioritizes developer learning — on their team and beyond.

Closing thoughts for EMs and ICs#

This should go without saying, but I’ll say it anyway: experienced developers are valued for so much more than just their technical skills and how fast they can type code.

Every great team I have ever been a part of has been anchored by developers who excel across the following four verticals:

  1. Technical Skills
  2. Communication Skills
  3. Collaboration Skills
  4. Compliance Skills

For engineering managers reading this newsletter, I recommend exploring learning resources that can help developers build skills across each vertical. You can sign up for a free trial to learn how Educative’s courses can help your team develop their skill stack and become more productive.

For developers, I hope you find this newsletter helpful in framing your understanding of what technical and soft skills are required to advance in your career.

If you’re looking to hear more actionable advice about building up a dev team from an engineering manager at Adobe, click down below for our on-demand webinar.


  

Free Resources