Is coding a creative career?
By Jay Wengrow, CEO of Actualize
The fact that a career in software development can be both lucrative and come with many perks is well known. It is routinely touted as one of the best jobs in the US by the media, and is a job that many aspire to.
But a question we get a lot is, “Is being a software engineer a creative career?” Does one get to utilize their creativity to write code? Or is it more of a humdrum job that simply takes brains and brings in a good paycheck?
The truth is that software development requires a lot of creativity. While coding doesn’t usually involve complete freedom of expression in the same way that art and music do, the creativity involved with coding is a technical creativity. There are several aspects to this.
The first aspect of creativity in code is figuring out how to use code to solve problems given particular constraints. Think about this puzzle for a second: Imagine you’re locked inside a house, and you have just a rope, a box of matches, and an egg. How can you escape? I have no idea what the answer to this puzzle is, but it certainly takes creativity to figure it out!
Similarly, a given programming language may only come with 20 words. Going about building an entire mobile app using such a language requires a massive amount of creativity. It’s all about solving these kinds of puzzles: How can I accomplish a given task with a limited set of instructions that a computer can understand?
It also takes a lot of creativity to figure out how to structure a database to model a complex, real-word scenario. And it takes innovation to put together different technologies and have them talk to each other to develop a large, complex system.
One cool thing about software engineering is that in many cases, you’re tasked with solving problems that no one has ever solved before. Each piece of software is unique and has specific needs and constraints. Additionally, there are no particular rules about how to solve a problem. Any solution that works is fair game. (Of course, the tradeoffs of alternative solutions need to be considered.)
A second aspect of creativity comes with the optimization of code. When one first learns to code, their main focus is (and should be) on simply getting their code to work. But when one becomes more proficient, they start figuring out tricks and techniques to make their code run faster and consume less memory. There are some legendary stories about how early Nintendo programmers used creative hacks to fit their large games onto a single Nintendo cartridge that had very limited storage space.
A third aspect of creativity is being able to write code that is easy for other developers to understand and maintain. Again, when one first learns to code, their focus is on getting the code to work. But as they level up, they begin to consider that code isn’t only for the computer to read; at some point, other software developers will need to read and update the code as well. It takes great creative skill and communication ability to write code that humans can easily read while the computer can still properly execute it. Some refer to this kind of code as "beautiful code."
There are plenty of other creative aspects of coding as well, but these aforementioned aspects can start to give you a sense of how creative coding can be. Again, the creativity of coding is a technical creativity, which isn't for everyone. Some people love coding, and some people don't. You'll know which camp you're in once you spend some time coding! But if you enjoy this type of puzzle solving and technical creativity, coding might be for you.
Get Expert Advice
The Actualize Blog is where you can get expert advice and insights for learning to code from our CEO, Jay Wengrow. Subscribe to the Actualize Blog and get notified each time we publish a new article.