Many people who have not tried another profession commonly have unexpected ideas about the profession of others. A particularly unrealistic idea is that of an office job, an example of which is a programmer/developer. What is the job description of a programmer? What does he or she do? What does his job look like?
Some people think that a programmer just sits at a computer. However, this view stems from ignorance and a complicated appreciation of the difficulty of a programmer's job. Similarly, one could say that a driver just sits behind the wheel or a teacher goes to play with the kids. However, the driver's job is to keep a close eye on traffic and the teacher's job is to work with the kids and help them grow.
Your question is: What does a Programmer do?
If you are looking for a programmer, click on the article what a good programmer should know
Programmer is an often-used term, but it hides many specific activities and different specializations. In general, to program means to create code, but that code also has to be thought up and the concept of the application has to be designed first. This is very close to the concept of an architect, which is why people who do only the activity of designing an application are called software architects.
The word programmer can be used to refer to the hardware used to load the software of a device, or the person who performs this activity. The term software developer is more appropriate for the person who creates the program. The word itself implies that it is a creative activity.
Working outside the office
Writing program code is the last thing to do. The developer has to think everything through first, and he doesn't even have to touch the keyboard or even sit at the computer to do it. Experienced programmers often come up with a program away from the computer, for example while walking or sitting on a deck chair in the garden. Wherever they are, the important thing for designing applications and algorithms is to have some quiet time to think.
Programs often contain various mathematical functions and logical relationships. Therefore, programming can be compared to math classes. And for whom was math easy? Software programming, then, can be likened to math tests. As for software development, where new things are solved, I would compare that to solving math and physics olympiads. I, as a graduate of the Olympiads and a successful problem solver, can confirm that after solving problems all day long, exhaustion sets in.
However, programming is not just about writing code. A quality software developer, will normally produce less code, but the code is clearer, more maintainable and more secure. They must also master many tools not only development tools but also code versioning, testing etc... Designing and addressing the testing capabilities of the application is also important, especially from an efficiency perspective due to repeated testing during ongoing development.
Conversations on the topic of the programmer
Check out the video where I also explain the different meanings of the word programmer
Server administrators are in a similar job situation. Here, however, there are already two typical groups:
- Windows PC and server administrators
- Administrators of Linux systems and other Unix systems
Windows administrators usually circulate computers around constantly, except with an infarct grimace. Windows administration, while difficult to automate and deal with remotely, is only partially so, and unfortunately administrators don't make much use of this option. But the fundamental problem is that Windows is self-destructing ...
Administrators of Linux servers and other Unixes, routinely automate the work. The GNU/Linux operating system is stable. Programs created primarily for Linux are created for one specific purpose, and because of this they perform their task perfectly. A great advantage is the clear text configuration. As a result, a good server administrator has legs on the table and only has to deal with sudden events such as hardware problems. However, it continuously pushes the capabilities of the servers and automates routine work. For example, Ansible is used to automate server installation and configuration.
Work of a Programmer
Strictly speaking, this is the job of a software developer. Most people think that a programmer just sits at a computer. Probably based on their own experience when they look at the web, for example. But the reality is quite different.
A programmer doesn't just sit at a computer and consume content. His or her job is all about a lot of concentration and thinking, where the goal is to create a solution to the task at hand. Thus, the work of a programmer can be compared to solving a math or physics Olympiad, for example. And as everyone can probably imagine, it's not easy! For such work you need absolute calm, enough time and often you can get very sweaty and extremely exhausted. No wonder then that programming is one of the most mentally demanding jobs. Efficient and capable programmers are very well paid. However, if such programmers cannot organise their work, their working environment and, most importantly, rest and regenerate, it is not surprising that programmers often burn out when they are still young.
Moreover, software development is an exclusively sedentary job. Therefore, programmers are often fat and have other health problems. However, a decrepit physique affects the person as a whole, and so for mental work, it is necessary to keep physically fit as well. Therefore, a programmer has no choice but to take part in sports regularly and thus have a chance to maintain a healthy body and thus a healthy spirit.
The result of a computer scientist's work
The result of the work of a programmer or linux admin should be to make the work of others easier. I hope this is the case in your case as well.
Články na podobné téma
How to use MailCatcher to test emails
Python OpenAI API
Creating a WebSocket web application and setting up a proxy
Project management: agile software development
How to run old PHP applications
What a good programmer should know
Rust programming language
NodeJS: development, server configuration
Nette security bug CVE-2020-15227
REST API: platform API
Custom web and mail hosting with ISP Config software
Programming in SQL: PostgreSQL, MySQL/MariaDB
HTTPS: secure web
NoSQL database Mongo DB
Connecting to Microsoft SQL Server from Linux
Which mail and web hosting to choose
Digispark - Program Atmel ATtiny microcontroller with Arduino IDE
Development for ARM processors with Arduino IDE
How to program the ESP8266 WiFi processor
Open smartphone with Linux - Openmoko Neo FreeRunner
If you are interested in receiving occasional news by email.
You can register by filling in your email news subscription.