The ability to learn belongs to the so-called “metaskills”, to one degree or another everyone has it – we have learned to walk, talk, use a spoon or, for example, a smartphone! The more a person has studied before, the more developed a meta-skill is: in this respect, for example, a master’s program is more effective than a bachelor’s or technical school.
Although there are exceptions: Steve Jobs or Bill Gates created high-tech companies without an IT education or MBA – and yet these exceptions confirm the main idea: the more a person learns (“learns himself”), the more self-learning skills he has … The question is not a formal diploma, but a real experience of learning new things.
For this reason, I am not worried about students from good universities: while they are studying, they are seriously pumping their self-study skills. IT students were especially lucky in this sense. If they are serious, they upgrade their self-study skills and receive systematic knowledge of IT (even if at first they are rather superficial).
When a general mental map “How the IT world works” has already formed in my head, it is much easier to delve into any topic – be it backend or mobile.
In addition, IT students receive, albeit educational, but still experience in solving various problems. And if they are lucky, they turn out to be familiar with the basics of the chosen specialization. So, coming to IT “for real”, they have a head start over others.
However, even if they teach excellently at a university or college, with rare exceptions, graduates and students have to acquire professional knowledge on their own, already outside the educational institution.
So how do you learn to learn? The approach to learning the new is standard in itself: on the one hand, you have to master the theory, and for this you read review articles, documentation, then you can read books. All this is necessary to form a “mental map of specialization”. Without it, the world is full of “magic” and “miracles”, unpredictable, and most importantly – uncontrollable. You also need to gain experience – through problem solving. Learning tasks can be taken in courses – university courses, courses from companies or courses from online platforms – now there are a lot of them. You can also solve real problems – this path is often “painful”, but also more intense.
However, another situation is also possible – if a person has not studied IT at a university, but wants to become a programmer. In this case, one should not count on a quick entry into the industry, but it is quite possible to form the skill of self-study in IT “from scratch”.
If a well-prepared student or graduate of the IT specialty can get the desired job after 1-2 months of internship, then entering IT “from scratch” usually takes half a year – there are, of course, no guarantees. The closer the specialty is to IT and the more self-learning skill is developed, the faster a novice developer will achieve his goal. Also, success is significantly influenced by such “soft skills” as self-discipline and motivation to learn.
By the way, just when starting from scratch, paid courses can be useful, while you need to pay attention to both the cost and duration: these factors affect both self-discipline and motivation, help to form a clearer mental map for the chosen specialization and get a decent problem solving experience. Naturally, there are shareware paths for novice developers, so you can do without paid courses.
Let’s consider separately the case when a person wants to become a programmer and dives into IT from scratch. First, you need to understand that programming is based on simple concepts taught in the school course: “algorithm”, “fork”, “loop”, “subroutine”, “recursion”, “variable”, “array” and others. You need to understand this basic level, learn the theory and gain programming experience at this level.
If basic school computer science was good for you, you need to get acquainted with the basics of the chosen programming language and with the basic concepts of your specialization. And to complete many, many tasks. And then even more. Only this will give you confidence in your abilities and the ability to move on.
Once you have mastered the basics of specialization, you should try your hand at an internship. Usually for this you need to sign up and do a test task. If you didn’t succeed the first time, then you need to dig even deeper: read articles, study documentation, solve many, many, many problems. And of course, try again for an internship. And if you are finally invited – praise yourself!
Only about 50% of novice developers successfully complete internships, but the more time you devote to this task, the better the chances.
And what to do if the described path for non-techies may seem scary and unattractive? To begin with, devote an average of 1000 hours to learning IT and write at least 5000 lines of code. In my opinion, there is no other “magic” – in any case, you constantly have to invest a lot of time and effort in self-education.