Skip to content

STRUCTURING THE LEARNING JOURNEY – Identify The Right Foundational Skills To Teach

Much as there are unwritten rules and processes for knowing how to apply for a job, there is foundational knowledge that is generally assumed to be understood when one starts a technical role. To approach apprenticeship equitably, it’s important to make the unwritten rules and processes of being a Software Engineer, UX Designer, or Product Manager explicit for all. This is especially important when onboarding apprentices from a variety of alternative education pathways and racially underrepresented backgrounds, who may have been upskilled and prepared in different ways.

  1. Determine where apprentices need to be at the end of their program (draft off year-one entry level skill requirements).

Questions to Ask:

  • Does my company have any existing trainings or career development framework performance expectations for a level 1 position I can benchmark off of to set level 0 (apprentice level) expectations?
  • What technical managers can I talk to to understand what skills are expected for a year-one entry-level position?
  • What year-one employees can I talk to to understand what is expected of them?


  • Teach one step ahead of those year-one level trainings or performance expectations to fill any gaps for your alternative education apprentice audience
  • Take care to demystify language, terms, and cultural norms and not assume automatic understanding that a year-one employees may have
  • Technical skills are important, but non-technical skills around growth mind-set and resourcefulness are even moreso, as they demonstrate an aptitude for learning just about anything

Examples of foundational skills in software engineering:


  • Strong collaboration
  • Strong growth-mindset
  • Strong communication
  • Strong resourcefulness


  • Writing Code
  • Code reviewing (both giving and receiving)
  • Code testing and mocking
  • Documentation


  • Daily standups
  • Spring planning

Determine what foundational technical & non-technical gaps exist for candidates entering the program

Questions to Ask:

  • How can I connect with potential apprenticeship applicants to understand what skills they’ve learned across a variety of alternative education pathways?
  • How can I connect with other established and equitable programs (staff and apprentices) to learn more about the gaps they have noticed?


  • Interview or survey candidates you imagine may apply, from not just bootcamps, but also community colleges, community-based organizations, self-taught individuals, from Black, Latinx, Indigenous and other diverse backgrounds; use this data to inform your curriculum design
  • Do not recycle curriculum for interns coming from four-year computer science college programs; design specifically for apprentices who will not go back to school, but instead convert into full time roles. Remember that the best learning resources are tailored to their audience. Apprentices have different strengths built from their alternative experiences and backgrounds.
  • Common gaps include: familiarity with agile processes, how to work in a professional team environment, collaborative work, what it means to have quality code or other technical work, how to build products to deploy for production.

Determine what internal system & process skills should be taught for the technical discipline that may be unique to your organization

Some examples of company tech systems and processes for software engineering include:

  • Intro on coding languages used internally
  • Do not underestimate the amount of time it takes apprentices to learn and practice new languages). The languages taught in their previous upskilling programs may not align with the languages of company, which is okay. Apprentices have demonstrated they can learn new skills effectively. Remember to provide time, resources, deep dives, strong mentorship, and designated time for self study (at least 1x/week) around new languages
  • How to use Git and other relevant collaboration tools
  • How to use Agile to plan sprint workstreams, plus how to use development planning tools (Asana, Jira)
  • How to use software systems used for testing and deployment of code
  • Domain specific tools
  • Vendor specific tools


  • Take care to demystify language, terms, and cultural norms and not assume automatic understanding
  • Remember that this is a unique opportunity to develop talent into the type of technical professionals that will be most effective on your team and, by conversion time, already well-versed in your company’s internal systems and processes, unlike other new hires. They have gone through intensive, time-limited training programs, and are highly motivated and growth oriented to be upskilled quickly
  • You can teach different languages, skills, processes, focus areas within a cohort of apprentices as long as your basic foundational skills are the same. Or you can have a cohort focus on a single language, skillset, process set, as long as there are enough openings requiring those skills to convert talent at scale

Use the foundational skill areas you prioritize to evaluate apprentices (see best practices in X section)

Questions to Ask:

  • How do we want to define clear and transparent performance metrics for each skill area?


  • Designate clear metrics across at three levels of performance:
  • The “Growth area” level is where most apprentices should fall early in their apprenticeship
  • The “Meets expectations” level is where you want most apprentices to be by conversion time
  • The “Exceeds expectations” level is not where apprentices need to be at any point, and should be very hard to obtain. While it is not the norm, it may be possible, but never expected
  • Emphasize to managers and mentors that meeting expectations is not lowering the bar. It’s an excellent indicator of future success
  • See section X in the Assessment Best Practices for more details on how to develop an evaluation rubric by skill area

You’re on the right track if the foundational skills you teach maximize placements in a variety of similar technical roles


  • Ideally, headcount is locked in for apprentices over the long term. However, it’s also a common problem among apprenticeship programs that headcount planning may suddenly shift on teams. If a team suddenly cannot accommodate an apprentice for conversion, there may be other teams that work with the same technologies or areas. If not, apprentices have demonstrated to be adept at learning quickly and could move into a similar role but switch from, in the case of software engineering, front-end to backend, full stack, site reliability, etc.
  • Try not to re-deploy an apprentice to a new team during the actual apprenticeship unless at last resort, in order to give them ample opportunity to practice and develop mastery in one setting.

— — — — — — — — — — — — — — —

Tool and best practices co-designed with champion in tech Kevin Berry.

Have questions or comments about the Equitable Tech Apprenticeship Toolkit? Send us a note.