Angel Juarez was worried. At age 19, he was working part-time at a Michaels crafts store earning less than $15,000 a year and trying to make ends meet. He knew he wanted more in life and was interested in coding boot camps—but the cost was out of reach for him. After all, one night he found himself preparing to make a bowl of spaghetti and couldn’t even afford the sauce.

“I was pretty dejected that whole night. I just couldn’t sleep because I was nervous about rent,” Juarez told Fortune. He was living alone at the time, and paying $700 per month. As he scrolled on Facebook to pass the time, he saw an ad offering free tech training.

“It said ‘free,’ so I was like, ‘Okay, I’m gonna do that,’” he recalled.

The ad was for a program at nonprofit Per Scholas, which provides technology training, industry-recognized certifications, and professional development to low- and moderate-income adults. After applying and interviewing, Juarez enrolled in a software engineering course in which he learned coding languages such as HTML, CSS, JavaScript, and Ruby, which are considered industry standards for client-side web development.

Eight years later, Juarez, now 27, is a software engineer at American Express and makes $150,000 a year. Juarez said he “hated high school” and earned a 1.0 GPA, “which is about the worst you could do possible,” because he felt school was “just making me a number.” Per Scholas was different.