Програмісти кажуть, що вчитись треба все життя. І це правда, як у будь-якій професії: юрист перечитує зміни до законів, маркетолог вивчає іноземну практику та нові інтереси аудиторії. Програміст – вчить популярні мови програмування.
У статті ділимося прийомами, як стати програмістом без 10 тисяч годин практики та 100 книг. Ви не витратите життя або 5 років в університеті, щоб написати перший код.
Менше читайте, більше робіть руками
Часто новачки купують книги на 1000 сторінок, підписуються на тематичні блоги та паблики. Вважають, що знань багато не буває. Чим більше інформації прочитають, тим краще програмуватимуть. Але програміст — це не теоретик, а практик.
Неможливо навчитись графічному дизайну після першого уроку, якщо ніколи не відкривали Photoshop. І не зібрати ракету, якщо немає навичок з креслення та конструювання. Людина не вчиться програмування, доки не пише код. Книги, курси, відео – сприйняття інформації, але не практика.
Середня швидкість читання – 50 сторінок на годину. Книгу на 1000 сторінок людина прочитає за 20 годин. Запитайте, що така людина запам'ятала із усієї книги і зрозумієте, чому люди або нічому не вчаться з книг, або перечитують по 10 разів. Хочете вчитися довше — читайте і нічого не робіть. |
Зупиніть інформаційний голод. Зосередьтеся на одній книзі чи курсі. Наприклад, вирішили вивчати C++. Дочитали до змінних — одразу практикуйтесь. Відкрийте редактор коду (наприклад, Visual Studio) та відпрацюйте тему.
Подивіться на приклад із книги та перепишіть у редактор. Підставте, різні значення, переставте місцями, перевірте роботу. Тільки так зрозумієте сильні та слабкі сторони — що повторити та чи можна вчити наступний розділ. Це як працювати у майстерні: можна роками читати, як працює верстат. А коли справа дійде до практики, нічого не зрозуміти і вчитись заново.
Читайте книжки, читайте код. І запускайте, щоб перевірити роботу на практиці
Друга проблема — написати код за прикладом із книги і далі з ним нічого не робити. Людина думає, що якщо написав за підручником чи порадами професіонала, то все правильно.
Розглянемо на прикладі з ракетою. Інженер цілодобово переглядає креслення. Він вивчив кожен малюнок, лінію, деталь. Вночі спитай, як влаштований реактивний двигун — перерахує елементи на пальцях. Але Ніл Армстронг не приземлився на Місяць. А Гагарін не облетів Землю. Інженеру вистачило вивчити креслення. А ракети сенсу будувати немає, вона й так правильна.
Довіряй але перевіряй. Чи сумує математична програма змінні 5 і 2 у цифру 7. А які файли збирає архіватор: чи додає документи та картинки, чи тільки картинки. Розберетесь, як влаштований код та його елементи — зробите навіть краще за приклад. Не доведеться перечитувати підручник. Або купувати новий курс, бо у старому нічого не зрозуміло.
Тестуйте все, що написали із книг, курсів, відео на Youtube. Ще варіант — скористатися шаблонами коду. Це допоможе, коли звернутися за порадою немає до кого. А книги старіють, взяти актуальні приклади навряд чи вдасться.
Ось кілька варіантів із шаблонами:
-
Маркетплейс програм codester.com. Дивіться приклади з найбільшим рейтингом – це програми без помилок.
-
Шаблони проектів Visual Studio для C++ та C# (безкоштовно).
-
6000 тисяч платних шаблонів для Android та iOS на codecanyon.net
-
Попросіть у колег на форумах, у тематичних групах.
А можна йти на курси, де не потрібно шукати шаблони. Замість перечитування та запуску коду ви практикуєтесь у правильному напрямку. Є помилка — виправляємо і розповідаємо, чому так. Без Google та форумів. Перейдіть за посиланням, щоб дізнатися більше про навчання в IT STEP.
Використовуйте налагодження програмного коду, щоб вчитися на помилках
Найкраща практика — знайти проблему та вирішити її. На конкретному прикладі людина розуміє, де не потрібно помилятися і як робити правильно. Щоб знайти помилку у коді, програмісти використовують кілька методів. Для новачків вистачить готових інструментів налагодження.
Припустимо, що ви написали код для гри Fallout. Користувач запускає гру та отримує помилку.
Гра не працює, програміст помилився. Початківець піде за відповідями на форуми або до досвідчених програмістів. Швидше за все, отримає відповідь та виправить помилку. У цьому варіанті людині не пояснили, де і чому він зробив неправильно. Якщо трапиться аналогічна проблема, програміст знову піде на форум за відповідями.
У школі любителі шпаргалок діляться на 2 групи. Перші готували відповіді з Інтернету, приходили на контрольну та списували. Другі писали у шпаргалку відповідь і дивилися, чому так. Поведінка груп відрізняється і на наступних заняттях:
-
Якщо шпаргалка неправильна: перший — списав і отримав двійку, а другий — побачив помилку вдома і зробив правильну шпаргалку.
-
Якщо у новій темі методи, терміни з минулої: перший — нічого не розуміє, другий — аналізував минулу тему та відповіді на шпаргалку, може зробити нову хатку та підготуватися до контрольної.
Щоб навчатися швидше, наслідуйте прикладу другої групи. У вас є готовий код – приклад із книги, курсу. Це шпаргалка. Зробіть у прикладі помилку. Потім перевірте код через налагоджувач (debugger).
Ось як це працює на прикладі редактора коду Visual Studio.
Режим налагодження запускається за допомогою клавіші F5
Налагоджувач прочитує код: рядок за рядком. Якщо з'явиться помилка, він розповість про неї кількома способами:
-
Червоне підкреслення – виправляйте помилку.
-
Зелене підкреслення – вивчіть заувадження. Якщо рядок або змінна не заважає коду виконувати завдання – пропускайте.
-
Винятки, як у прикладі нижче.
Повідомлення показує, що рядок коду не зчитує дані.
Microsoft Visual Studio написали документацію з розділом «Налагодження». Якщо вивчили теорію і готові аналізувати помилки, прочитайте посібник і спробуйте на шаблоні з помилками від Visual Studio. Керівництво доступне російською мовою.
Резюме
Менше читайте, а робіть руками. Світ програмування пізнається лише через метод спроб і помилок. Якщо ви самоучка — зможете вчитися швидше та не купувати 10 тисяч сторінок книг.
Інший варіант скоротить 5 років інституту до 2.5. Або рік аналізу помилок у 6 місяців навчання з викладачем. 2 рази на тиждень разом із колегами ви вирішуєте практичні завдання, знайомитеся з програмуванням та з перших тижнів працюєте над портфоліо. Ці проекти не соромно показати на співбесіді. А набутого досвіду вистачить, щоб стати ментором і допомагати іншим.