How I Went from Being an Undeclared Major to a Software Engineer
“What do you want to be when you grow up?”
At age 5, a zookeeper. 9, a surgeon. 13, a journalist. 17, a pianist.
When it was time to choose a major, I thought it was too late to pursue software engineering. Software engineers were supposed to have written their first program at the age of 10, have completed a year of AP Computer Science, and be working on their next app (“The Tinder for Real Estate, using Snapchat integration”).
But for me?
I was googling what accountants do because math made sense to me and the work seemed straightforward. Also, since none of my female friends were studying computer science, why should I?
I had this preconceived notion that a major should be effortless if it is my calling. I believed a career should be a mold that best fits my shape, not vice versa. I realized that I was trying to define some nebulous concept of a “calling” with no real metric.
Ultimately, I pursued software engineering for the following reasons.
1. The work is always new
Solutions to the problems I encounter are always unique. By the time I solve a problem, I take what I learn and build things better. By the time a similar problem arises, I have learned enough to develop a better solution. The industry is constantly changing. There is always going to be another language to learn, an unfamiliar coding practice to pick up, and new products to gather inspiration from.
2. The solutions are creative
I work with a team of developers who all have their own style. We treat our code as a craft. There are standards and common practices, but there is style in our individual work. There can be many types of solutions and variants within a solution. We design, develop, and optimize until we are satisfied.
3. The options are limitless
After meeting and working with a variety of people in the tech industry, it seems like the opportunities are endless for a person with a software engineering degree. Product or program management, engineering management, operations, customer success management, software architect, etc. The list goes on for roles that a software engineer can grow into.
4. The work is engaging
The value of interesting work outweighs the value of easy work. Even with countless all-nighters, it was absolutely worth the little bounce in my heart when my code would compile and run. My managers and I have established an open dialog where I express what types of roles and responsibilities I am seeking, and they help me achieve those goals. As a software engineer, I provide insight into what I find to be particularly interesting, such as user experience, fostering cross-functional cohesion, and designing revision control system practices. My team not only values the work that I do, but the significance my work has to me.
All in all, I learned that I define the mold and my career is the clay. I discovered what was important to me, and I found a fulfilling job that fit my criteria. I hope to expose more people to what I love about software engineering and encourage women to also find what means most to them in a career.