The Marine Corps principle and programming
The Marine Corps principle says: if you find physically fit men and women, then with proper instruction and training you can turn almost any of them into a unique fighter. Programming is the same kind of skill as playing the guitar, swimming, or riding a bicycle. People aren’t born cyclists.
There are plenty of smart and capable people who work twice as much as programmers and earn four times less. Maybe they’re just not in the right place.
Why programming?
Before teaching someone programming, it’s better to figure out what they will get out of it.
1. Simple and interesting work
Programming is simple and interesting work. There’s lots of room for creativity. Many beginner developers can’t fully believe right away that they’re now doing what they like—and getting paid for it too. Then they get used to it.
2. Pays well
It’s simply nice to see how capable specialists, after 5 years of work, start buying cars or houses for themselves.
3. Flexible schedule
A rigid schedule is unpleasant. Everyone who has sat in rush-hour traffic or been fined for being 5 minutes late will confirm that. And what about the opportunity to come to work at 11 a.m. and leave at 5? Sounds like a dream? For most programmers, that’s reality. Get your work done, and no one will say a word. In many companies you don’t even have to come to the office—you can work from home. You can always make an arrangement.
4. Professional growth
In almost any organization, to get a prestigious position and earn good money, you need to build a career. For a programmer, it’s enough to simply remain a programmer. You don’t need to retrain from programmer to administrator or fight for a manager’s position. You can simply grow professionally. Programmers with five to ten years of experience earn excellent salaries.
5. High international mobility
The three highest-paid specialties worldwide are: lawyer, surgeon/doctor, and programmer. It’s very hard to work abroad as a lawyer: different laws, case law, etc. A doctor needs to learn the language, different medical standards, and also re-take exams. A programmer doesn’t have to learn anything. The same language. The same standards. Often even the same clients.
6. The highest salaries in the industry
Some of the highest—especially relevant for beginner programmers.
You can’t read a book and become a programmer. You need at least 500 hours of practice. Just like in boxing. You can’t just rewatch all the fights and become a pro. You need to spend long evenings training in the gym (that’s 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! Don’t do that.
Sometimes, when a beginner asks on forums how to become a programmer, they’re told: come up with tasks for yourself and do them. That won’t work. The thing is, a person can’t invent a task for themselves that lies just beyond the boundary of their knowledge. You either know something, or you don’t.
Only someone who knows the subject well can come up with a consistent sequence of tasks for you, where each one teaches you something new and doesn’t require a week to figure out. That’s exactly what we did.
An innovative approach to learning
Learning on JavaRush isn’t built the way it is at a university. You’ll notice that quickly. But it’s more effective.
At a 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 leave much to be desired. And if we’re being honest, with that kind of training you can do practically nothing worthwhile.
Here, the approach is different. Theory is knowledge, and knowledge is answers to our questions. That’s why we first give questions—practical tasks that are difficult to solve with your current knowledge—and then answers (theory that makes solving them much easier).
New material is presented in three stages:
- Getting acquainted (the bare minimum of theory or a few practical tasks).
- Main knowledge block (you must fully understand what it’s about).
- Details and nuances of how it works (we fill in the gaps).
That way, you will encounter the same topic at least three times. Not to mention that everything is very strongly interconnected, and it’s simply impossible to fully explain one topic without having at least partially introduced others before it.
Some students even complain about the tasks, saying: we haven’t covered this yet. Such tasks are a reason to think: how can you solve them with your current set of knowledge? You’ll spend an hour or two on these tasks, but then you’ll gladly welcome a new original approach or an elegant solution.
Besides, in real life at work, you’ll 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