Five years ago, if you had said I'd become a software developer, I would have responded with something like, "Right, and Shakespeare wants to take me out for chickpea burgers." Yet here I am today, working as a software developer and applying my creative skills to the work I do every day.
I limped through math and science in high school. In college, I majored in English and buried my head in a cloud of literature, reading Chaucer and getting into lively debates over the merits of the Oxford comma. I took all the creative writing courses I could. I planned to work in publishing or write the next Great American Novel.
After returning home to Boston, I worked in an urban high school for a year, assisting the 10th grade English Literature teacher and tutoring students in reading and writing. I also brought my creative skills to jobs in politics and public media. Along the way, I considered pursuing a marketing career. After browsing a handful of job postings, it became clear there was a huge demand for digital marketers who know HTML and CSS. After a few deep breaths, a self-administered pep talk, and a false start or two, so began my journey into the world of programming.
Whether you decide to learn by self-teaching, attending a coding bootcamp, trying to tap your Ruby slippers together three times while saying "I'm a coder,” or any combination of the three, your learning path is going to be unique to you. So while I can’t provide you with an exhaustive, custom-built guide to transitioning from where you are now to a career in software development, I can point out a few of the many advantages that you—a right-brained artist and creative—will bring to the table as a software engineer.
One of the software developers on my team, Nathan, was a stage lighting designer before he transitioned into programming. (Fun fact: He worked on the off-Broadway version of Hamilton before it went big.) The lighting he designed was key to ensuring every scene in the show's set came together before opening night. Not only did he have to approach the big picture of each scene in a way that considered the actors, costumes, props, and overall mood, he also had to look at the even bigger picture of how each scene fit into the entire production.
Building an app—creating something from nothing—requires interest in the big picture, and creatives like you are natural big-picture thinkers. Your ability to hold large systems and structures in your brain can help you shine as a programmer. It comes in handy, for example, in building a game like Minesweeper. You build each part of the game, piece by piece, until you have a fully functional program.
Problem-solving demands both creativity and critical thinking. Let’s say you’ve coded an app that 3D prints delicious cannoli. But, *gasp!* Contrary to expectation, your app does not print said cannoli. You take a step back and explore what's happening: The printer turns on, but the conveyer belt won’t move. Why? Oh! There’s a bug in that code!
So you start engineering a solution to your bug. Along the way, you realize there are many ways to approach it. So tap into your creative powers and brainstorm. You embrace experimentation. Turn up the music, mix those paints, write that code, and see what happens!
As a creative, communicating abstract thoughts is your jam. You’ve learned to convey your abstract thoughts and ideas in clear, tangible ways (that’s pretty much the point of all creative work, after all). Such communication skills prove useful when you work on a dev team, whether in Launch Academy’s group projects, at a hackathon, or in the workplace.
At the CodeAcross Boston hackathon in March 2016, I worked with a team of four to build an app over a weekend. Since our team had two Ruby developers and two Python developers—two entirely different languages—we had to articulate which features each developer would tackle, and how we’d tie them all together. Without clear, effective communication, this would’ve been a much more difficult task.
Your innate ability to express hard-to-grasp ideas can also go a long way when you describe features to non-technical colleagues. When you work on apps for clients, for instance, you may need to explain the database, the front-end framework, and offer a big-picture (there’s that word again!) overview of why your code works the way it does.
The need for coders who communicate well continues to increase. Coding meetups, panels, and talks are everywhere we turn (just like virtual Pokemon). Developers crowd these events to network and learn new things. Tech is thirsty for geeks able to explain themselves in human terms. You can be such a geek.
“Learning to learn” is one of the most important skills I gained in college. Without it, I wouldn’t have jumped into a leadership role in a state Senate campaign, taught high school English, or worked behind the scenes on a TV show. Creatives are incredibly adept at making abstract, unexpected connections during the learning process, and our natural curiosity further hones this ability as we constantly pursue one new inspiration after another.
I can’t even begin to count the number of times I’ve solidified programming concepts by connecting them to other seemingly unrelated skills. My ability to learn has also helped me customize a friend’s WordPress site, teach programming basics to my twin sister, and, perhaps most importantly (for my career, anyway), pick up new technologies on the job.
Whether you play music, write poetry, or choreograph dance performances, you’re used to constantly learning, unlearning, and re-learning your craft. A writer produces multiple rough drafts. A painter touches up her canvas. And, sometimes, an artist scraps what she’s done and starts from scratch—just like I did with this blog post!
Similarly, as a programmer, you’ll always be honing your skills. Languages will change and evolve as the needs of the tech industry change. As a creative, you’re naturally comfortable being uncomfortable as you explore new things, and you’ll always remain eager to expand your knowledge. That’s going to be an invaluable asset in your programming career.
Good programmers have solid technical skills. If you put your creativity and knack for learning to good use, you can become great. And if you put your ideas into words and share them with your community, you’ll do yourself—as well as your fellow developers—a service. At Launch Academy, we say to teach is to learn. If you’re able to explain a bit of code succinctly and effectively, you know it like the palm of your hand.
But your mindset matters more than any of the above. The tech landscape frequently changes. When you stumble into something you don't know, as you inevitably will, you have a choice to make: Do you sit down and spend hours solving your problem, or do you throw up your hands and accept defeat?
Only one answer ends with you coding like a badass.
Lily Barrett, a former Experience Engineer at Launch Academy, is a Boston-based web developer.