After spending 10 years working as a high school math teacher and workshop developer for the NYC Department of Education, I decided to pursue my dream of becoming a software developer. Reflecting on the year leading up to my joining the Audible Education group as an iOS developer, and my first eight months on the team, I wanted to share a few reflections on my experiences with this career transition so far, which has provided no shortage of lessons learned, takeaways, and if-I-knew-then-what-I-know-now’s. My hope is that these thoughts can serve as a source of inspiration and/or motivation for both current and aspiring software developers who are seeking to make a meaningful change in their careers.

My answer to the “why’d you leave a 10-year career to become a software developer?” question is simple……I chose to follow my passion

Seek out and learn from others that have more experience
Whether it be to obtain feedback, get suggestions for improvement, learn about best practices, or to stay current with the industry, finding people that have more experience and knowledge than me has been essential to my growth as an engineer. As a self-taught developer who has relied on videos and tutorials, I sought early feedback on my work from online forums, course developers, and other developers at in-person meetups. At Audible, I am continuously learning from many experienced engineers on my team and throughout the entire organization through daily conversations, code reviews, design meetings, tech brown-bags, and a cross-team mentorship. Eight fast-paced months on the job have taught me things I never knew that I didn’t know, and enabled me to be more comfortable reaching out for feedback and support.

The best solutions come through collaboration
After a year working through online iOS courses and projects independently in the evenings after my day job, the collaborative spirit of the Audible team was a breath of fresh air. For the first time, I was contributing to an iOS project alongside several other developers (and resolving merge conflicts that come with the territory), and it didn’t take long to realize that the expectation is not that you design and implement a new feature entirely on your own, but quite the opposite: that you outline an initial plan, bring it to the team for feedback and suggestions, and iterate. And for smaller contributions that don’t warrant formal design review meetings, informal conversations between team members, both in-person and through chat, keep that collaborative spirit alive. Software development is definitely a team sport, and collaboration between team members helps to ensure that the best possible solutions are making their way into the project.  

Technical equipment Technical equipment

Let yourself get lost down the rabbit hole
It goes without saying that changing careers isn’t (and wasn’t) easy, particularly when the job you are seeking is completely different than the job you are coming from. Like a new language, software development has its own set of vocabulary and concepts, patterns and principles, best practices and guidelines. And like learning a new language, it was overwhelming at times, as each word or concept I hadn’t fully grasped was defined by other words and concepts I hadn’t fully grasped (and having done my undergraduate work in engineering, I even had a head start). But instead of letting what I didn’t yet know frustrate me (too much), I recognized that learning something was prerequisite to knowing something, and let it motivate me instead. Before watching a video or reading an article that assumed prior knowledge of something else, I went and learned about that something else, which in turn led me down another path. Pretty soon I would have three active browser windows with 20 tabs each, and amid the chaos, I would have forgotten what it was I was originally investigating. But over time and after repeated exposures, concepts would begin to gel, and soon I would be speaking about them and using them in my own designs. And since joining Audible, this down-the-rabbit-hole learning hasn’t stopped, as there are always plenty of new and interesting topics to read about.  

Technical equipment Technical equipment

Follow your passion, and join a team of people that are doing the same
My answer to the “why’d you leave a 10-year career to become a software developer?” question is simple: I enjoy grappling over tough problems for hours on end, the thrill of a breakthrough, obsessing over the smallest of details, the rush that comes with getting it to work the first time, learning something new every day, and figuring out a better and more efficient way to do something. In short, and despite how trite it sounds, I chose to follow my passion. My answer to the “why Audible?” question is even simpler: everyone I met with before joining and everyone I have worked with since joining demonstrates a similar passion. I definitely consider myself fortunate to be doing something I truly enjoy, and doing so alongside a team that feels the same way, and the time and effort that went into preparing for a career change—and then actually going through with it—has certainly been worth it.

Skyline view of New York City

Don’t forget those that enabled the opportunity, and give back
If you’re like me, you owe a lot of what you’ve learned to open source projects, help forums (where would we be without stackoverflow?), internet videos and courses, and code samples that others have made freely available. The open source, communal nature of the software development community— where knowledge is shared and built upon freely and people enthusiastically contribute—makes it possible to access and pursue learning software development independently. Whether it’s sharing code, contributing to open source projects, or helping someone out with an answer on a forum, I think it’s essential to give back to the community that has personally afforded me opportunities and to which I continue to rely upon.  

If you are currently a software developer looking for something new and exciting, you should check out Audible’s openings! If you are an aspiring “career changer” thinking about pursuing software development—whether you join a boot camp, take evening classes or online courses, or work through online tutorials at your own pace—there has never been a better time than now to go for it. Take the plunge and don’t look back!