After earning my Bachelor's degree in Mechanical Engineering from Penn State, I found myself unexpectedly drawn to software engineering during my time at Appian, a SaaS company specializing in low-code business automation tools. This unforeseen passion led me to pursue a Master's degree in Computer Science at the University of Pennsylvania, where I honed my skills and knowledge, ultimately making the leap from a solution engineering role to a software developer position.
In this HackerNoon article, I aim to share my experiences, insights, and advice for those considering a career switch to software development. My journey has taught me valuable lessons, and I hope that by sharing my story, I can provide guidance and inspiration to others facing similar challenges.
My interest in software engineering was sparked during my internship at Cummins in the summer of 2019, where I worked on several projects involving fixture and component design for testing turbochargers.
The process had repetitive tasks such as drafting, analyzing, and optimizing designs, which I found very monotonous. Additionally, the long timeline of projects led to a lack of excitement and a sense of stagnation. The only project I liked working on was automating one of the tedious analysis tasks that we would previously do manually.
It would take a whole day and was done every week by me. I created a Matlab script with a GUI interface that could completely automate this and save me a day's work. Fortunately, I had taken some coding classes at Penn State during my undergrad, which provided me with a basic foundation in Matlab for me to be able to take this task. This project was very fulfilling and I knew I had to be in the tech space after graduating.
I applied to as many tech roles as I possibly could and applied to as many companies that came to my campus until I landed a job at Appian which started in early 2020. While working at Appian, I primarily worked with customers, learning valuable soft skills in managing customer expectations.
I was part of a support team that resolved issues around the integration of third-party APIs with Appian and design issues within the Appian platform. This experience exposed me to the creative aspects of software engineering and solidified my interest in pursuing a career in the field.
Landing my first software engineering role was a success.
Embracing the challenges and opportunities that come with starting a new job in the industry, I prepared myself for this exciting journey.
Progressing to my first software engineering job was not easy. To help myself grow, I kept a log of the things I learned during the first two months. Writing things down significantly aided in tracking my progress and developing my skills. One important skill I developed was the ability to ask the right questions and make an effort to find answers independently before seeking help from others.
As a solution engineer, my work focused on troubleshooting and working with software teams to identify bugs. However, now as a software engineer, I now develop new products from scratch, fix bugs, and work on new features for existing products. It's exciting to see my code in action, used by thousands of people.
One aspect of my life that has helped me succeed in my professional journey is my passion for gaming. Gaming has not only been a great way to stay connected with my college friends in different states, but it has also helped me develop teamwork skills that are valuable in my professional life.
Additionally, gaming serves as a fun and engaging way to destress and maintain a healthy work-life balance, allowing me to approach my software development career with a clear and focused mind. In my future articles, I plan to provide even more insight into my life as a software engineer, both professionally and personally. I hope that by sharing my experiences and lessons learned, I can inspire and encourage others to take the leap into the rewarding and exciting world of software engineering.