Mia on her journey on how she became a Software Engineer in her 30s.
Tell us about yourself
I had a bumpy path to becoming a programmer. I wrote my first “Hello World” at the age of 32. Before that, I was a janitor, a receptionist, a Lance Corporal in the USMC. It wasn’t until I broke my back that I realized I needed to find a career where lifting/pushing heavy things wasn’t part of the job requirement.
Today, I’ve been a C#.Net developer for over nine years. I work for a company that is on the Forbes Global 2000 list. I’m a “go to” person in the department, I mentor other developers, and have used my non-traditional experience to create unique solutions that benefit customers.
I have two passions in life that I can’t live without: Programming and Dressage. I find them eerily similar in many ways. They both require an extreme adherence to details. They both require creativity and piecing together sometimes disparate information in unique ways to create something that flows together smoothly. And they both require an immense amount of patience and logic to flush out whatever issues are occurring.
I love programming. I would do this for free if I could afford it.
How did you first get started in your career in tech?
To get my foot in the door, I earned my Bachelor’s in “Electronic Business Design”. It’s a defunct degree now, but it incorporated all of the CIS classes, with additional legal courses specifically focused on business law.
My first job offer after graduating, and only offer at the time, was as a Cobol programmer (Cobol was old and outdated even then) at a company an hour away.
I had a difficult time getting my foot in the door. I had graduate Cum Laude, had numerous references from professors, a merit scholarship from a big company, and had graduate in half the time while working part time. I had a lot of pluses in my column, yet I kept getting passed over.
I discovered that I was missing a lot of the core concepts of programming. It wasn’t until I really focused on learning those, and could explain them clearly, that I started getting job offers. My resume got me past HR. My ability to correctly explain the concepts when asked got me the job.
Study the concepts, understand the theories, and show that you can properly apply the concepts. Those are the things that will get you the job. It’s hard to get your foot in the door, but don’t quit trying. Keep your eye on where you want your future to go, and fight for it.
How did you develop your technical skills?
When I first started, online courses weren’t really a thing, so I spent a lot of time at the library reading all of their programming books. When I could afford it, I started investing in Microsoft Certificates to earn my Microsoft Certified Technology Specialist certs.
Although employers didn’t seem all that enthused about the certs, I found them highly beneficial. Not only did it improve my skills and knowledge, but passing the exams gave me confidence that I knew my stuff.
I really enjoy the online courses offered now. I also find podcasts are a great resource on my drive to work or doing mundane tasks at home (cleaning). They help expand my knowledge of latest technology and tools. In my free time I try out different techniques, or new programming languages, for programs I want to create for myself. I find practicing is the most beneficial, and helps me learn the concepts more fully.
What are the most important skills to have for someone in your position?
Other than actually knowing how to write code, being able to take criticism and grow from it is very important. Not just when you ask for feedback, but also when you screw up (which you will).
Being able to communicate complex concepts in simple ways. Not dumbing it down, but understanding the concepts so fully that you can explain it in its simplest form.
Before you talk to the customer about how to resolve an issue, or adding new features, make sure you know your process inside and out and can explain it to a 5 year old. Otherwise, you’ll never find the correct answer for the customer because neither of you will understand how the process works.You can be the best programmer in the world, but if your customer isn’t happy, then no one is happy - Mia… Click To Tweet
You can be the best programmer in the world, but if your customer isn’t happy, then no one is happy. Sometimes that customer is your co-worker; sometimes it’s someone half-way around the world. Know your customer. Understand what problem they’re trying to address with your code, and figure out how to help them address it. If you can do that, you will always look like a rock star programmer (assuming your code doesn’t break).
Is coding hard?
Coding isn’t hard. It’s small blocks of functionality put together to create an end solution. The hard part, for me, is fully understanding how the customer expects it to work. I write tax and accounting software, and some of the requirements are extremely complex. I spend 80% of my time figuring out what the requirements are, and 20% coding.
The part of coding that I find technically difficult are related to putting things together in order to create solid, efficient functionality. I want the leanest blocks of code, while still keeping it easily understandable for the next developer that touches it.
What are some difficulties you faced in your career? How did you overcome them?
Lack of confidence has fouled me up a several times. Several years ago I was asked to share my screen with a few very senior level engineers while I wrote code (with the intent that they would help if I hit a snag). I froze. I couldn’t even remember how to create a variable. It was mortifying. I finally told them I’d write it on my own and grab one of them if I got stuck on anything.
I worked on overcoming it by practicing writing code in front of people I trusted. The more I pushed myself beyond my comfort zone, the easier it was to feel comfortable at the new level. I still have anxiety when I write code while being watched (interviews), but I don’t completely freeze up anymore.
Keep pushing past your comfort zones. Whether that’s learning a new language or tool, or going to conferences, or taking part in forums or coding challenges. Keep pushing.
Is a career in tech something that anyone can tackle? What is the most important thing to consider?
Definitely. If you’re coming from a non-technical background, you will bring a different, much needed, perspective to any tech field you choose to go in to. Plus, there are so many different roles in tech if being a full time programmer doesn’t appeal to you.
Where I work, our support personnel work hand in hand with customers to gather requirements. These are people who enjoy helping other people and are great at breaking down the complexities of a problem. They come from all walks of life and although may not be the traditional programmer, they have a strong understanding of the code and data models. They are an essential part of the company.
The one thing I consider most important in any tech field is simply leaving your ego at the door. At times this is extremely difficult, but I’ve found those are the times that I’ve learned the most, grown the most.
What advice would you give to someone who is considering a career in tech?
You will write bad code. You will make errors. You will have numerous times where you want to quit.
Push through it.
This is the most frustrating, challenging, rewarding field I’ve ever worked in. I wouldn’t trade it for anything in the world.
My last thought… and perhaps I am breaking the programmer code by saying this, but I did not give up my life to become a programmer. I really enjoy riding and owning horses, and my time spent doing that is sacred to me. What I learned, over nearly a decade in this field, is that you can still progress as a programmer while striking a healthy work/life balance.
Not that you won’t have periods where you need to devote massive chunks of time toward programming (or work), but overall… don’t forget to carve out your own time for family, friends, and hobbies. That is what will keep your mind fresh and allow you to still feel that drive to become the very best programmer you can become.
Where can we find you?
You can find me on LinkedIn.