10 помилок, яких варто уникати програмістам-самоучкам
Привіт. Мене звати Сергій. Сьогодні пропоную поговорити про навчання, а саме про самоосвіту і помилки, яких припускаються новачки в IT.
Я закінчив український виш і отримав ступінь магістра з прикладної математики. Так вийшло, що ще студентом мені довелося підпрацьовувати, викладаючи інформатику і пізніше програмування. Мені запропонували залишитися працювати викладачем в університеті, але я обрав професію програміста. Пізніше, вже працюючи програмістом, мене запросили провести курси в одній українській IT-академії. Тож я розробив і провів декілька курсів з JS та фронтенду у кількох комп’ютерних школах та академіях (моя сторінка викладача у Hillel).
Тож у статті будемо розбиратися, чи можна навчитися програмування самостійно і яких помилок варто уникати.
Помилки новачків
Сьогодні ми бачимо значне зростання попиту на IT-спеціалістів. Відповідно збільшується кількість людей, які хочуть увійти в цю сферу. У мережі все більше оголошень про різноманітні курси, які за кілька місяців обіцяють зробити з вас суперспеціаліста з великою зарплатою в доларах. Дехто вирішує навчатися самостійно, адже в інтернеті є багато інформації та безкоштовних онлайн-курсів і підручників. Які можуть трапитися перешкоди на шляху до самостійного опанування?
Ось список помилок, яких припускаються люди, які вирішили навчатися програмування:
- Йти у професію, коли не впевнений, чи подобається програмування.
- Не знайти собі ментора.
- Робити великі перерви у навчанні.
- Вчитися довго.
- Вчитися лише українською/російською мовою.
- Працювати без відпочинку.
- Незручне робоче місце.
- Покидати навчання, коли здається, що не виходить.
- Не програмувати.
- Вчити декілька різних мов програмування та фреймворків одночасно.
Читайте далі докладніше про кожен пункт і долучайтеся до обговорення в коментарях.
1. Йти у професію, коли не впевнений, чи подобається програмування
Це можна здатися жартом, але, на мою думку, це важливе питання. Я вважаю, що програмуванню може навчитися кожен, але вчитися доведеться багато і довго (програмісти це роблять фактично щодня, life learning in action), тому у декого просто бракує наснаги, під час навчання приходять думки «а чи правильну професію я обрав». Щоб досягти успіху у будь-якій справі, треба полюбити цю справу. І з програмуванням це правило працює найкраще. Якщо людина не любить програмування та комп’ютери, то не зможе займатися цим щодня по 8, 10 і більше годин. Тож перше, що потрібно для себе вирішити, — чи підходить програмування саме для вас. Звичайно, не спробувавши, важко це зрозуміти, тому тут раджу взяти безкоштовний або недорогий онлайн-курс з будь-якої мови програмування і пройти його. Опісля оцінити ваш прогрес і чи отримували ви задоволення від роботи за комп’ютером.
2. Не знайти собі ментора
З професією ви вже визначилися і впевнені, що хочете стати програмістом. Наступною поширеною помилкою є спроби навчатися самостійно. Ні, я не кажу про те, що програмування неможливо опанувати самостійно. Є багато прикладів, коли люди самі вдома навчаються і проходять багато різних онлайн-курсів. Але навчання може бути ефективнішим, якщо ви одразу знайдете собі ментора. Ментор — це людина, що має багатий досвід у темі, яка вас цікавить, і готова допомагати розвиватися в цьому напрямі.
Де ж знайти цього ментора?! Це може бути ваш друг чи знайомий, що вже має значний досвід роботи в IT. Також якщо ви потрапите на курси від IT-компанії, нерідко в них надають наставника. В Україні менторство наразі лише набуває популярності, переважно у самих IT-компаніях. Зазвичай люди раді допомогти іншим розвиватися в професії. Для досвідчених спеціалістів менторство — це можливість прокачати свої софтскіли та поділитися знаннями.
3. Робити великі перерви у навчанні
Наступна поширена помилка при вивченні програмування — це робити великі перерви під час навчання. Якщо ви проходите курс, то бажано займатися кожен день або через день. Але головне не робити перерву на тиждень і більше. Між курсами можна перепочити кілька тижнів, але не місяць або довше. Довга перерва призводить до того, що інформація забувається і потрібно все повторювати, немає можливості рухатися швидше. Часто люди, які вирішили змінити професію і почали вивчати програмування, роблять це в додатковий час. Звичайно, іноді настають моменти, коли людина перевантажена на роботі чи має проблеми в родині та робить перерву в навчанні. Наприклад, так сталося з дуже талановитим студентом на одному з моїх курсів, він працював на заводі та проходив JS-курс, пізніше планував піти на React-курс, але зробив перерву, навчання у нього затягнулося надовго, здається, він досі не знайшов роботу.
Ще один приклад стався у мене на роботі. Ми почали проходити курс з підготовки до сертифікації з AWS, і один колега поділився своїм досвідом. Він сказав, що перший раз розтягнув проходження курсу на пів року і помітив, що забуває те, що вивчав спочатку. Зробивши перерву, за місяць пройшов увесь курс і успішно склав сертифікацію. Маю зізнатися, що я практично повторив його помилку, тож мені доведеться починати курс спочатку, як знайду час. Пам’ятаймо: взявся за діло, роби швидко й сміло :)
4. Довго вчитися
А як довго потрібно вчитися? Хоч я і сказав, що програмісти це роблять постійно, але помилкою буде вчитися довго і не починати працювати. Вчитися — це, звичайно, добре, головне вчасно зупинитися. Можна все життя проходити різні курси, робити практичні роботи й так і не почати працювати. Важливо вчасно зрозуміти, що готові, й шукати свою першу роботу. Коли влаштовуєшся у компанію джуніором, іноді кажуть, що справжнє навчання лише починається. Насправді воно продовжується, але вже на іншому рівні. Звісно, багато людей мріє якнайшвидше отримати свою першу роботу і вже навчатися на практиці. Але є ті, хто боїться це робити. Вони вважають, що ще недостатньо обізнані (синдром самозванця притаманний як джуніорам, так і сеньйорам, тож тут просто треба реально оцінювати свої знання, а найкраще порадитися зі своїм ментором).
5. Вчитися лише українською або російською мовою
А якою мовою ви навчаєтеся? На жаль, переважно ми вчимося лише українською або російською мовою. Але всім відомо, що англійська є основною мовою в IT (актуальна інформація доступна зазвичай англійською, також більшість українських компаній працюють з іноземними замовниками, тому комунікація з клієнтами та їхніми командами відбувається також англійською). Тому що раніше ми почнемо використовувати матеріали іноземною мовою, то простіше буде потім. На жаль, в Україні з англійською мовою, хоч вона і стає все більш популярною, її вивчають у школі та виші, досі є проблеми. Про це я розповідав в інтерв’ю для DOU.
6. Працювати без відпочинку
Коли я казав про помилку робити великі перерви в навчанні, це зовсім не означає, що не потрібно робити перерви взагалі. Робота за комп’ютером виснажує, тож це треба робити правильно — потрібен розпорядок. Мені сподобалась лекція Marty Lobdell — Study Less Study Smart на цю тему. Робити перерви під час роботи допомагає поширена практика Pomodoro.
7. Незручне робоче місце
Крім правильного розпорядку, треба подбати про зручне робоче місце. Щоб довго і плідно працювати за комп’ютером, потрібні хороший монітор і крісло. Робота має приносити задоволення, якщо від програмування не отримувати задоволення, то швидко можна здатися та покинути навчання. Також незручне робоче місце може спричинити проблеми зі здоров’ям. Варто правильно підібрати і стіл, і крісло (наприклад, ігрові крісла часто не підходять для роботи), і освітлення, щоб не втомлювалися очі.
8. Покидати навчання, коли здається, що не виходить
Тут хтось може зауважити, що я сам казав на початку, що якщо це не ваше, то треба це зрозуміти якнайшвидше. Але тут я маю на увазі трохи інше. «Не виходить» і «не подобається» — це різні речі. Якщо вам подобається програмування, але часто щось не вдається і здається складним, то треба перебороти свої сумніви та пробувати знову й знову. Є відомий вислів Вінстона Черчилля: «Успіх — це здатність крокувати від однієї невдачі до іншої, не втрачаючи ентузіазму». Успіх часто приходить через наполегливу працю. Якщо ви кілька разів пофіксили код, а він не працює, згадайте Едісона, якого ми знаємо сьогодні як одного з найкращих винахідників усіх часів. Томас Едісон зробив 10 000 невдалих спроб перед тим, як винайшов лампочку. Деякі з нас готові здатися вже після першої невдачі. Але успішними стають ті, хто не здається. Думаю, ви знаєте і такий його вислів: «Я ніколи не помилявся. Я знайшов 10 000 способів, які не діють». Тож якщо ви знайшли декілька способів, що не подіяли, пробуйте ще і скоро ви знайдете той, що діє.
9. Не програмувати
Ще одна помилка, яка може здатися жартом, не програмувати. Але це не жарт. Доволі багато людей просто дивляться відеокурси чи слухають подкасти й чекають на свою першу роботу програмістом. Але в програмуванні так не працює. Можна скільки завгодно читати, дивитися відео, але вчимося ми лише тоді, коли програмуємо. І особливо коли працюємо над власним проєктом. Тож в IT поширеним є вислів «навчатися програмування можна лише програмуючи». Це означає, що якщо ми щось вивчили теоретично, то обов’язково це потрібно закріпити на практиці. Важливо робити різноманітні проєкти, навіть якщо поки що за них не платять. В мережі є чимало ідей для особистих проєктів. Наприклад, розробіть свою (простішу) версію твіттеру або простеньку гру на JS.
10. Вчити декілька різних мов програмування та фреймворків одночасно
Іноді здається, що якщо вивчити багато всього різного, то можна стати крутим спеціалістом і знати все. Але мов програмування, фреймворків та інструментів настільки багато, що опанувати все неможливо. Тож це помилковий шлях. Щоб почати свою кар’єру програмістом, достатньо добре знати одну мову програмування та один фреймворк. Класичними зв’язками на сьогодні я б назвав JS + Node + React (як варіант Vue), Python + Django, C# + .NET Core + React, PHP + Symfony чи Zend + React тощо. Пізніше, коли станете професіоналом в одній мові та фреймворку, можна буде вчити щось додаткове. Вузька спеціалізація допоможе вам стати спеціалістом набагато швидше.
Думаю, можна було б назвати ще багато пунктів, але кажуть, що не помиляються лише ті, що нічого не роблять. Тож якщо ви почали вчитися, припускатися помилок — це нормально. Головне на них вчитися. А які ви можете назвати помилки чи поради для новачків в IT?
50 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів