There is a lot of talk nowadays about programming and about the need to teach it or make it a basic subject in schools, and also about its usefulness in liberating from the burden of the traditional daily job of self-employment, for example, or establishing your own company and the other arguments in various fields ..So we have seen that many have started studying it directly without planning or defining the field of programming that they want to study without even asking the people of experience about the shortest and best way to do so, and you find them They flounder here and there are scattered in a sea of different software technologies .. So in this article we will give them valuable advices ..
First, programming is just a tool.
Learning to code is only a way to achieve your desired goal after learning it, meaning you do not learn programming for programming, learn it for your goals..technologies generate, die, and your love for a technique that will not last..Therefore, it is incumbent on anyone who is rational to learn what his goal scheme dictates.
Second: Your age is limited.
And technologies and programming languages are unlimited because they are renewed and will continue to chase learning and will not reach its end as long as you learn for learning, so learn for your goal .. it is the shortest way for the results of your learning to appear quickly.
Third: Choose your goal and do not make it narrow.
so suffocate it and don’t make it wide, so you cannot keep up with it. Let’s separate this point with the usual Beginner question:
I want to learn programming, what is the best language to start learning?
First of all, this question is very vague. In order to help someone answer this question, he must help us by answering these questions first:
1- Why do you want to learn programming?
Do you want to learn it in order to work as friends?
What is your target market, foreign or Arab?
Do you want to learn it in order to do your project?Reducing its expenses?Working for a software development company?
Do you want to learn it as a hobby? -… etc.
2- What field do you want to study?
Web development? – Android application development? – Desktop application? – Game development? – Artificial intelligence application development? – Big data processing? – Protection and hacking field? -… etc.
Assuming that you want to work as freelance and the area you study is web development: First you have to specify the market in which you want to become Frielans (Arab / foreign), assuming that you chose the Arab market, here we show two possibilities:
- The first is to study the web development directly without studying what the Arab market demands and after trouble you turn to the Arab market to be surprised that what you were studying is not required by anyone or that the competition is very intense … etc.
- The second is that you go to the Arab market now and monitor it and analyze the requests and offers, their number per day. Is the competition intense here … to come up with a plan for what you will study?
Then the web development as rudimentary information is divided into two parts:
- A- Front_end:
And it is the graphical interface of the site, the visible part, the colors of the buttons, the site’s divisions, its writings, pictures, consistency between them … etc.
All of this falls under the name of the front end .. You can develop this initially by:
- HTML: A markup language in which you can create tables or insert text or images … but they will be unformatted.
- CSS: And here comes the role of this point, which is specialized in coordinating the content of the page or in other words coordinating the html, for example miniaturizing images, changing the color of writing, placing divisions next to / unfortunately each other, and at the end a coordinated page appears to us from top to bottom.
- B- Back_end:
It is the hidden interface that does not appear to the user, and where all the accounts and logical stages that the programmer prepared for the process of his site lie, for example. If user (a) sent a message to user (b), then between clicking a on the send button and the message appearing for (b) several stages were programmed by the developer to ensure its arrival. To study the backend, it is sufficient to start studying a custom programming language for the backend, and there are many:
PHP, PYTHON, RUBY, GOLANG, NODE.JS..etc.
Then you study one of the databases that is divided into two parts:
SQL relational database for example MYSQL or NOSQL relational for example MONGODB.
Now by bringing the two interfaces together we have Full Stack, meaning you can specialize in one of the two aspects or study it together .. To study them together Full Stack, combine them which means you study the front end and then after you finish you study the backend. Therefore, start by setting your goal and he will take care of determining what you will do later.