When you hear a question like this, you may come to say, “How do they do it? Well, they're programming! ” However, the answer to this question is not so short and simple. To see why this is so, let's start with programming.
PROGRAMMING
Programming could be most simply explained as writing very detailed instructions to a machine (desktop computer, mobile phone, robot). For example, if we want a robot to bring us a glass of water from the table, we will have to first tell him to come to the table, then raise one hand, turn it towards the table, spread his fingers or grips, move it until it comes a few millimeters in front of the object which we want to bring us, and so on.
The bottom line is that when writing instructions, we have to be very precise because computers (still) can't think for themselves. To give you a better idea, here is a small extension of our example.
If you tell your very obedient younger brother or sister to bring you a glass of water, they will do it. We don't have to tell them where the faucet is, where the glass is, or how long they should fill it. With computers, however, it is a little different - it is necessary to explain each step in detail.
PROGRAMMERS
Maybe someone, based on what we have written, will think that only those who calculate all the steps well can be engaged in programming, or they are simply geniuses. Certainly, these traits help, but they are not crucial. The most important thing is to be good at logical thinking and to think correctly about the problems you want to solve with programming.
Does that mean developers need to know how to fix computers? Of course not. Knowing the hardware that makes up the computers we work on every day is not a prerequisite for programming at all. For example, you don't need to know any hardware at all to program your game using Scratch, or ClickTeam Fusion.
"Okay," someone will say, "then developers must know all programming languages." Well, not quite. Although there are people who know and speak a large number of world languages, there are very few who deal with quality writing in each of the languages they know. It is similar to programming languages. The choice of a programming language depends on what you want to program, whether you want to take into account what happens to the processor and memory while your program is running, and so on.
PROGRAM USERS
Before developers start writing programs, they must consult with those who will use them. There they will get to know the requirements of the end-users of the program. This step actually determines what the program will look like, what functions it will have, whether it will provide complete freedom to its users, and so on. In other words, the design of the program largely depends on the conversations with the end-users.
BUGS
If you spend a little more time at the computer, you've probably heard of bugs. Simply put, it is an unexpected behavior of a program - an unexpected interruption of work, a jam, an unforeseen impossibility to save the previous work, and the like. The appearance of bugs and their solution is something that every programmer encounters.
Why do bugs occur at all? Here are a few reasons:
the code (what a program consists of) is poorly written in some places
the developer did not take into account any possible behavior of one user
the program cannot handle the simultaneous work of a large number of users (for example, an MMO game is not intended for more than 100 simultaneous players)
WORKING DAY OF ONE PROGRAMMER
Having in mind everything we have written so far, we can finally answer the question from the title.
Developers:
device (design) programs
write the program lines that make up each program
they test the programs they have written, and fix bugs
write program documentation (instructions for end-users, but comments related to code parts)
maintain previously written programs (add new features and options, fix new bugs)
work in a team with other developers
meet with their bosses (senior developers) and clients (those for whom a program is written)
they encounter obstacles that they cannot always solve immediately
get annoyed (well yeah, can't do without it)
Of course, this is the working day of a programmer who works in a software company. Those developers who work independently, and at the same time independently develop and program their games, must know how to draw and compose if they do not want to use other people's works.
Finally, here are a few questions for all those who are hesitant after this text whether programming is for them (an infographic that contains these questions, and which served as inspiration for this text, can be found on Karl Che's website).
1.Are you interested in logical problems and puzzles?
2.Do you want to learn new things (most of them, on your own)?
3.Do you have enough patience and perseverance to solve complex problems?
4.Are you interested in how things around you work at all?
If you have answered yes to these questions at least two (or three!) Times (in total, not just one of them!), Congratulations! You have met one of the prerequisites to start programming.
Great information about this article my Dear