Every Computer Scientist Should Have A Creative Hobby

Yash Tulsiani
Dec 15, 2017 · 5 min read

Preface: This fall I did a part time internship at a creative agency called Chil Creative. I decided to take this internship because the agency is run by one of my favorite Atlanta based photographers and thought it would help me improve how I take and edit photos; but while I was there I learned a lot more than that. At Chil, I applied creativity to things such as website user experience, videography, and corporate branding. It was an eye opening experience and has made me a more open and better computer scientist.

Photo by Alice Achterhof on Unsplash

Despite what people think, computer science is more than copying and pasting from Stack Overflow. Computer science is a hybrid form of art. Much like any form of art, computer science is about taking the things you learn in class or read online and using them as inspiration to come up with unique solutions for unique problems. The best programmers are both logical and creative. They use their creativity to contemplate different ideas, but rely on their intuition and logic to turn those ideas into well designed and implemented code. Therefore, your ability to code is limited by your creativity.

Creativity = Exposure + Decisions

Creativity drives more creativity. The exposure you gain by doing creative work will help you come up with out of the box solutions to problems you are attempting to solve when you write code. You learn more about the way you think and your creative process. You have new techniques to brainstorm ideas. You know when it is time to take a break and how to get out of a rut. You are now a better thinker and coder.

All of a sudden you start realizing that writing code is more than just attempting to solve a problem; it is attempting to solve a problem for your user. The ability to recognize that you are building for users gives you more perspective and clarity.

More perspective means better products

With perspective on the software you are building, you stop overengineering and start focusing on what really matters: your users. These users might be other developers in your organization or it might be people with no technical skills at all that are using the end product. Thinking about your users drives you to ask questions that matter. What will the user be doing with this application? Will this feature benefit them? You start thinking about about whether your backend system will be scalable when the application is ported to a smartwatch or a thermostat. You are aware that other people in your organization will edit the code that you write in the future in order to extend it. The way you architect your code is based on this knowledge. Things that were important to you like choice of language are less significant because you realize that these should be based on what will be the best for the user rather than what you find the coolest.

You start empathizing with designers

With a creative hobby you become more deliberate in the decisions you make in your work. The choices you make in the art you create are purposeful for your end goal and for your audience similar to how a designer makes choices that help increase the usability of a system. Having this hobby shows you that developers and designers have similar challenges. Design work requires focus, attention to detail, and problem solving skills much like how development work requires. You start seeing that developers and designers are solving different parts of the same problem; the former focusing on the technical part and the latter focusing on the human-centered part. Having this understanding allows you to empathize with the work designers do and reduce the level of animosity that is common between developers and designers today.

You are valuable to your team

As a creative, you bring a skillset that makes you an asset to your team. If your team does not have a designer, you can fill in the role alongside the development work that you do. If your team has a designer, understanding the basic premise of a designer’s goals and having a firm understanding the engineering costs associated with a design, you have insight that will be invaluable to your team. You can predict on what designs are possible in a technical sense and give recommendations to your team.

As a creative you become more critical of the work that you make and this drives you to keep improving it. In turn, the code that you develop and review is cleaner and more well architected which your organization will greatly appreciate.

I’m always down to connect with creative people and learn from them. If you’re interested, checkout my photography on Instagram and message me!

Yash Tulsiani

Written by

Computer Science @ Georgia Tech. ytulsiani.com