
This is How I Got Here, a series where we chart the career journeys of technologists. Want to tell your story? Get in touch.
When Joshua Gates was a high school teacher in the 2010s, he developed his own grading software after he became frustrated with the program he’d been using.
“It got bought up by a conglomerate and was messed up, so I created my own replacement for it,” Gates told Technical.ly. By the time he decided to become a software developer full time, he was running that software as a service.

Gates, 47, now works from his home in Hockessin, Delaware, as a director of software engineering for the Wilmington fintech company Best Egg. It’s a position he’d worked toward since landing a job there in 2020, fresh out of the Zip Code Wilmington coding bootcamp.
Since then, like many Zip Code alumni, he gives back to the up-and-coming technologists following him by tutoring and giving talks.
In this edition of Technical.ly’s How I Got Here series, Gates talks about knowing when it’s time to change, and how to do it.
This Q&A has been edited for length and clarity.
When you were growing up, what did you want to be?
I think, like everybody else, I went through a lot of things I wanted. For a long time, my goal was to be a physicist or a mathematician, something in the sciences. I ended up as a physics teacher for about 15 years before going to Zip Code. That was a lot of fun, and I got to use all those skills.
It’s another kind of job where new things happen all the time, right? Every day is not the same as the last, which is a great thing about coding as well.
What made you want to transition out of teaching?
A lot of it was for a new challenge. After 15 years, I had figured a lot of things out, so I wanted to go somewhere where I hadn’t figured all those things out.
In the last few years, I was teaching coding as part of my physics classes. The students would write simulations that would use the laws of physics to make calculations that you can’t make by hand. It seems silly, but it’s really hard to even calculate the path of a ball flying through the air if you account for air resistance, because that air resistance force changes direction and size the whole time. It’s very difficult to do that, but it’s really easy, it turns out, to code that.
I used a system called standards-based grading, which is fairly different from the way most folks grade, and I created my own software for it. The last couple of years, before I changed, I was running that as a service. I had teachers paying me to use it, so I was spending a lot of my time coding the last few years, so it was natural to transition out.

How did a coding bootcamp compare to the more traditional education you had when you became a teacher?
They’re pretty different. Zip Code was an intense experience. I’ve taken a lot of hard classes — I have a master’s in applied physics from Johns Hopkins, so there were some difficult classes, but it’s different from the way Zip Code teaches you. Everything is very, very hands-on. From the beginning at Zip Code, there’s attention to theoretical foundation, but then there’s a lot of just figuring out the new thing that you’ve been presented with, which is a lot like on the job.
Who have been your biggest influences along your career path?
My first manager at Best Egg was really influential. He was very good at seeing the gaps and pushing me in the right direction without giving me the answers, and did a good job of putting me in a place where I didn’t quite have all the skills to solve it, but it was close enough that I could grow into it. It’s like, you don’t want to throw somebody totally in the deep end, but you do want to give them enough challenge that they grow. And that’s a really valuable thing to have when you’re first starting out, and it led me to develop skills pretty quickly.
What does a typical day as a director of software engineering look like?
One of the nice things is the days aren’t all typical, but there’s sort of a balance between interacting with other stakeholders, designing new solutions with other folks and then implementing. Some days, there’s a lot of detective work — why did this break? What’s happening? Why doesn’t this new thing work? — and that’s a lot of fun too. That’s pretty invigorating.
What advice would you give someone who is mid-career, looking to make a move into tech?
Think about the nature of the work and how you fit with it. You’re not going to succeed if the reason you want to change to something is for a good paycheck, because it’s difficult enough that it’s not going to sustain you long.
You’re not going to succeed if the reason you want to change to something is for a good paycheck.
But if you like solving problems and figuring things out, even if you don’t necessarily have the technical background — the technical background is not the most important part of it by any stretch — if you think back at what you’ve done over your life, like have I worked in a team? Can I work well with others? Can I stay calm when things break? Things like that, those are super important skills.
You may have more of the package than you think when you start out. The person in their basement that can’t talk to people and only codes and speaks hexadecimal, that’s not the reality of what makes a successful coder within the company. Technical knowledge is not the most important part of the journey, but you do need to like the kinds of skills that you’re going to have to use in order to succeed.
Looking back at what you built before Zip Code, what have you learned?
That the theoretical background that Zip Code gives you was great. When I looked back at my site, which was operational and making some amount of money, I instantly saw things that I wasn’t doing correctly. I ended up coming back and rewriting it, so now I have a much better version, but I think that part of the instruction is very valuable. It’s not so much how to solve this one problem, it’s foundational skills that let you architect a proper solution to any problem. Regardless of the language — if you understand all these underlying things, you can pick up a new language very quickly.
And then you get to use your teacher skills to tutor newer students in the bootcamp.
It does allow me to have that outlet. A great thing about Zip Code is the closeness of the alumni and students in the program. You really get the sense that you should pay it forward to future folks — I certainly do that, and I will continue to do that.