This post is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started.
Today, we’re talking to Sylvia Fronczak. Sylvia is a software developer that has worked in various industries with various software methodologies. She’s currently focused on design practices that the whole team can own, understand, and evolve over time.
Wondering if a career in programming is right for you? Read Sylvia’s advice below.
Basic Logistics: Stack? How long have you been doing it?
Through my experience, I realized that one of the most important skills you’ll develop over your career in programming involves being able to pick up new languages and frameworks easily.
However, when you’re still early in your career, don’t put too much emphasis on learning multiple languages and frameworks. Instead, work on getting depth in just a couple languages. And then learn those well. Once you have an in-depth understanding of two languages, you’ll be able to more accurately find differences and identify the costs and benefits to different languages in the future.
What made you want to go into programming?
More than 20 years ago, I didn’t really know what I wanted to be when I grew up. Although I had finished three years of a mechanical engineering degree, I still lacked clarity as to what it meant to be a mechanical engineer. Like, what do they do all day? Do they sit around calculating the tensile strength of materials? Figure out thermodynamic problems? Write reports? I had no idea, but what I imagined didn’t sound satisfying to me.
So I had a small early-life crisis. In short, I dropped all my classes and played around in the snow of Michigan’s upper peninsula for a semester. I also wasted a bit of time at parties, too. I would not recommend these actions to any of you. But sometimes we take a few detours to get us oriented in the right direction.
After wasting time for a bit, I then started school up again, this time working toward a degree in business. It was a bit more interesting and provided a much-needed change from the mechanical engineering courses I had grown tired of. And although I appreciated the focus on business problems, I did miss some of the technical problem-solving that I enjoyed in my previous degree.
Fortunately, my school also offered a concentration in management information systems that went along with the business degree. Though not as robust as a degree in computer science, I was able to take a few programming and design courses. And I enjoyed being able to solve problems that very quickly could be given to a customer or business to add value.
The quick turnaround time of programming something and then having someone use it gave me that short feedback loop that told me that what I was creating mattered. And most importantly, I felt that I understood what this career would look like in the real world. And it’s something I could, at least a little bit, see myself doing long term.
Did you ever think that you’d made a huge mistake getting into this field?
Yes! Absolutely. In fact, I took almost two years off to pursue other career possibilities before realizing that programming filled my needs.
About three years after graduation, I was living in New Hampshire and felt unfulfilled in my career. My job had become somewhat repetitive and I didn’t feel like I was learning new things anymore. I didn’t realize how much more there was to learn or how to add more variety into my role.
So I cut my hours at work to part-time and signed up for a few classes at a local university in writing and biology. At that point, I just wanted something different. When that wasn’t satisfying my need to learn, I decided to move back to Michigan. I didn’t know what to do with my life but figured a change of scenery might be good.
Once I moved to Michigan, I assumed that I would just find a job programming again. However, no one was hiring. In 2003, programming job numbers started increasing after the dot-com bubble burst, but for someone who didn’t have a job, finding one proved difficult. In an attempt to increase my income and find stability, I tried other things: insurance sales, direct sales, waitressing, and more. But none of those satisfied my technical curiosity or, more importantly, provided the income that I had grown accustomed to.
So, ultimately, I came back to programming. And although the job market still wasn’t great, thankfully one of my good friends got me a job doing some small programming tasks at her consulting firm. And from there I was able to get another programming job and then another.
The two years off hurt, but I learned a lot about myself and what made me happy. And I learned that I can always make a change if I decide to in the future. We’re not stuck in one career forever. We have options if we’re willing to take a risk.
What advice would you offer to people considering a career change to programming?
If you’re considering a switch, try it. You don’t have to quit your job and commit your life to programming before you know whether that’s what you want to do. There are so many resources now to learn programming, computer science, and software engineering principles. You don’t have to spend money to get started, but you do need to make a time investment.
So, get started with a small application. Pick a language stack that’s used frequently in the industry on production applications. This will make sure you’re not pulled into trying a hot new language that won’t last the test of time.
Once you’ve decided on your stack, try to make a small application that you would use. Then actually use it. Add features to it, improve functionality, and make the user experience good.
Then, start to incorporate more of the tools that software engineers use every day. It’s not just about learning one language or framework. Start looking at how to add automated tests to your project or how to use continuous integration and deployment. Learn about maintaining the application and debugging issues. Figure out what types of metrics or monitoring you need to keep your application up and running.
All these things will increase your knowledge of software engineering. And you’ll also find out if programming can provide the satisfaction and learning opportunities that you’re looking for.
Any final words?
A career in programming includes the potential to learn about so many different industries. And you can improve almost any business or social problem in the world with a well-designed software system. Whether your passion lies in medicine, aerospace, the environment, gaming, or anywhere else, you can make an impact by providing software that helps people do their jobs.
So spend some time writing an application or two. Get down into learning not just how to build an application, but how to make it good. And then decide if this is something you could do every day.