According to the textbooks, Software engineering is just a process of writing instructions in any programming language. But there are few questions about computer programming.
But is it so easy – to take and write a program?
Is it really possible to write a program, just list the set of instructions (instructions) to the compiler and everything is ready?
I want to explain you some basic points to become a good software engineer.
- Programming is a purely creative research, not a technical process.
- Software engineering is the process of flying creative thoughts, often going beyond the working day and even the way of life.
- It is important to understand that the program is not just a set of lines of text.
This is not a sequence written out of a book, pieces of code. This is a complex multi-level product. These are dozens and hundreds of objects of different structures with different behaviors, communicating with each other. And the software engineering must understand and feel all the subtle connections between these objects.
- When a software engineering is working on a program, he seems to live in his head.
It is necessary to understand that the program is written by immersion in the code. This is when the source code of the current module seems to be loaded into the brain and processed there (aka is debugged).
Thus, already running the program for execution, the “right” programmer knows perfectly well how it will be executed, because before that it “lost like music” in his head.
- I mean, I know a lot of such Software engineer who wrote some code and to check how it works, run it for execution and were very surprised when it came up with an error in some place. They could not execute code in the head, and therefore did not understand how this code works. Well, they had no corresponding programs
- The most important skill in programming is learning how to play the code in your mind. The programmer’s brain must be able to run code sections in the mind. You scroll through the loop, calculate the variables and imagine, approximately, what will be on the output.
- The feeling that you feel the program is a very important stage in the development of the programmer.By the way, a good programmer differs from bad that spends 90% of the time on development, research and design, and bad spends these 90% of the time for debugging randomly generated code
Bitter Truth About Software engineering.
- As a rule, it is impossible for a programmer to learn in an educational institution.
Used on most of the programmers – self-taught. Education can only lay the foundation of engineering knowledge. The rest is mental abilities and predispositions, multiplied by diligence and labor in a square, and even in the factorial.
- I spent a lot of interviews with programmers with a programmer’s diploma at work. In the course of the interview it was found out that for the whole life they wrote only one program, and that, it was a diploma written by another person. I asked such a candidate, but can a poet call himself a poet, if he has not written a single verse yet? Usually there is a collection of poems and then the poet receives recognition and the status of the poet himself. The answer was a stupid silence and misunderstanding