Before becoming a software developer and tech lead at Ecosia, Jason Gwartz was a jazz musician, a tour guide, and an ambulance driver. After a series of unrelated jobs, he landed a role doing tech support in an Apple store. This became his way into technology. We recently had the chance to chat with Jason about how someone with a non-technical background, like himself, can become a software developer.
Bit by the Coding Bug
You've probably heard the saying,"the best programmers are lazy programmers." That was true for Jason.
He was working in the Apple store doing various tech support tasks when he noticed that he kept encountering a lot of the same tasks over and over again. Jason noted how lazy he was and that he became very bored with doing repetitive things. So, he found a way of automating some of the more ‘boring’ parts of his job.
Eventually, he ended up writing small scripts and creating tools to make his tech support life easier. As soon as he started coding, he inadvertently learned more about the tech industry. That made him want to explore careers in technology.
Self-Study vs School
Jason had a few friends become developers through self-study. However, the idea of studying to become a developer on his own was a bit daunting. Jason believed he needed the structure of a traditional schooling system.
While living in London, Jason applied for a computer science degree at a university there. He enrolled in what is called a "conversion masters degree" program. It was similar to a coding school in that it was a one-year, full-time education where he learned the fundamentals of computer science and gained some coding practice.
Jason said he would have been open to an online coding school, but there weren't any appealing ones at the time.
He believes the benefit of going to school or enrolling in a coding school or bootcamp is the opportunity to network and talk about coding in real-time versus reading responses in a forum.
In reflecting on his education, Jason finds that the data structures and algorithms were really important for his first tech job, but not as relevant later on. What was really relevant was the experience of being part of a team of developers and working together; the social aspect.
Eventually, Jason would be required to develop his self-study muscles.
"A big part of what I do now is just learn different technologies on my own."
Self-study started with what Jason describes as "inspired coding" — taking up coding projects that were not assigned by professors.
Landing a Tech Job
Jason Gwartz originally earned an undergraduate degree in jazz performance from a university in Canada. He believes having any kind of degree gives you an advantage but is not essential. Having a university degree helped him with visa applications, which made him available for more job opportunities outside his country of residence.
Jason also noted that, once you land your first tech job and have a couple years of experience, employers and clients don't really care how you learned to code. Your career history is proof that you can code.
According to Jason, having a computer science degree or certificate helped with getting his foot in the door, but it didn't help him pass the technical screening. And it certainly didn't help him pass the personality screenings and culture fit interviews, which is something we work diligently on in our Professional Skills curriculum.
The Interview Process
After earning his degree in London, Jason moved to Amsterdam, where he interviewed for his first real tech job at Booking.com. He initially failed the first interview but naively believed the interviewer when they suggested Jason apply again in six months.
During the six months, Jason studied and worked on the challenges presented during the interview. His second interview was much better because he was more prepared. Many of the questions were similar, and he was thus able to articulate himself more clearly.
According to Jason, a big part of passing a tech interview is being able to explain one's thought process.
"A tech interview is like a math test where you get one point for showing your work and none for having the right answer. The point is not just to get to the right answer, but to communicate your thinking along the way. Code isn't written for the computer. It's written for other humans."
Jason believes the ability to communicate technical processes and issues in plain language is something most developers from a non-technical background excel at.
Don't let your age discourage you from entering tech. The most important things to have are:
- The self-discipline to learn,
- The desire to keep leveling-up your skills,
- And the ability to communicate with people regardless if they have a computer science degree.
Working in a Developer Team
Working on a team as a developer is a lot like other social work environments. For Jason, it feels similar to playing in a band. You have the same overall goal, but everyone's got their opinion on the best way to get there.
Code is a language that we use to communicate our thinking to each other. If code was a language written for computers, we'd write it in machine language. We write in very high-level languages because it's easier for other humans to understand our thinking. Your code should provide a solution that is understandable to anyone who isn't you — that someone might even be future you.
Being able to properly express yourself is a big part of being a developer, and it's sometimes the biggest part of being in a developer team.
Jason says he still doesn't feel comfortable coding. To him, developers and artists are the same in that they never fully feel comfortable; They can only be comfortable with discomfort. That's because coding is creative, and good developers and artists are constantly pushing their limits by pursuing challenges that increase in complexity.
Jason challenges developers who feel comfortable to question whether they have ten years of experience or if they have one year of experience ten times in a row. To him, by getting to a place of comfort, where every task is super easy, means a developer is reliving the same year of experience over and over.
"Part of what I love about being a [software developer] is that the stuff I do tomorrow is almost certainly not what I did yesterday... I think what I really love about the field is that I get to learn and do something new and challenging all the time."
It took Jason a couple of years to get comfortable being uncomfortable, but he says the important part is that he's always trying to grow and expand versus staying stagnant.
Do you have a non-technical degree but are interested in becoming a developer? Watch the full expert webinar with Jason Gwartz, a software developer at Ecosia, to learn more. And if you're ready to become a professional software developer, get started below!