Software Engineering
Who is a Software Engineer

Who is a Software Engineer

All software engineers can code, but not all software engineers are capable of developing software concepts. Some people don’t like the definition of “Software Engineer” (aka software engineer, aka Software Engineer) because most of the time we use the word “engineer” when talking about something more physical – construction, for example. Our article, of course, is not about the term itself. If it is suddenly repulsive to you, it can easily be replaced by something related to creativity. “Software creator”, “software author”. …even “software creator”!

When we speak of a “software engineer”, we mean a person whose main task is not just writing code but creating a quality application. And this is where he sees his vocation, applying a scientific approach and statistical methods. For him, programming is not just a way to make a living to get by.

The ability to program automatically does not make a person a software engineer. Anyone can learn to code, and it’s a lot easier than it looks. Anyone can make a simple program for his own use, but that doesn’t guarantee that the same program will work for others.

My favorite example is this: many of us sing in the shower, but, alas, it is not always a performance worthy of a professional stage. Of course, for a high musical experience, you’re more likely to go to the pros.

Do you need more examples?

  • We all learn math and writing in school, but that doesn’t make us mathematicians or writers.
  • Most of us are capable of cooking a tolerable and sometimes very tasty meal, but not everyone will risk preparing a table for 100 people for an embassy dinner party. In this case, we hire a chef.
  • Are you ready right now to fully entrust the construction of a new house to your neighbor’s kid, who creates impressive masterpieces out of Lego?

My main message that I am trying to convey in this article is that simple programs are very different from programs designed by engineers.

The simplest definition of the programming process is: making an orderly sequence of actions for a computer to produce something specific as an output, given input parameters.

The software engineering process is about designing, writing, testing, and supervising a computer program in order to solve the problems of many users. It is about creating reliable and secure solutions that will stand the test of time and work for some possibly pre-unknown tasks other than the obvious ones.
Who is a Software Engineer. Software Engineering VS.
Software Engineers know all about the problems they solve, the solutions they offer, the limitations of those solutions, their privacy and security.

In my opinion, if a person doesn’t understand a problem, he shouldn’t even start programming a solution to it.

Engineering mindset – looking for application solutions

Software engineers do not think in terms of writing programs per se as their primary goal. They think in terms of providing needs and solving problems. This is important because not every problem requires the creation of a software solution. Some of them can be handled quite well with existing programs. The occurrence of some problems can sometimes be predicted in advance, and with intelligent program design, avoided in the future.

“Intellectuals solve problems, geniuses prevent them.”

Albert Einstein

Complex problems often require multiple programs to be written. There are tasks that need applications running in parallel, others that need multiple programs running in sequence. A number of problems can be solved simply by training the users. Before starting to create a program, a software engineer asks himself a number of questions:

  • What tasks do I have to solve?
  • What else, besides writing code, can I do to solve them?
  • What can I do to make it easier to solve these problems with the application?