Maybe a little messy, but I hope you will understand.
After studying HTML and CSS, you are offered to pay attention, for example, to preprocessors or CSS postprocessors.
Specifically with CSS, I would recommend starting with preprocessors right away, since they essentially add 2 main features:
The rest of the features of preprocessors can be studied after mastering CSS, but the development for learning should be carried out immediately using the preprocessor. For starters, you can use this program to compile. Then from it to go to compile with pom. gulp, webpack, etc.
There is no equally effective way for everyone.
I studied on specific tasks. Training almost always began with the state I want to do this (clearly aware of the final result), but in general I have no idea how to do it, and even which side to approach and what to grasp on …
The main thing here is to want so much to achieve a result so that any obstacles just add excitement. So that I could not sleep at night and thought about the task. This is the key to learning. Everything else – the scenery, ways, tools …
The second stage is the realization that it is impossible to completely swallow an elephant, in principle, it will be necessary to divide into parts, i.e. decomposition. Moreover, the task must be divided repeatedly, until the solution of a specific part of the task begins to fit into a couple of pages of code – a module.
You download each module and test it to insanity until it is perfect. Opinions may diverge here, but I think it is necessary to work out reflexes at the training stage, otherwise in the future govnokod is inevitable.
Further from the modules, as from the Lego cubes you try to assemble functional blocks. It is important to understand that the more autonomous modules and blocks you have, the better, especially for testing purposes. If you score a bolt for testing, then you have nothing to do in development.
At first, testing will take up to 99% of the time and effort. At the same time, the syntax of the languages used (which is not important at all) is tightened, attentiveness, concentration are developed, memory, etc. are trained.
Oh yeah, baby, a good programmer has an unrealistic memory in which he manages to hold dozens and hundreds of key aspects of the task context, take into account their features, mutual influence (combinatorics), and so on, without which no task will ever be solved.
They are not born with this, it crystallizes out over hundreds and thousands of hours of hard battery from the inability to find where you forgot to put a comma … When the code of 10 lines is read hundreds of times along, across and obliquely …
Only in this way, only hard hardcore! If you have not passed this phase, then you are either born a genius, or you have nothing to do in the profession … It’s like childhood diseases – they need to get sick in childhood.
Pay attention, the most important quality in all this mnogabukaff – perseverance on the verge of fantasy. Anyone who doesn’t reach the end doesn’t crack his forehead hundreds of times with a scream, so here’s where, this comma is missing, it will break at the most inopportune moment on a combat project …
And with what tools you solve the problem – it’s the tenth thing and in every project, the number of which is millions, there will be your own set of blackjack with the young ladies, so there is no particular sense ahead of time to prepare. It is necessary to master the basics well, and learn the rest on the fly.
Oh yeah, leap in reference books on any tool and learn to quickly penetrate and pick up the necessary minimum. Usually it is enough for 20% to own the tool to solve 80% of the tasks.
In any case, I hold effective demand for the criterion of truth.
I applaud for this text!
I am a programmer with 15 years of active work experience. Programming is a software development tool. The same as the ability to walk for free movement from point A to point B. When a child is born, there is no map in which it would be indicated – in what sequence he should study walking in order to become a full-fledged person as a result. So in software development – there is no consistency. You need to learn everything at once, little by little. And not theoretically, but practically. The child does not read books on the development of the ability to walk, does not listen to lectures from parents. He immediately tries. Falls, and tries again. Until you learn. Software development is exactly the same.
There is no point in reading books about learning a particular language. Set the task – “move from point A to point B” (make some specific application) and google for each incomprehensible moment until the program is written. Learn how to build search queries correctly.
After you have a hard time launching your first product. You will already know and be able to dozens of times more than a student who has completed a five-year course in the field of programming and has read a couple of thick theoretical books.
To begin with, the young Padawan must speak fluently in the main web programming languages -
js css html
js first, then css and html
it is necessary to immediately understand that if you wish, you can not use the possibility of declarative programming of styles and the tree structure of the document at all
Flenagan textbook must be completely digested
and php a bit to start with – only basic server functions for working with folders and files
or better – explore api node.js – and make a server on js
js – very simple language, nowhere easier, “Lisp in the skin of C”
and the most cross-platform – for beginners the most
Do not forget the principle of KISS – we appreciate minimalism-simplicity-ease
Without other people’s frameworks and libraries, you will get maximum performance js – 3-5 times lower than in C
in the process of studying you need to write your simple client-server application –
chat, drawing, text editor, game and so on …
the main thing – without using someone else’s code – without libraries, frameworks and ready-made databases
you should be able to independently create-process-save the data you need
programming is a solution to the problem –
invent yourself a problem in an interesting area and solve it for several years while you study
the client is thick, the server is skinny –
server use only for simple functions – read / write data, scan folders, authorize …
offline and mobile corporate –
you need to immediately understand that a mobile tablet or touch screen is the main input tool of the 21st century
to learn how to do it yourself
enlightenment is inevitable after that you will gain
and become a real webmaster
or even a Jedi or ninzem, if the Force be with you
three to five years for this you need to gnaw granite
and there is another way – the dark side of programming:
work on someone else’s ready-made standard framework template
infinite circulation in samsara capitalist industry
communication with morons, psychopaths, crooks, lazy, etc.
office or freelance suffering
eternal finishing-alteration someone else’s code
inability to do the necessary functionality by yourself
constant google ready solutions
depression and despondency
// and the most lazy become the non-programmer makers))
Normal programmers are divided into two types:
- engineers – those who can write a template for themselves or for others
- fitters and winders-winders – those who work within the framework of the finished template
– both types are needed, it all depends on your abilities and talents
It seems there is some imbalance in web development. Here’s Google offering a path to https://techdevguide.withgoogle.com/ Perhaps the developer is not about technology, but rather about the skills to solve problems.
The author would decide if he is asking about a web app or all sorts of virgins; change the title and content of the question accordingly.
The fact that I gave an example from the web does not mean that the question is about the web. It’s just my specialty, but I will not give up any such information regardless of jap, platform and other things.
The author himself asked the web dev vector in question.