Guild Training Report
Every year we develop, host and deliver a lot of training. We want to share what we've learned so we can continue to make an impact on tech literacy and bring value to the people we serve.
Apprentice Training 2025 Report
Here's some stats to see what our candidates have done this year!
| Total Training Days | Total Training Hours | Total Lines of Code | Hot Drinks Consumed | Projects Complete | Bugs Smashed |
|---|---|---|---|---|---|
| 93 | 490 | 6187 | NaN* |
22 | NaN* |
NaN stands for Not a Number -- a type of programming error!
Who Are Our Candidates?
They're typically folk with no technical background. Sometimes they don't even have a computer to work with and we provide it for them while they train -- at home and in the workshop. What they have is a strong interest in learning the craft, a proven level of skill, and a commitment to doing the work.
This is the success they're having after ust 6 months!
Many potential candidates come to us with low educational backgrounds (or none), formerly incarcerated citizens, or oridinary young adults who want to learn a skill that can last a long time. For these people, traditional programs have a very high barrier of entry that always comes down to money and access to technology.
Training Highlights
Coding is the easiest part of the training, but its still a very delicate process that requires precision and attention to detail – not to mention the oft underrated skill of touch typing! Candidates train their touch typing skills during training while learning the Python programming language. Each week, they build small projects to help them learn the language and while giving them an opportunity to exercise their problem solving skills.
Debugging
If coding is the easiest thing a software developer does, debugging is one of most common challenges. Finding bugs in software is an on-going endeavor. Candidates must be able to go from program errors to identifying the cause of the error to working out how to fix that error. Using tests, they learn the process of debugging as well how to develop quick tools to solve the problems they encounter.
Pair Programming
Pair programming is a method for developing software as a group. The goal is for candidates to develop strong collaboration skills. There are 2 main roles: navigator(s) and the driver. Navigators lead group discussion about the problems encountered while coding. That includes white-boarding, research, and identifying solutions. The second role is the Driver, who’s in charge of the keyboard and responsible for implementing the code. These roles aren’t strict; everyone in the group participates and team members frequently rotate who navigates vs. drives. Software development requires collaborative skills as well as coding skills!
Whiteboarding
Being able to explain and describe your ideas as a programmer is one of the most challenging skills to learn. As every candidate learns, the code is the easiest part of what you do as a software developer. Your most precious time will be spent deconstructing problems, communicating them to your team members and explaining your solutions to those problems in common language. This activity also helps developers identify the discrete steps and tasks to test a solution.