rss
04/18/2024
EN   UA

Час i Події

#2022-08

Ваша точка зору

Чого, на Вашу думку, найбільше бракує Україні для перемоги?
Грошей
Зброї
Ядерної зброї
Міжнародної підтримки
Совісті найвищого керівництва
Ваш варіант відповіді
Комп’ютерна сторінка \ Шлях програміста: що на тебе чекає

Від редакції:

Навіть якщо ви не збираєтеся вивчати програмування, ці поради будуть корисними - адже загалом Микола Червоний розписує методику навчання, котра пасуватиме майже для будь-якої сфери, яку ви спробуєте вивчати!

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

Розгляньмо випробування, які чекають на тебе. Задля зручності розіб'ємо їх на фази:

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

«Пустеля» - це усвідомлення складності того, чим ти займаєшся. З цієї миті тебе ніхто більше не веде за руку, і виявляється, що самостійно ти нічого зробити не можеш. Усе стає незрозумілим і заплутаним. Ти навіть не розумієш, які питання ставити, щоб почати рухатися в потрібному напрямку. Це довга й самотня подорож, коли кожен новий шлях здається правильним.

 «Підйом» - та частина, коли дорогу через «пустелю» знайдено і ти думаєш, що точно знаєш, як створювати програми. Твій код усе ще крихкий, але віра в себе зростає, і програми день за днем стають дедалі кращими.

Фаза #1: Ейфорія

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

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

Пробуй різні ресурси. Це допоможе знайти ті, що найкраще підходять саме тобі, тож треба бути відкритим до всього нового. Ігноруй поради в стилі: «Потрібно вчити тільки це й тільки на цьому курсі». Це згубний шлях, який веде в нікуди.

Не переймайся через якість своїх результатів. На даному етапі код завжди однаковий.

Визначся з курсом і дотримуйся його. Коли знайдеш потрібний, вивчи його від а до я. Так ти зможеш набути базових навичок і сформувати необхідний тип мислення. Надалі приготуйся втілювати свої власні ідеї.

Фаза #2: Пустеля

Ти впритул підходиш до межі першої фази. Заповнюєш пробіли і виконуєш завдання, у той час як впевненість і можливості зростають. Обережно! Ти переходиш до фази «Пустеля», яка є довгою й повною небезпек. З'являються думки, що в тебе досі немає знань, аби вирішити те чи інше завдання. Не варто тішити себе ілюзіями та уявляти десятки ресурсів, які піднесуть потрібні рішення. Вони знову кинуть тебе там, де тільки ти і порожнеча, куди не глянеш.

Здавалося б, урок першої фази, що не існує відповідей на все, засвоєний, але спокуса знайти порятунок надто велика. І знов не вщухає надія, що саме зараз тебе доставлять просто до точки призначення, куди іншим не вдалося дійти.

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

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

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

Читай більше чужого коду. Так ти ознайомишся з різними шаблонами коду і побачиш, як роблять інші. Розберись, чому людина зробила саме так, а не інакше. Не можна ж оволодіти майстерним письмом, не читаючи чужих книг, чи не так?

Сконцентруйся. Не відвертай свою увагу. Якщо тобі цікаво вивчати код, то ти також зацікавишся й іншими, не менш цікавими речами. У ті моменти, коли програмування дається важко, потрібно з особливою ретельністю просуватися вперед, а не хапатися за все підряд.

Фаза #3: Підйом

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

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

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

У підсумку, це відбудеться. Сили не будуть витрачені марно! Ти почнеш вчитися швидше й розумніше, ніж будь-коли раніше. Буде напрацьовано багато годин практики, і уривчасті знання стануть системою навичок професійного рівня.

«Підйом» є одним із найскладніших періодів. Підходячи до цієї фази, треба пам'ятати прості поради:

Знайди найкращу практику. Є велика різниця між рішенням і найкращим рішенням. І тобі потрібно навчитися бачити відмінність між твоїм вимученим кодом і кодом високої якості.

Стримуй амбіції. Скоріш за все, у тебе є такі прогалини в знаннях, про які ти навіть не підозрюєш. Потрібно їх знайти і заповнити.

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

Як дійти до кінця?

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

Як вчити програмування, щоб не кинути?

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

Сплануй

Планування - це перший пункт, на який варто звернути увагу. Визнач, коли і скільки ти можеш займатися. Після цього склади графік і, звичайно, дотримуйся його. Сплануй день так, щоб було можливо виділяти на програмування не менш ніж одну годину. Інакше це або розтягнеться дуже надовго, або закінчиться не почавшись. Година - мінімальний проміжок, який дозволить охопити теорію та практику. Треба розуміти, писати і розбирати приклади хорошого коду. Звісно, для цього потрібен час.

Тримай темп

Дуже важливо виділяти конкретний час на програмування щодня. Є причина, чому потрібно робити саме так. Важливо не тільки навчитися писати код, але розуміти його. Досягнути цього можна тільки тоді, коли програмування стане такою ж звичною справою, як почистити зуби. Не треба посилатись на зайнятість і відсутність часу: це все відмовки та лінощі. Нехай ти займатимешся не годину, а півгодини. Головне - сталість.

Теорія проти практики

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

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

Керуй часом

Програмувати - не так просто, як здається. Це величезна інтелектуальна робота, а коли щось не виходить, то й емоційна напруга. Година занять - це досить небагато, але якщо йдеться про 3-4 години на день, то складно залишатися сконцентрованими весь цей час. Головне - навчитись правильно організовувати час своєї роботи.

Система тайм-менеджменту - це така організація свого часу, яка дозволяє бути продуктивними та сконцентрованими, поки робота не буде виконана. Особисто мені допомогла техніка Pomodoro. Вона передбачає розбиття завдань на 25-хвилинні інтервали, які змінюються короткими перервами. Систему можна підлаштовувати під себе та обирати інтервали іншої тривалості. Усе залежить від посидючості й здатності довго концентруватися на одному завданні. Наприклад, інтервали можна зменшити до 15-20 хвилин або навпаки: якщо ти легко занурюєшся в процес, то можна їх збільшити до 30 хвилин. Потрібно лише знайти той варіант, який найкраще підходить особисто тобі.

Роби «розвантажувальні» дні

Для результату треба займатися щодня. Зрозуміло, що постійне навантаження матиме наслідки: із часом стане складніше підтримувати заданий темп, і ти зійдеш із дистанції. Для того, щоб уникнути «вигорання», визнач у своєму графіку так звані «розвантажувальні» дні. Ідея в тому, щоб відійти від буденності.

Ти можеш писати свої власні програми, не обмежуючись завданнями та прикладами, які пропонує теорія. Можеш подивитися відео, почитати блоги або пошукати вирішення проблем, які в тебе виникають. У підсумку, неважливо, чим конкретно ти займатимешся в ці дні. Головне, щоб це давало користь і цікавило особисто тебе.

Відстежуй прогрес

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

Працюй над власним проектом

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

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

 

Автор: Микола Червоний

Джерело: «STUDWAY»

Я хочу навчитися програмувати. Із чого почати?

Програміст Олег Логазяк – про ІТ, цифрових кочівників, самонавчання та дисципліну

 

Реклама

© 2006-2011 "Час i Подiї". All Rights Reserved | Chicago Web Design - Dropshipping suppliers