Programming work is often unknown to the vast majority of non-technical people. It makes me laugh when people refer to developers affectionately as “the ones who spend all day with ones and zeros.” The truth is, in all the years I’ve worked in the industry, I have never dealt with binary code directly. What I have done, however, is show people that pieces of code can be rather simple in essence and seemingly logical instead of being a dark art form.
When it comes down to it, programming is telling a computer how to run an orderly series of actions (algorithm) to obtain a result. It can be said in many different ways, which are known as programming languages. There are languages that are more oriented toward a specific task such as querying a database, while others are more general and can be used to develop virtually anything imaginable.
Over the course of a career, it’s not unusual for someone to learn several languages throughout their professional life. In my case, I’m clocking in at around ten after a quick count. Learning the syntax of a language takes relatively little time since there are many similarities between them. However, simply knowing a lot of languages does not necessarily mean that you’re a good programmer. Since programming is a creative process there are an infinite number of ways to solve the same problem. It is how the programmer chooses to solve the particular problem that truly reflects the extent of their skills.
To illustrate this idea, I will present a simple example without going into technical details and saving me some complexities beyond the problem itself to show how important it is to have some knowledge of what is being developed before you begin to throw around lines as a fool to throw of code.
Four programmers, each with different levels of experience, will create an algorithm tha can identify prime numbers (a prime number is an integer that is only divisible by one and itself).
To show the differences between each of these, let’s use the number 999,529:
In all four cases, the developers used the same programming language and had the same programming skills, but did not share the same mathematical knowledge. And for the record – yes, everyone has got the same result (the number is prime, but the difference between them is obvious).
This example in itself is fairly trivial but is still applicable for a variety of situations in the world of programming: programs that needlessly use more memory than necessary, conducting database queries without optimizing first, the constant processing elements that do not vary during a certain time period, and so on, and so on.
Conclusion: Programming is something that almost anyone can do with a little curiosity, but creating optimal schedules is something that requires knowledge and dedication.