This is Code to Success, a Q & A series by Triplebyte where we invite software engineers to talk about their unique paths into programming and share insights on learning and working in the industry.
For this edition, we spoke with Mac Wilkinson, a software engineer at Blueberry Medical who got into coding through a public high school course and hasn’t looked back since.
(The chat below has been edited for clarity and brevity.)
On what sparked Wilkinson’s original interest in software engineering...
When I was 10 years old, my mom basically dropped a computer in front of me and was like, “Have fun with that.” So I started with just playing games, World of Warcraft and all of that, but eventually I began digging around and tearing computers apart. I did the same with my Xbox 360 by soldering wires onto it, jtagged it, and replacing its BIOS and firmware.
That interest obviously morphed into my career, and I have to give credit to my dad for it. Something I remember him saying really stuck with me: “A career is something that you enjoy doing every day,” and any kind of work outside of that is just a job. So when it came to the point in my life when I had to sit down and figure out what I wanted to do, I knew I did want a “career.” And in thinking that out to figure what I could enjoy doing, it always went back to computers, programming, software and all that stuff.
On getting the core of his programming education from public high school coding classes...
I have my high school Comp Sci teacher to thank for a lot of my education. He actually had a really, really rigorous course built out, and we ended up being one of the best in Pennsylvania in competitive programming. The fact that this teacher was even working at my school was kind of by chance, and fortunate for me. He came from some big tech company and was really only there to be able to work alongside his wife who was a substitute teacher.
Anyhow, he built out all this really great educational software for his students to use, and it wasn’t designed to handhold. He wanted to really teach us how to write code – the real fundamentals – and I remember him even encouraging us to go out and investigate to find solutions for ourselves. For example, we were writing Java, but he didn’t give us any info on array lists until a couple of years in. I remember him saying: “If you would have gone out and found them yourself to use them in your work, I wouldn't have been mad at you.”
After high school, I started Ohio University for computer science, but I didn’t finish. A short time in, a buddy of mine who was working in the Bay Area was like, “Hey, I see the work that you're doing and I want to hire you.” So I moved out here in 2016, I’ve been pretty consistently working since, and most all of that can be attributed to those high school classes.
Why Wilkinson, now on his fifth job just fours years after leaving college, hops positions so often…
There are a couple of things. One is that I will always make more money when I leave a job. Full disclosure, at my first job I was making $80,000. I was making $100,000 at my second, and $130K at my third. Then $140K, then $145K. Companies pay for experience, and with each different kind of job you take, you gain more.
Now, the second part of that equation, the experience you gain from different jobs, is itself usually enough motivation for me to start looking for my next landing spot. Moving jobs has netted me the ability to broaden my interview stack and work with more real stuff that both startups and big companies are interested in. For example, large architecture is something that a lot of senior engineers are expected to know, and you have to go get into the right job to gain that experience.
And for picking each new job, I usually try to select from companies that are aligned with my goals to help the common man. In some cases, that has simply meant I take a big salary bump that allows me to donate a larger portion of my income.
On finding his love for Python, and best practices for taking the language as far as it can go…
I started as a Java and C programmer. And at my first job, I really only wrote C and C++ stuff. But I eventually discovered how easy it was to write in Python, and then that became what all of my side projects were based on. You can so easily turn out stuff in that language. And in general, side projects have always been what have helped me kind of develop my skills, so Python has become pretty important for me.
[After giving in to some prodding, Wilkinson offered up a link to one of the first projects he wrote in Python, a Discord music bot. He added: “Oh no, I’m reluctant to let anyone look at this. It’s super out-of-date!”]
One thing I’m very strict about with this language is I really do try to maintain my code in a true pythonic way. I know Guido van Rossum, the Lord and Savior [i.e. founder] of Python, has defined a lot of pythonic ways to write code. And usually, not only are they easier to read, they run a lot faster. You can always tell when something in Python was written by a Java-focused engineer. And if I come across it, I'm going to rewrite it so it looks more pythonic. More times than not, when you follow up after that to time it, you’ll find that you’ve halved the execution of that code. So it always makes sense.
How using Triplebyte to search for jobs has been most helpful...
I think that Triplebyte definitely got me in the door in a lot more places than I normally would have. In this industry, companies sometimes see that I’m “no college” and decide I’m not educated enough for a certain job. But with my background of high school coding classes and being pretty much self-taught beyond that, I benefited from the fact that Triplebyte’s assessments let me show that I have the skills and belong on a the same playing field with a lot of the engineers who have the four year education verified checkmark. So I was able to connect with a lot of companies who were hiring. I’ve actually found my way to two different job offers with Triplebyte.
What he would be doing if not software engineering...
I probably would have gone into music or something like that. I did play piano for a bit, and I dabbled in drums. I always found music really interesting, and I'm sure if I had seen everything though at college and tested out of some computer science classes, like I did when I first started my degree, I would have just done some music theory to fill in all the free time.
In fact, whenever I get out of the Bay Area and can get myself some more space – space beyond just the single bedroom I have now – I'm definitely going to get a keyboard and get back into that stuff.
Triplebyte helps engineers find great jobs by assessing their abilities, not by relying on the prestige of their resume credentials. Take our 30 minute multiple-choice coding quiz to connect with your next big opportunity and join our community of 200,000+ engineers.