How to Start a Career as a Programmer?

There are some of my friends who are beginning to be interested in learning programming, there are some who are fun and serious. Being a Programmer is difficult, especially to build a programming mindset and logic training. For example, I give him practice. He made a constant, I told him to change the value. And yes, as I and he know, it must be an error. I asked: why is this an error ?, he replied “Because we change the constant value”. When I’m challenged, how do I get rid of the error? He doesn’t know yet.
What is the answer to a study friend?
Yes, just change the previous constants to be variables. Simple, right? Remember my challenge about how to get rid of the error. In that case to eliminate the error, and my logic because changing the constant value is not possible, so just change it into a variable.

It’s just a small exercise, don’t do it in real life. The exercise is to train our logic to solve the problem out-of-the-box.

Back to the question How to start a career as a Programmer? Let’s discuss it. Incidentally my current career is a Programmer, so this paper is not just a theory or abstract that has not been tested for validity. Everyone has their own way, and hundreds of thousands of programmers in Indonesia, I share one of them how I become a programmer.

We start from the basic question first: Do you really want to be a Programmer?
Keep in mind, I’m a realistic person. Only learn what is really used in the real world.

Now we are realistic, you finish middle school to study in high school, right? You finish high school for college, right? You finish college for work, right?
Well, when you choose to be a programmer for your career, it means you have to be serious about exploring it. If you are serious about becoming a Programmer, let us first discuss Programmer, Developer, Engineer.
There are some people who call themselves Programmers, Developers, or Engineers.
Actually it’s just a name, anyway. But in my opinion, there are some differences. Example:

• Programmer. Someone who is programming. He made a program. Like the program we already know: Visual Studio Code for example.

• Developer. Someone who develops. He developed a library that was used to create programs. We take the example in Visual Studio Code, Visual Study Code uses Electron as a Framework to create Desktop applications. Programmers who make Visual Studio Code, and Developers who make / develop the Electron

• Engineer. Technician. Maybe it’s the same as the Developer, just the name. Engineer Frontend, Developer Frontend, etc. Together developing, both working on the technique.
Okay that’s the difference between Programmer, Developer, and Engineer. Maybe if you have been in the programming world for a long time, you will get to know new titles (such as Principal Engineers, Software Architect, etc.).

Now, there are 2 application development environments that are in demand by the market, Mobile & Web. For the Desktop, the usual ‘already’ is occupied by seniors who are Old School programmers (those who have long been in the world of programming, and use High Level programming languages ​​(such as Java, C, C ++, etc.)). The core doesn’t match the beginner / beginner who is just working in the programming world.
For now, please specify in advance: Want to be a programmer on the Web or Mobile? What is the difference?