A programmers life is often filled with many tasks, thus the question that many ask is, "What do programmers actually do?" It is a common enough question that programmers receive and it is often difficult to explain what our work involves. In this article I am going to explain programming, both the basics and advanced concepts as simply as I can, so you can not only understand what programmers do, but hold a simple conversation with them as well.
WHAT IS PROGRAMMING?
I often compare programming to writing a story. The program or software you are writing is the story. The code you write are sentences. The errors programmers encounter are like typical language mistakes. There are different errors, different mistakes. Such as grammar, misspelling or the writing in itself makes no sense. It is through programming that the programmer writes software. The software is structured with the code and only through making no mistakes does the programmer work.
Programming of course exists on many platforms, much like there are many genres in programming. There are mystery novels and there video game development, there is children's writing and there is Swift or classic novels and there is web development. With all this in mind, programming is no different from something that everyone has encountered, writing books. If you use any software, apps or any digital age technology, you are holding books, be they small novels or full on epics. Hundreds of lines of logical code flow through that program like the plot in a story flows from beginning to end.
THE DAY-TO-DAY PROGRAMMER
On a day-to-day basis the programmer will spend most of his or her time sitting at their desk working on their program. Most companies today will contain a team of programmers that work amongst each other to develop a program. Each member will have a specific task to do. Some programmers are in charge of design, developing a structure and concept for a program. There are then the programmers who write the logical code that makes the program work. Finally, there are the debuggers and finalize programmers who find the errors and mistakes that could develop and are not immediately evident to the logical coders. These programmers then decode what is causing these problems, solve them and finalize the program.
If you have met a programmer and curious what part of the team they are all you need to ask is, design, development or debugging?
All programmers have a common goal, to create a program that is efficient and effective. As such many program go through testing phases and of course in time they are updated and patched if any errors are encountered. Of course, the goal of the company itself is the same. To create a product that will make them profit. Often software is updated and resold with more features and less bugs. The result, more money and so is the need for more innovation.
It is then the programmers job to work hard at his/her project. Creating a program that is different and at the same time, still completing the same tasks that the user desires. The programmer is in their own sense filled with a sense of creativity. Often this is the biggest understatement that programmers are not creative when in fact that is a job requirement. I can throw many metaphors at you, like a program being a book or painting, but the point of all of them is a finished product created through creativity. The goal of the programmer is that their creativity will result in a pleasing result, like any creative mind.
MEET USER STANDARDS
With all this talk about creating a finished product there is of course the necessity of meeting user standards. Programmers are normally well -researched into the type of program they are creating, so they can ensure they meet user standards. It is all well and good to create a program that is unique and helpful, but standards need to be met or it is not a viable program that can be sold on the market. Often this means that many features are excluded as they may contradict user standards. As such, the room for creativity is often limited, applying more stress on the programmer to develop something that fits the market, but also stands out amongst other products.
There aren't many solutions to bypass this and it can often mean many optional settings that are by default disabled in a program to prevent the user from working below standard. By giving the user the power over these settings you are not only meeting standards, you are going further by giving them the choice to contradict or override some standards to meet their current needs. The best way I can simplify this is by comparing it to a copy machine that is also a printer. You can make copies, which is the user standard that needed to be met. However, this machine also has the added function of printing, but it requires adjusting the settings for the machine in a way that the machine can't make copies while it is printing. Yes, there are machines that can do both, but this is the very basic example and is normally used to describe programs that have added features that might not be directly involved in the purpose that the program was originally created for. A conditional hybrid if you will.
That is what programmers actually do. Often in the career it requires a programmer to code efficient and effective programmers, but to go further than the user standards as to stand out in the market. It is often the biggest challenge to show such creativity. If you are interested in becoming a programmer then I suggest some of our previous articles where we describe how you can learn programming that fits your specific choices. Thank you for finishing this article, I hope you enjoyed and be sure to subscribe to Programming Tut to stay updated and informed on the programming world!