#TechTuesday: Journey of an Accidental Software Developer

Christina-2-2.jpg

Christina Kelley had a job in clinical research straight out of college. Three years later, she codes for a living. Learn how she accidentally landed a career in software development. By Christina Kelley (Software Developer, Ovuline)

I graduated from college in May 2011 with a degree in psychology, a new job in pediatric clinical research and absolutely no knowledge of anything computer-related that didn’t have Google somewhere in its name. Almost three years later, I am a full-time software developer with experience in a whole host of languages and technologies.

How’d that happen? I’ve had an unexpected -- but totally worthwhile -- turn of events over the past few years. I didn’t take the usual bootcamp route to hyper-speed programming knowledge; my journey into software development was a little more haphazard than that. After discovering that clinical research wasn’t for me, I got a job at a real estate startup doing marketing and content management. When the company’s software developer unexpectedly quit soon after, my boss started teaching me to code. Within a few short weeks I was doing full-stack Java programming pretty much full-time. Fast-forward a couple years and I am now working at an awesome startup called Ovuline as a front-end PHP developer (with a tiny bit of Android thrown in now and then).

What I’ve Learned

I’ve learned more in the last two years than I could have possibly imagined. I love my job and I love coding, and it makes me want everyone else, especially other women, to code and love it too. To anyone who thinks software development is not for them, or that it’s too late and there’s too much to learn: it can be for you if you want it to be, and it’s never too late to start. The learning curve is incredibly steep, but for me it was made worthwhile by how amazing it was to look back after a couple months and realize how unimaginably far I’d come. There will always be challenges, and that’s what makes developing fun, but the challenges will get more manageable and more exciting as you progress.

What’s Hard: The “Imposter” Syndrome

I think the hardest thing about being relatively new to this field and having no academic background in it is overcoming the semi-constant underlying feeling that I don’t belong and that I don’t know what I’m doing. This sort of “imposter syndrome” is common among developers anyway, and getting thrown into a real-life development setting so early has certainly made mine more pronounced.

There’s always someone who knows more than you do in this ever-changing field, and learning to be okay with that and with the frequent bugs that pop up in even the best of software is hard for my perfectionist self. However, if you can use this attitude in a productive way -- always learning from others and striving to be better, avoiding the dangerous “I’m the best programmer ever and I never do anything wrong” trap -- you’ll be okay. Make sure you have people you can turn to with questions and chat about random technology things with. And remember: Google is your friend. If you have a question, chances are at least three people have asked about it (and gotten in-depth answers) on Stack Overflow already.

What’s Awesome: Creative Possibilities are Endless

As someone who loves puzzles, appreciates alone time, and is eager to keep learning new things, working as a software developer is perfect for me. Without a clear idea yet of what aspect of development I like best, working at a startup and getting exposed to so many different things makes it even better.

And the greatest thing about software development? You can do anything you want with it. Programming is less an end goal itself and more a tool to be used in pursuit of absolutely anything. My longtime interest in health and behavior hasn’t been replaced by my love of coding, but now I have this amazing new set of tools with which to better pursue that interest. And in today’s world, no matter what field you’re in, technology is going to play a huge role. Having a basic underlying understanding of what is possible can help you design a product, manage your engineering team, or do anything else your job might ask of you.

I owe a lot to that software developer who quit and set the stage for me to fall into this new career path that I love, and I owe even more to all the people who are teaching me and encouraging me and answering all my stupid questions as I go. Building things and fixing things and integrating things (and even breaking things sometimes) is an awesome and fulfilling way to spend the day, and now that I’ve fallen into this crazy technological rabbit hole, I never want to leave it.


About the guest blogger: Christina Kelley is a front-end software developer at Ovuline, a women’s reproductive health startup in Boston. She combines web development experience with a passion for health and a background in clinical research. She holds a BA in Psychology from Harvard University.