Принцип морської піхоти говорить: якщо ви знайшли фізично придатних чоловіків і жінок, за умови правильного навчання і тренувань ви практично будь-якого з них зумієте перетворити на унікального бійця. Програмування — це така сама навичка, як уміння грати на гітарі, плавати або їздити на велосипеді. Люди не народжуються велосипедистами.

Є чимало розумних і здібних людей, які працюють удвічі більше, ніж програмісти, а заробляють учетверо менше. Можливо, вони просто не на своєму місці?

Чому програмування?

Перш ніж навчати людину програмування, краще з'ясувати, що це їй дасть.

1. Проста й цікава робота.

Програмування — це проста й цікава робота. Великий простір для творчості. Багато розробників-початківців не відразу можуть цілком повірити в те, що тепер вони займаються улюбленою справою, а їм за це ще й гроші платять. Потім звикають.

2. Добре оплачується.

Просто радісно бачити, як грамотні фахівці через 5 років роботи починають купувати собі машини чи будинки.

3. Гнучкий графік.

Жорсткий графік — не дуже приємна річ. Це вам підтвердить кожен, хто стояв у заторі в годину пік або кого штрафували за запізнення на 5 хвилин. А як щодо можливості приходити на роботу об 11 ранку та йти з роботи — о 5 вечора? Скажете, мрія? Для більшості програмістів це реальність. Виконуйте свою роботу, і вам слова ніхто не скаже. У багатьох компаніях дозволяють навіть не приходити на роботу, а працювати з дому. Завжди можна домовитися.

4. Професійне зростання.

Майже в будь-якій організації, щоб отримати престижну посаду й добре заробляти, потрібно робити кар'єру. Програмісту досить просто залишатися програмістом. Вам не треба переучуватися з програміста на адміністратора чи боротися за посаду начальника. Можна просто професійно зростати. Програмісти з п'ятьма–десятьма роками досвіду роботи отримують шикарні зарплати.

5. Висока міжнародна мобільність.

Три найбільш високооплачувані спеціальності в усьому світі: юрист, хірург/лікар і програміст. Юристом дуже складно працювати за кордоном: інші закони, прецедентне право і т. ін. Лікарю треба вчити мову, інші медичні стандарти, а також наново складати іспити. Програмісту нічого вивчати не доведеться. Та сама мова. Ті самі стандарти. Часто навіть замовники ті самі.

Чому саме Java?

Поєднання трьох чинників і робить цю мову програмування такою привабливою.

1. Мова Java — одна з найлегших для вивчення.

Її можна вивчити за 3–6 місяців, а можна за 12, залежно від бази й від того, скільки годин на день ви приділяєте навчанню.

2. Великий попит на ринку праці.

Можна влаштуватися на роботу без досвіду. Компанії охоче беруть на роботу тямущих новачків і займаються їхнім подальшим навчанням.

3. Найвищі зарплати в галузі.

Одні з найвищих. Це особливо актуально для програмістів-початківців.

Неможливо прочитати книгу й одразу стати програмістом. Потрібно щонайменше 500 годин практики. Зовсім як у боксі. Неможливо просто переглянути всі бої і стати професіоналом. Необхідно проводити за тренуваннями в залі довгі вечори (тому в JavaRush дуже багато практичних завдань).

Усі пропозиції вивчити програмування мовою Java за 10 годин рівносильні пропозиції за 10 годин навчити вас боксу. А відтак на ринг! Не робіть цього.

Іноді, коли новачок запитує на форумах, як стати програмістом, йому кажуть: придумай собі завдання та виконуй їх. Так не вийде. Річ у тім, що людина не може придумати собі завдання, що лежить уже поза межами його знань. Ви щось або знаєте, або ні.

Тільки людина, яка добре знає тему, може придумати для вас послідовний набір задач, кожна з яких навчить вас чогось нового й не потребуватиме тижнів на розбір. Власне, саме це ми й зробили.

Інноваційний підхід до навчання

Процес навчання в JavaRush побудовано не так, як у виші. Це ви швидко помітите. Зате він ефективніший.

У виші ви, найімовірніше, вчилися в такому форматі: довгі лекції та практика, що закріплює теорію. Цей підхід спрямований на те, щоб дати вам широкі знання. Водночас ваші реальні практичні навички залишають бажати кращого. А якщо відверто, то ви майже нічого путнього не вмієте після такого навчання.

Тут — інший підхід. Теорія — це знання, а знання — це відповіді на наші запитання. Тож спочатку ми даємо запитання — практичні завдання, які важко розв'язувати з поточним рівнем знань, а потім — відповіді (теорію, що значно спрощує їх розв'язання).

Новий матеріал подається в три етапи:

1. Знайомство (необхідний мінімум теорії або кілька практичних завдань).

2. Основний блок знань (ви маєте повністю зрозуміти, про що йдеться).

3. Деталі та особливості роботи (заповнюємо прогалини).

Отже, ви щонайменше тричі зіткнетеся з однією і тією самою темою. Не кажучи вже про те, що все дуже сильно взаємопов'язано, і просто неможливо повністю пояснити одну тему, не оголосивши заздалегідь, принаймні частково, інші.

Дехто зі студентів навіть обурюється через складні задачі: мовляв, ми цього ще не проходили. Такі задачі — нагода задуматися: як можна їх розв'язати, маючи певний (поточний) набір знань? Ви витратите на них годину-другу, натомість потім із радістю зустрінете новий оригінальний підхід або красиве розв'язання.

До того ж, у реальному житті — на роботі — вам теж спочатку дадуть завдання, а тільки потім ви знайдете інформацію, потрібну для його розв'язання. Реальне життя — воно таке. Отож чим раніше ви звикнете до такого підходу, тим краще.