1 серпня 2012 року я опублікував на Хабре свою статтю. Саме відгуки на неї надихнули мене розпочати роботу над проектом JavaRush. Стаття наводиться нижче. Я переучую людей на Java-програмістів Коли я бачу друзів, які працюють вдвічі більше, а заробляють у чотири рази менше, щоразу починається розмова: — А ти б не хотів попрацювати програмістом? Ти ж реально розумний. Може, ти просто не на своєму місці? В результаті я переучую своїх друзів та знайомих на програмістів. Весь процес триває від двох до трьох місяців. 25 уроків з 4 години. Потім усі змогли влаштуватися програмістами. Ця стаття не про те, як треба вчити, швидше за просто опис процесу, який працює. Небагато про себе: десять років програмування, половина якого — на Java. Загалом я перевчив на програмістів вісім чоловік. Ще трьох навчаю просто зараз. Переучую, тільки коли бачу, що людині така робота підійде. Про учнів: 3 хлопця та 8 дівчат. У половини технічна освіта. Також є юрист, економіст, бухгалтер та історик. Дехто вже десь працював, дехто тільки закінчив універ. Програмуванням ніхто не займався зі школи. Часта історія: закінчив універ, а ким і де працювати — хз.
Чому програмування?
Перш ніж вчити людину програмуванню, краще пояснити, що це дає і навіщо вона їй потрібна.
Нескладна цікава робота Програмування - це нескладна та цікава робота. Була нагода порівняти з тим, чим у банку економісти займаються. Це небо та земля. У банку все набагато нудніше. Та й дотримуватися дрес-коду в 30-ти градусну спеку не дуже приємна справа.
Добре оплачується. Мені просто приємно бачити, як мої друзі через 5 років роботи почали купувати собі машини чи квартири.
Гнучкий графік.
Жорсткий графік – це неприємно. Це вам підтвердить кожен, хто стояв у пробці в годину пік, або когось штрафували за запізнення в 5 хвабон. А як щодо можливості приходити на роботу об 11 ранку, а йти о 5? Скажете мрію? Більшість програмістів це реальність. Виконуйте свою роботу, і вам слова ніхто не скаже. У багатьох конторах ви можете не приходити працювати, а працювати з дому.
Професійний ріст.
Майже у будь-якій організації, щоб отримати престижну посаду та добре заробляти, потрібно робити кар'єру. Програмістові досить просто залишатися програмістом. Вам не потрібно переучуватись з програміста на адміністратора чи боротися за посаду начальника. Можна просто зростати професійно. Програмісти з п'ятьма-десятьма роками досвіду роботи одержують шикарні зарплати.
Висока міжнародна мобільність.
Три найбільш високооплачувані спеціальності на заході: юрист, хірург/лікар та програміст. Але наш юрист за кордоном буде марним: інші закони, прецедентне право тощо. Лікарю треба вивчати мову, наново складати іспити. Програмістові нічого вчити не доведеться. Та ж мова. Ті самі стандарти. Часто навіть замовники ті самі.
Чому саме Java?
Сукупність трьох наступних чинників і змусила мене переучувати людей на джавістів.
Java - одна з найлегших мов для вивчення . У мене виходить навчити людину за три місяці.
Великий попит ринку праці. Можна влаштуватися працювати без досвіду. Фірми охоче беруть працювати тлумачних новачків і займаються їх подальшим навчанням.
Найвищі зарплати в галузі. Одні з найвищих. Особливо актуально для програмістів-початківців.
Ключовий принцип
Є таке гарне правило, щоб зібрати рюкзак у похід:
Складіть список всього необхідного.
Викресліть все, без чого можна обійтись.
Приблизно уявляю, чим доведеться займатися java junior у перший рік роботи. Знання, без яких можна обійтися в перший рік роботи, виключаємо! Я викинув з навчання багато цікавих та гарних речей. Щоб стати хорошими програмістами, їх доведеться вчити. Але я даю достатній мінімум, щоби влаштуватися на роботу. Одна теорія без практики часто виявляється неефективною. Ось чим я раджу займатися java junior у перший рік навчання:
Радіти, що є хороша робота.
Вивчати проект.
Читати розумні книжки.
Формат занять.
Одночасно навчаю 2-3 особи. Оптимальний розмір групи для мене – три особи. Три місяці. Два заняття на тиждень по чотири години. Усього 25 уроків. Все пояснюю виключно на прикладах. Наочність – наше все. Наприклад, щоб зрозуміти колекції, ми написали на занятті свої ArrayList & LinkedList . Даю домашні завдання для закріплення матеріалу. З чого краще розпочати? З паскаля. Як показує практика та мій суб'єктивний досвід, усі в школі вивчали паскаль. Залежно від ситуації виділяю 2-4 заняття на згадку паскаля.
Змінні та ReadLn / WriteLn .
if,for,while, масиви .
Функції та процедури.
Закріплення вивченого.
Формат уроків
Зазвичай розповідаю нову тему 10-20 хвабон . Сідаю за комп'ютер (інші сидять поруч) і пишу приклади, що працюють, розказаного. Потім усім по черзі даю завдання з поточної теми. Кожна людина за такий урок встигає зробити по 3-5 невеликих завдань. Заохочую підказувати один одному (навчає роботу в команді). Підглядати старі приклади можна. Копіпастити нічого не можна.
(може не бути першим із усіх, якщо були попередні уроки з паскалю)
Розповідаю, що таке Java , JVM , JDK , J2SE , J2EE
Встановлюємо JDK , IDE (мій вибір - Intellij IDEA )
Створення першої програми. Показую один раз, а потім народ повторює.
Введення / Висновок, робота зі змінними. Проводжу аналогії з паскалем дуже допомагає. Набагато легше зрозуміти матеріал, коли є аналогія про те, що знаєш.
Альтернативні методики
Участь у вільних проектах – ідеальний інструмент для саморозвитку. Людині, яка може добре працювати, але не фанатіє від програмування, підходить погано.
Чому навчаю
Тільки найнеобхідніше
Чому не вчу
Алгоритмам, графам тощо. Сам призер купи олімпіад. За 10 років реальної роботи нічого не знадобилося.
UI, аплети і т.д. Швидше за все, майбутні проекти в житті моїх учнів будуть пов'язані з Tomcat , JBoss , WebLogic
HTML/JavaScript. Непрофільні навички. Рекомендую займатися самонавчанням.
Робота
Я не можу навчити всього, та й не намагаюся. Моя мета в тому, щоб людина отримала роботу, фірма — перспективного співробітника, і обидві сторони були зацікавлені у її подальшому навчанні.
Як влаштуватись на роботу. Ключові моменти
Правильно скласти резюме. Уявіть, який договір може скласти професійний юрист, а який звичайна непідготовлена людина. У важливих речах не потрібно соромитися звертатися до професіоналів. Так і тут: резюме потрібно не складати самому, а попросити знаючої людини.
Співбесіда. Я проводжу кілька тестових співбесід. І відправляю «випускників» бути схожим на співбесіди до кількох контор — для досвіду.
Досвід. В резюме має бути від 3 до 6 місяців досвіду роботи. Це додає впевненості людині, яка вирішила взяти вас на роботу.
Іти працювати тільки в айтішні контори
А ще краще у великі айтішні контори. Тільки вони займаються навчанням новачків. Мета першого року роботи – отримати якнайбільше досвіду, а не грошей. Вже на позиції middle developer попит перевищує пропозицію, і зарплати починають різко зростати.
Історії з життя учнів
Як правильно просити підвищення
Історія однієї моєї учениці. — Отримувала я якось зарплату $2400. Настав черговий термін перегляду зарплати. Хочу 2800, але як домовитись? Вирішила попросити $3000 з таким розрахунком, щоб сторгуватися на 2800. Однак коли дійшло до обговорення нової суми, з'ясувалося, що вище 2600 піднімати не хочуть. Невже я більше не стою? - Подумала я, і записалася на співбесіду в сторонню фірму. За кілька днів сходила на співбесіду, там запропонували $3000 . Приходжу наступного дня на роботу, роздрукувала job offer і до менеджера на розмову. Подумав він, подзвонив кудись. За півгодини підійшов і запропонував $3200 . Задоволена дзвоню у фірму, де проходила співбесіду та кажу, що не можу у вас працювати, тому що на поточному місці роботи запропонували 3200 . Там пропонують 3400 . Зовсім вибабо з колії. Я ж уже налаштувалась продовжувати працювати, а тут такі новини. Але т.к. бойовий настрій ще був, знову пішла до шефа. У результаті отримала $3600 . Набагато більше шансів отримати прибавку до зарплати, якщо обидва (я і шеф) впевнені, що я вартий більшого.
Найшвидша кар'єра в історії
Історія номер два. Розповідаю від першої особи. Вирішив я влаштуватись на свою першу роботу. Склав резюме на позицію java junior , приписав 4 місяці досвіду в неіснуючій фірмі та пішов на співбесіду. Взяли. Попрацював три місяці. Навчав java і розбирався у проекті. Але фірма не сподобалася. Через три місяці звільнився. Посидів удома місяць, позаймався і пішов на співбесіди знову. На цей раз я вже шукав позицію java middle і, за резюме, мав рік досвіду роботи. Попрацював два місяці. Проекту з десяток років професіонали справляються, але новачкові на такому проекті дуже нудно. Звільнився. Знайшов нову роботу. Тепер у моєму резюме було півтора року стажу. На цей раз проект повністю влаштовував, але хотілося розвиватися й іншу зарплату. Повинна бути десь фірма, яку я шукаю — думав я. Попрацював три місяці. На свою останню роботу влаштувався на позицію senjor java developer. Три роки роботи в резюме вселяли повагу . Вже три роки працюю в фірмі, що сподобалася. Саме те, що я шукав. Я задоволений, замовник також. Тут головне не зупинятися. Не треба терпіти мовчки, якщо бачите, що не ваше. Не бійтеся звільнятися. Можливо ідеальна робота від вас в одній співбесіді. Ну, або у двох, трьох, чотирьох.
Тонкі моменти
Щоб бути хорошим програмістом, треба вивчити дуже багато. Неможливо це зробити без бажання вчитися та любові до програмування. Я вплітаю бажання вчитися/розвиватися в процес навчання. Це не чужі мені люди: вкладаю душу, даю цікаві завдання. Вони займаються не тому, що треба, а тому що їм цікаво. Як забуте з дитинства задоволення, коли робиш щось нове і в тебе виходить. У нашій галузі для новачка дуже важливо набратися досвіду та продовжити вчитися. Тому великі контори, які займаються подальшим навчанням джуніорів, — наше все. Моя мета — щоб мій учень потрапив до такої контори та зміг там себе реалізувати. Мої учні переконані, що програмування – це легко, цікаво та креативно. І воно ставати для них таким!
Про співбесіди
Людину можна оцінити лише за результатами її роботи, а не за резюме, куди кожен що хоче, те й пише . Зарплата часто призначається за результатами співбесіди, яка проходить до того, як людину побачабо у роботі. Як результат, часто виникає помилка оцінки кваліфікації та вкладу спеціаліста в роботу, особливо якщо роботодавець недбало ставиться до співбесіди. При справедливій оцінці ЗП $700 , можна рік працювати на $1000 на місяць, а можна і на $500. Я роблю все, щоб ця помилка, якщо вона виникне, була у бік кандидата мого учня.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ