Qt as a Career – Mapping your own path into coding
In this series, we'll be bringing you a variety of career stories from people working with Qt.
Today, I'm interviewing Tanner Yould, Product Engineer on the ArcGIS Maps SDK at Esri, based in sunny California.
Hi Tanner! Tell us a bit about yourself. What do you do?
Hello! I’m Tanner, and I’m a Product Engineer on the ArcGIS Maps SDK for Qt team at Esri. To unpack that a bit, Esri makes mapping software (or more specifically GIS software), and the ArcGIS Maps SDK for Qt is a software development kit that allows you to bring the power of Esri’s software to your own Qt apps.
What I do on the team is create small little sample apps that demonstrate the functionality of our SDK, as well as best practices for implementing it.
What originally inspired you to pursue this career?
I got into programming because I wanted to solve problems, and in today’s world, most problems can be solved with the help of programming.
Before this career path I actually worked for a number of environmental nonprofits. As is the stereotype, these nonprofits were kind of underfunded and understaffed and so I’d turn to technology and programming to lessen my workload. I don’t want to get too into the weeds with details, but so many of our processes were incredible outdated and inefficient and I taught myself programming to learn to automate things like volunteer sign ups, time sheet management, donation processing, geospatial data management and so on.
It turned out that I just enjoyed solving problems with coding more so than anything else I was doing, and I wanted to turn that into a full-time job. So, I buckled down, took some online courses, took on some really large projects to showcase in a portfolio, and applied to programming jobs.
Working at Esri was always my dream job and end goal. They’re a really ethical company that treats its employees right and is making technology that is used to solve some of the biggest and most interesting problems the world is facing today. I applied for a few positions at Esri, not really expecting anything, but much to my surprise and joy, I managed to land a job here.
What did you study at school, and how did it prepare you for your career?
I took a bit of a non-traditional path into tech. I actually got a BS in Environmental Studies with an emphasis in conservation biology. Most of my coursework was biology, chemistry, physics, ecology, and so on. The only formal CS course I’ve ever taken was an AP Computer Science course my junior year of high school.
My degree prepared me fairly well for a career in environmental nonprofits, but truthfully that’s never what I really wanted. I always wanted to be a programmer, but upon entering college, I just wasn’t confident that I’d be able to make it through a CS program. I wanted a CS degree, but I just didn’t feel smart enough. So, I instead followed my other passion of nature and the outdoors and pursued an environmental degree. However, after graduating and realizing just how many problems programming can solve even in the environmental world, that really rekindled my passion for it.
Fortunately, nowadays there’s a ton of online content to help motivated people learn to code and so even without a formal CS degree, you can become a programmer. As I learned more and more programming and applied it to real world problems, I realized just how wrong I was as a freshman in college thinking I wasn’t smart enough to be a programmer. I strongly believe that anyone with a passion for coding can become a programmer and the tech industry makes it out to be significantly more arcane than it actually is.
How did you first discover Qt, and what changed as a result?
I first discovered Qt through on the job training, actually.
What changed? Pretty much my entire perspective of how apps can be developed. For example, before getting this job I was considering making a mobile app for visitors of a local botanical garden to continue to pad out my portfolio. However, my main stopping point was that I’d have to learn two new frameworks, both iOS and Android, and the overwhelming amount of work that would take me discouraged me from even considering getting started.
Had I known about Qt I could have developed the app for both iOS and Android, and also made it so the botanic garden had the option of installing it to kiosks running a desktop OS throughout the garden. With the daunting task of learning and working with multiple frameworks out of the way, I was free to consider the actual app, rather than worry about how I’d maintain it in two to three different frameworks. Granted, by the time I learned about this solution I was preparing to move away for work and didn’t get the chance to build it for them, but still.
Can you describe a typical day or week in your job?
Yeah! Depending on the time in the release cycle my job can vary between writing new sample code, reviewing others’ code, addressing bugs, responding to users’ questions on our Esri Community forums, testing, and more. In a more general sense though, each morning we meet for stand-up, where we go through our project board and discuss what progress everyone has made on whatever they’re currently working on and what their plan for the coming day is.
After that, I just get to code all day in some form or another and it’s awesome.
What do you love most about your job?
If it hasn’t already been apparent, I love solving problems. And what’s even better is that in this role I get to help build software that helps a lot of people solve a lot of problems. Our technology is used across the world (and even other worlds!) by governments, researchers, nonprofits, businesses, and so much more, and it’s so exciting to be creating the tools that help people solve some of today’s biggest problems. It really is my dream job and it’s an absolute privilege to be a part of it.
Which skills or qualities would you say are of importance in order to succeed in your field?
The creativity to identify problems and the determination to solve them. Programming is an immensely powerful skill that can be applied in almost every situation and I strongly believe that anyone can learn to code. However, just knowing how to code won’t get you anywhere if you don’t know how to apply it. Technology is a tool and you need to be able to use it.
What advice would you give to someone interested in pursuing a similar career?
As a continuation of my previous point, you need to demonstrate that you can apply what you know. To that end, I always recommend people take on a project and solve a real-world problem. And if you’re unsure of where to start, I’d say nonprofits are always understaffed and underfunded and have problems that they just don’t have the time or budget to fix. When I was learning to code, I reached out to a local wildlife rehabilitation center to see if I could volunteer my programming skills. Without going into too much detail, I ended up making them a web app that made their rescue process significantly more efficient. At the end of that project, I learned a ton about full-stack web development, I had a project to add to my portfolio, I had references for my resume, and this wildlife shelter now had a solution to a problem that saved them a ton of time and money. So yeah, that’s some very specific advice -- reach out to a non-profit or charity that interests you and see if you can use your coding skills to actually start solving real world problems.
To give some additional, very general advice, believe in yourself. I know it’s cheesy, but it’s true. I doubted myself, and that prevented me from pursuing a CS degree. I then doubted if I could ever get a job in tech without one. I doubted myself through almost every step of my journey as I struggled to learn every new concept. I doubted myself right up until I actually landed my dream job. Having gone through that, I just want to say believe in yourself. Anyone is smart enough to learn to code. You don’t need a CS degree to get a job as a programmer.
You don’t need to know everything because it’s impossible to do so. So yeah, believe in yourself. You got this.
Subscribe to our newsletter
Try Qt 6.6 Now!
Download the latest release here: www.qt.io/download.
Qt 6.6. is a feature release with focus on improving UX capabilities including responsive UI technology and the Qt Graph module.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.