Programmers are usually thought of as being very technical, mathematical, direct, and structured. Unfortunately, being this way leaves no room for creativity, perhaps. This is especially true because many individuals relate creativity to the Arts and not IT. However, wouldn’t programmers need to be creative in developing games, apps, and any other forms of technology that we take for granted?
Programmers need to be creative, especially when approaching a project that has never been done before. Creativity can be defined as overcoming obstacles in unique ways, generating and refining ideas, and creating solutions to problems that have otherwise not been done before. A programmer does this daily.
This article will look at defining creativity and at programmers in a holistic fashion. We’ll then try and relate the two together, giving examples of why programmers have to be creative or not. If you have ever thought that programmers are just logical machines, then you might be surprised.
Let’s define and outline what being creative means in order to better understand if it applies to a programmer and what their job entails.
In its most simple form, creativity could be defined as generating and refining ideas. When individuals encounter challenges and obstacles in their lives (work, school, social, personal, etc.), they will sometimes need to generate ideas and refine them to overcome these situations. This means they will find solutions to these problems that are not obvious.
“Creativity” is the ability to change traditional ways of thinking or acting and develop new original ideas and methods. Take into consideration that obstacles and challenges are not the only things that breed creativity.
It could also mean that you are able to create something new (something that has not been done before).
For example, explaining what creativity is and how it relates to programmers will require creative thinking and understanding to put it into an article that the reader will comprehend.
Creativity is a fundamental component when it comes to problem-solving, innovation, and new idea generation.
Take note that creativity is a skill that can be improved to a degree by practice learning and continuous effort. Take, for instance, someone who is learning to draw. When they first start out, they will only be able to draw stick figures as we all do.
However, as they progress in drawing, learning to use shadows, different shades of pencils, and learning to draw various shapes (the body, geometric shapes, etc.), they will understand how to draw better. This will allow them to be more creative when picking up a pencil and wanting just to sketch with no concept in mind.
Creativity, or rather creative thinking, will be the process you take to in order to problem-solve, generate new ideas that are unique and that work, and then it will also include refining those ideas to make them work better.
Now let’s see what a programmer’s job entails in order to relate creativity to them or not.
What does a Programmer do?
In its most basic definition, a programmer writes computer software. However, as we will discuss and what you will see from what programmers are called to some of the tasks they perform, nothing is set in stone.
Programmers are behind the scenes in every piece of digital technology that we have in the world today. They are responsible for making that technology work and allowing us to use it and integrate it into our daily lives.
Whether you are playing video games, watching Youtube videos, checking the weather, surfing the internet, using your mobile devices, and even using appliances like your dishwasher or thermostat, programming is responsible for it all.
According to an internet survey, the entailed 350,000 users between the ages of 16 and 64, which was conducted by GlobalWebIndex (GWI), 94% of internet users own a smartphone and an average of three internet-connected devices.
Another study conducted by Pew Research Center on Technology Device Ownership concluded that 77% of American adults own a smartphone, 52% have a tablet, and 73% own a desktop or laptop computer.
As you can see, programmers are responsible for allowing a lot of individuals to use a massive amount of technological devices (this number is in the billions). Without programmers, the digital world that we live in today would be nonexistent.
Alright, so we know that programmers are responsible for our digital world, but we still don’t exactly know what they do.
What are a Programmer’s Responsibilities?
A programmer is responsible for analyzing a client’s needs and then designing, developing, and testing software that will provide those solutions.
They are not alone in the design and development process but rather work alongside designers, engineers, developers, etc., to design and implement each piece of the application, system, or software and then determine how each part works together.
The final product is a solution to what the client needs or needed to do. For example, Say a client wanted an app to people purchase goods from their store online through the web or via their mobile devices.
Programmers would be responsible for writing the code that makes this application possible and allows it to work on the web and your mobile devices.
This could mean that programmers have to be creative but let’s first get the full picture of what programmers do.
To ensure that everything is working correctly, many programmers do frequent testing, upgrades, and maintenance. After an application, system, or software is debugged and is running smoothly, programmers will update and expand existing programmers.
For example, if there is a game that you love to play on your computer, Playstation or Xbox, many times in the game’s life span, programmers will fiddle with the game and provide you with updates for it. This might be to enhance graphics, make it more playable in terms of increasing FPS, add items to the game, perhaps add an additional storyline, or even other additional content.
What does a Programmer use to write Software?
A programmer will primarily write code using a variety of languages. Thus, you get various types of languages applicable to multiple programming situations, such as low-level languages and high-level languages.
Although going into detail about various programming languages and what they are used for is beyond the scope of this article, you can read my article here, where I go over it in detail.
However, some of the languages that programmers use are Python, C, C++, Java, Ruby, and many more.
What do Programmers actually develop?
We touched on what programmers do and how they are responsible for basically everything in our digital world today, but let’s give you a concrete definition of what they are tasked to build to relate it to creativity and if they need it.
Programmers work on Mobile Apps
If you take a look at your app store, you will see that there is pretty much an app for everything. Apps will allow you to use social media, play games, delegate tasks, exercise, watch videos, and anything else.
As of February 2023, there are 2.78 million apps that are available on the google play store.
Programmers will perhaps need creativity to develop apps because there will be many instances where they will need to work around or try to solve a problem in developing apps. Let’s first consider some other areas that programmers also work in.
Programmers work on Games
Programmers develop games. Every single game that has ever been conceptualized and developed has been designed and implemented by a programmer. There are games that are developed for consoles, computers, and mobile devices, and each of these requires millions of lines of code.
Surely programmers would need to be creative in trying to implement storylines, graphics, items that would include weapons and armor. Not to mention they would have to figure out ways to make the game run properly in terms of gameplay that could even include multiplayer.
Programmers work on Website Development
Besides using their coding skills to create amazing games, and mobile apps that let you do anything, programmers design, build, and implement websites.
This does not only apply to the pages you see when you type in a URL and visit a site. Programmers are responsible for making it work correctly. This includes everything that you cant see.
Programmers work on Software
Mainly overlooked because many individuals only ever consider that programmers make games or mobile apps. However, they are responsible for creating all other software as well. Take, for instance, this word editor that I am using to write this article. A programmer (or rather a team of programmers) created it.
Creativity indeed must be used in order to create software for various applications.
Programmers work on Systems
An aspect that rarely gets covered because it is not considered fancy, but programmers work on developing and implementing systems. Think about the operating system that runs your computer, laptop, and mobile devices. They wouldn’t be able to turn on, let alone operate if programmers did not design and build the operating systems for these devices.
Not to mention specialized systems. Take, for instance, the automotive industry that has factories with tons of machines that build cars. Those machines wouldn’t be able to operate if there was not a system in place that a programmer developed that allowed those machines to manufacture cars.
This is just one example; you could take any industry (airlines, boats, clothing, etc). If not all of them, most will have some system that runs some machine to operate a specialized and specific task.
Again, surely a programmer will need to have the creativity to build systems from scratch, taking into consideration all the obstacles they could face?
How does being creative help a Programmer?
Now that we know what creativity is and what a programmer is responsible for, we can understand better that being creative will be a critical characteristic that a programmer will have to have.
Most individuals think that programmers have to be logical, and this is correct, but they will also need a great deal of creativity to design and complete the tasks they are delegated with.
We covered (very broadly) what programmers are responsible for developing, and all those facets (mobile apps, games, systems, software) would require a considerable amount of creativity to get the job done and get it done well.
Think about mobile apps. Even though you may think, well, what’s so tricky, you don’t need to be creative for that; you just need the concept?
What happens if the client wants an app that allows you to remote start your car from your phone. However, some car operating systems are locked, and they won’t let you do this. However, the app has to work for all electric cars. The programmer will have to be creative in solving this problem.
Perhaps he implements a way that will only allow you to operate the car if you register your vehicle with the dealer, on the app, and on the database that they build for the dealers to store this information.
There are many factors that could cause problems and obstacles in this situation that would require creative thinking and not just sheer coding ability.
Let’s speak about games for a moment. We discussed a few things that programmers will have to deal with, but this is just the tip of the iceberg. What happens if a game company wants to develop a game that runs on Windows and Linux and wants you to be able to install both versions from the one server remotely. The programmer will have to figure out how to do this.
It would help if you remembered that there is not a solution for every coding problem. Most programmers have to problem solve, ask for help, and sometimes even have to work around a problem because otherwise, the code won’t work.
If you look at a website like StackOverflow, this is a site the programmers use to ask questions that help them solve their coding problems. Many times there will be a creative answer the individual who possed the question was oblivious to.
Creativity in software development and system building is unprecedented when it comes to how much of it programmers have.
Take, for instance, applications that come from the Adobe Suite. All these applications let you manipulate, design, create, modify both video and static images made from pixels or vectors. The tools that you are able to use in these applications must have taken a massive amount of creativity to come up with and then implement.
Lastly, what about systems development. Some systems are just ideas and fantasies that individuals have imagined and wanted to bring to life, and they were able to do so because of the creativity of programmers.
For example, NASA (National Aeronautics and Space Administration), the engineers and programmers who have worked or work there, have sent space shuttles and astronauts to the moon. They have sent a rover to Mars and satellites into orbit.
Without great creativity and work, these seemingly impossible events are actually a reality, and they are so common that we don’t even recognize them to be such a big deal. Think about it. What type of mindset, creativity, and knowledge would it take for you back in the 1960s to write code for a space rocket that would take human beings to the moon and back? Remember, this had never been done before, and this example right here encompasses our definition of creativity to an exacting degree.
Many individuals think that only artists are creative because when people think about creativity, they think about art, music, paintings, sculptures, songs. Etc. You never hear the phrase, “wow, that programmer is so creative.”
We tend to think of programmers as logical human calculators that just spit out code. However, we discovered that programmers are indeed creative because if we define creativity, we see that solving problems in a unique and new way that otherwise hasn’t been done before (in some regards) and overcoming obstacles is what programmers do on a daily basis.
Hence not only was Van Gogh, Mozart, and Bach creative but so was Albert Einstein, and so are many of the programmers that sit behind the scenes while you use your favorite app, stream your favorite movies, play your favorite games, and search for the perfect recipe from you Fridge that has a built-in touch screen and is connected to the internet.