The Marine Corps principle and programming
The Marine Corps principle says: if you have found physically fit men and women, then with the right instruction and training you can turn almost any of them into a unique fighter. Programming is the same kind of skill as being able to play the guitar, swim, or ride a bicycle. People are not born cyclists.

There are plenty of smart and capable people who work twice as hard as programmers and earn four times less. Maybe they are simply in the wrong place?
Why programming?
Before teaching a person programming, it is better to figure out what it will give them.
1. Simple and interesting work
Programming is simple and interesting work. There is lots of room for creativity. Many beginner developers cannot immediately fully believe that now they are doing what they like—and they are also getting paid for it. Later they get used to it.
2. It pays well
It is just nice to see how capable specialists, after 5 years of work, start buying themselves cars or homes.
3. Flexible schedule
A rigid schedule is unpleasant. Everyone who has been stuck in rush-hour traffic, or has been fined for being 5 minutes late, will confirm that. And what about the option to come to work at 11 a.m. and leave at 5 p.m.? Sounds like a dream? For most programmers, this is reality. Get your work done, and nobody will say a word. In many companies you may not even come to the office and can work from home. You can always work something out.
4. Professional growth
In almost any organization, to get a prestigious position and earn well, you need to build a career. For a programmer, it is enough to simply remain a programmer. You do not need to retrain from programmer to administrator or fight for a manager role. You can simply grow professionally. Programmers with five to ten years of experience earn excellent salaries.
5. High international mobility
The three highest-paid professions worldwide are: lawyer, surgeon/doctor, and programmer. It is very difficult for a lawyer to work abroad: different laws, case law, etc. A doctor needs to learn the language, different medical standards, and also retake exams. A programmer will not have to learn anything. The same language. The same standards. Often even the same clients.
6. The highest salaries in the industry

Among the highest. This is especially relevant for beginner programmers.
You cannot read a book and become a programmer. You need at least 500 hours of practice. Just like boxing. You cannot simply rewatch all the fights and become a pro. You need to spend long evenings training at the gym (that is why JavaRush has so many practical tasks).
All offers to learn programming in 10 hours are equivalent to an offer to teach you boxing in 10 hours. And then into the ring! Do not do that.
Sometimes, when a beginner asks on forums how to become a programmer, they are told: come up with tasks for yourself and do them. That will not work. The thing is, a person cannot come up with a task that sits just beyond the boundary of their knowledge. You either know something, or you do not.
Only a person who knows the topic well can come up with a consistent set of tasks for you, each of which would teach you something new and would not require a week to figure out. Which is exactly what we did.
An innovative approach to learning
Learning at JavaRush is not structured the way it is at a university. You will notice that quickly. But it is more effective.
At university, you most likely studied in this format: long lectures and practice that reinforces them. This approach is aimed at giving you broad knowledge. But your real practical skills still leave much to be desired. And, if we are honest, with this kind of training you can do almost nothing truly worthwhile.
Here, the approach is different. Theory is knowledge, and knowledge is answers to our questions. That is why first we give questions—practical tasks that are hard to solve with your current knowledge—and then we give answers (theory, which makes them much easier to solve).
New material is presented in three stages:
- Getting acquainted (the bare minimum of theory or a few practical tasks).
- The main block of knowledge (you must fully understand what it is about).
- Details and nuances of how it works (we fill in the gaps).
As a result, you will encounter the same topic at least three times. Not to mention the fact that everything is very tightly interconnected, and it is simply impossible to fully explain one topic without at least partially introducing others before it.
Some students even complain about the tasks: like, we have not covered this yet. Such tasks are a reason to think: how can you solve them with your current set of knowledge? You will spend an hour or two on these tasks, but later you will gladly welcome a new original approach or an elegant solution.
Besides, in real life at work you will also be given a task first, and only then will you find the knowledge you need to solve it. Real life is like that. So the sooner you get used to this approach, the better.
GO TO FULL VERSION