On This Page:
Concerned about securing a software engineering job? Don’t worry! Apprenticeships are just the ticket for software engineer candidates who need to launch their careers. Better yet, software engineering apprenticeships will provide you with hands-on, real-world training in important skill sets. Potential employers will be thrilled when they view your résumé.
How Software Engineer Apprenticeships Work
Typical Program Content
Software engineering apprenticeships are paid experiences within companies that focus on developing hands-on skills. Your learning will be guided by experienced mentors who currently work in the industry (e.g. Google software engineers). You can summarize the difference between degree programs and apprenticeships as What do you learn? versus What do you learn to do?
Software engineering apprenticeships usually combine technical instruction (e.g. lectures) with individual study, coaching, and project work. Curriculum is delivered on a regular schedule, just as with a university. However, unlike degree programs, each trainee’s work is guided by an experienced software engineer mentor. Apprentices are encouraged to work one-on-one with mentors in a process known as pairing.
Skills Development
In software engineering apprenticeship programs, employers seek to expose trainees to a mixture of hands-on work experience and coursework. Here’s a list of professional and technical skills you may engage in during a 12–15-month apprenticeship program.
- Software Engineering Principles & Practices: Designing and modeling software; gathering and analyzing data to better understand the IT system and project; using shared and open repositories; etc.
- Software Development Basics: Developing and writing software code; testing and problem-solving software; securing IT systems; etc.
- Platforms, Services & Solutions: Learning about cloud-based tools, services, and platforms; using monitoring and logging tools; moving data from on-premises solutions to the cloud; etc.
- Professional (Soft) Skills: Developing effective time management and communications; leading and working with teams; solving technical problems and human conflicts; taking a strategic approach to your career; etc.
Note: Paid project work—earn while you learn—is a standard part of apprenticeship program schedules!
Apprentices & Mentors
Most apprenticeships have a mentorship component. That’s a good thing, because mentoring offers important capabilities to software engineering apprenticeship programs. These capabilities include:
- Promoting focused learning
- Pointing apprentices toward the latest, most valuable software engineering skills and knowledge
- Helping apprentices fine-tune their technical skills
- Helping apprentices focus on valuable soft skills
- Assigning and monitoring project work for company clients
- Holding apprentices accountable
- Promoting long-term professional growth
Mentors also offer invaluable career support. This support can include both technical and personal guidance, such as:
- Familiarizing apprentices with all the new experiences and information they must learn about their workplace
- Answering questions and clearing up confusions to avoid misdirection and discouragement in the learning process
- Helping apprentices realize when they have learned enough and are ready to start building software
- Encouraging apprentices when they lack direction or feel uninspired
- Offering additional guidance when needed
Benefits of Software Engineering Apprenticeships
Taking part in a software engineering apprenticeship program will expose you to a vast range of experiences. IT and software engineering communities are an excellent place to learn more about the career paths of software engineering professionals, the latest software engineering challenges, and innovative ways to use computer languages. As an apprentice, you’ll be able to:
- Work alongside company and industry experts
- Gain valuable insight into the software engineering field
- Be exposed to the entire software production process (and not just coding)
- Help transform ideas into tangible, useful software products
These kinds of experiences will be a huge advantage to you in the working world after the program has ended.
Finding a Software Engineering Apprenticeship
Where to Start Looking
Generally, apprenticeships are best for trainees who are out of school and have a clear idea about the next step in their career. An apprenticeship is a job, so it’s smart to search for one as you would any job. Begin with the following resources:
- Job Boards: Job boards on the Indeed, LinkedIn, or Glassdoor websites are good places to start.
- Field Research: Specialized reports and articles about getting hired in IT can be helpful.
- Tech Companies: Some large companies such as IBM, Twitter, and Meta advertise their formal software engineering apprenticeship programs.
- Referrals: Your personal network—including people you meet at hackathons or other off-hour IT events—might have some good intel for you.
The Best Software Engineering Apprenticeships
What makes apprenticeships worthwhile? They offer industry entrants a rich work environment and a faster, less expensive route to software engineering skills and experience. Here are some examples of the best software engineering apprenticeships in the U.S. and what makes them worth a look.
Program | Locations | Program Length | Program emphasis | Pay during program? | Work after program? |
Accenture Chicago Apprenticeship Network | Worldwide and 35 US locations | 12 months | Classroom training, mentorship, on-the-job training, and coaching. | Yes | Almost all software engineering apprentices graduate. Most stay with Accenture. |
Google Apprenticeship Program | Worldwide and throughout US | 12 or 20 months | Classroom learning and software engineering projects. Participants work with Google’s software engineers. | Yes | No guarantee. Depends on job availability and apprentice performance. |
IBM New Collar Apprenticeship | Worldwide; many US locations | 12 months typical | Collaborate with worldwide peers. Wide range of tasks. | Yes | Graduating software engineering apprentices are qualified to work at IBM. |
Microsoft LEAP Program | MS offices worldwide; US locations vary by role | 16-week immersive | Classroom learning and software engineering projects. Participants work with company software engineers. | Yes | Apprentice stays with organization or offered option for a higher-level apprenticeship. |
Program Pay Rates
Industry-wide software engineering apprenticeship standards specify competitive pay rates comparable to the company’s junior software engineering salary (usually excluding benefits). Typically, employers pay hourly rates for 40 hours of work per week.
When you start an apprenticeship program, you’ll probably sign a contract. Some of the contract terms will involve pay, such as the amount, frequency, end date, benefits (if any), etc. You’ll be paid a junior software engineering rate until the program ends. In 2022, software engineering apprenticeship salaries ranged from $52,018 to $72,285 per year.
How to Land Your Apprenticeship
If you notice the words commitment and focus popping up in the apprenticeship description, there’s a reason. The people who determine if you’re ready to join an apprenticeship program will be looking for these qualities. Dazzle them with:
- Your knowledge of current languages, framework, and coding best practices (not necessary, but it makes you more competitive)
- Code you’ve already written, even if it’s a bit clunky
- Evidence of working with others to solve their coding problems
- Anything that shows you are relentless in solving problems
- Anything that shows your open-mindedness and willingness to try something new
Tips for Success During Your Software Engineering Apprenticeship
Other than the obvious do’s (e.g. work hard and believe in yourself), here are some tips for apprenticeship success, provided by former and current apprentices. You can categorize obstacles you may face into two groups:
Conquering Your Fears: Don’t be shy about letting people know what’s blocking your progress. There is no shame in asking for help. Avail yourself of many engineers by asking questions early and often. Finally, start writing real code on real projects as soon as you can, rather than living in the safety of tutorials.
Maximizing Your Value to the Team: In project workgroups, contribute as much as you can as often as you can. Right from the get-go, pair as much as possible. Make a habit of shadowing someone. Ideally, try to follow all sorts of people for at least an hour a day. In-person or online, get yourself close to folks who are doing what you want to learn.
When It’s All Over: After Your Software Engineering Apprenticeship Program
An Offer—Or Not
What happens after an apprenticeship comes to an end? There are two major possibilities:
- Getting the Offer: There are no iron-clad guarantees that an apprenticeship will lead to a full-time position. However, your program has invested the time and effort of your mentors and instructors, not to mention the physical resources used to train you. Plus the on-boarding process is very competitive. So if you’re chosen for the program, you’re likely to succeed.
- Not Getting the Offer: Occasionally, an offer doesn’t come through. What happened? Sometimes, there are no available full-time software engineering jobs, or maybe your assessment scores weren’t high enough. Don’t lose hope. To improve your assessment score, you can retake your final exam. If your report notification recommends a retake, the training provider and employer should create a supporting action plan that addresses the identified shortcoming.
Continuing Your Learning
Whether you get an offer or not, never stop learning. Even if you’ve been offered a permanent position, career-long learning is a must. In fact, it’s part of your commitment, which your new supervisors expect. And if you don’t make the cut, non-stop learning will boost your skills and knowledge, which is always a good thing.
Here are suggestions that successful software engineering apprentices had to say about how to continue learning every day:
- Explore New Resources: Continue to surf the sources that you used during your program (e.g. tutorials, YouTube videos, articles, blog posts, and online resources).
- Build & Rebuild: Whatever the framework you work on in the future, go to the documentation and build the example app to really understand its capabilities.
- Keep Track of In-Demand Skills: Scan Hacker News or the online resource of your choice. You need to know the demand trends of specific technical and personal skills. When it comes to acquiring and updating skills, nothing in IT stops for long. So be prepared for constant change.