How Art Made Me a Better Developer

Art projects build problem solving skills, logical thinking, attention to detail, teamwork, and critiquing skills. These are the same skills essential to every technical project. The following is a list of lessons that I learned in art and have made me a better developer.

Moving from General to Specific

Composition Sketches in Pencil To capture an entire space in a drawing, I make little marks on the page to make sure that everything can fit. I build more detail on each area without focusing on one area for too long. If I spend too much time on one aspect of the drawing, it may make the drawing look incohesive. Whereas if I am always conscious of the entire space, it ends up more together.

I brought this level-of-detail thinking into my technical projects. In introductory computer science courses, base code provided did the hard work of designing how a whole program works together. In designing my own programs, I use flowcharts to visualize how different classes and libraries will work together before moving on.

Focusing My Time

Approaching any technical project is daunting so I figured out strategies that worked to help me stay focus. Before working, I make a todo list of what I want to work on. Then, I work in small time intervals such as one to two hour blocks with a short break to tackle each bullet point. Coworking with friends, even when we are working on different projects, keeps me motivated.

Working with ink wash taught me to be immersed in the present. It is an unforgiving medium because there is a limited time to work with it before it turns into chaos. There are two simple strategies: wet-on-dry (applying ink on dry paper) and wet-on-wet (applying ink on water on the paper). The ink gets laid down, it dries quickly, and there isn’t an undo button. In every moment, I pay attention to the relationships between time, the medium, and the paper.

Starting Over and Refactoring Code

“Wipe down your page and start again,” my figure drawing professor would often say. If I kept going, I would carry my mistakes throughout the piece. If I destroy my progress, all the time that I spent would be wasted. At my reluctance, my professor would offer to wipe down my page for me. I would start again with more knowledge on how to approach the drawing. I would go through this process numerous times, and it hurt less every time. That semester I learned that a deep clean is often needed in the early stages of projects. The longer the mistakes last, the worse it gets as the project moves along.

Refactoring code, the restructuring of existing computer code, is a difficult decision. There is a lot of work to redo existing functionality, but there is an opportunity to fix major deep-rooted problems, and make the code more efficient, understandable, and concise. Rebuilding often takes less time than coding the first time around because I am more familiar with what I am doing.

Lessons Learned

I bridge my artistic thinking into my technical projects so they, too, feel as approachable. My peers and mentors give me insights into different perspectives and their experiences. Over time, I have built up an intuition for my approach to art and engineering. I have taken up opportunities for art classes, theater, programming, and mentorship. I don’t fear failure when I am creating.

Originally Published on Interactive Mechanics, a digital design agency in Philadelphia, on May 22, 2018. Revisited and edited by Ellen Duong and Hannah Bollar in December 2020.