10 порад, як поліпшити свої навички програмування

  • 23 апреля, 15:33
  • 4443
  • 0

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

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

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

Є кілька секретних прийомів, що дозволяють неймовірно прискорити навчання. Давайте їх розглянемо.

1. Написання коду

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

Книжкові премудрості допоможуть вам тільки частково. По-справжньому ви навчитеся чомусь тільки шляхом практики.

2. Драйв

Кращий спосіб стати хорошим фахівцем в будь-якій справі - займатися цією справою. Багато і часто. Щоб вчитися, вам потрібна сильна мотивація. Один із способів мотивувати себе - дати собі час на досягнення майстерності.

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

Аналогічно, сівши за комп'ютер, ви не створите відразу ж наступний Instagram, TikTok або Fortnite.

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

Продовжуйте в тому ж дусі.

3. Концентрація

Часто доводиться помічати, як розробники намагаються вивчити все і відразу, але в результаті виходить пшик. Їх прогрес уповільнюється до стану повільного повзання (замість спринтерського бігу).

Якщо ви хочете навчитися чогось швидко, ви не можете дозволити собі розкидатися. Виберіть одну мову (почніть з JavaScript), один фреймворк (почніть з React), одну книгу, один курс, одну тему і т. д. Що б ви не вибрали, - сфокусуйтеся на цьому, поки не досягнете достатнього рівня майстерності, а вже потім переходите до чогось ще.

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

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

Так, вивчивши більше однієї мови, ви зможете дивитися на багато речей з різних точок зору і навіть краще зрозумієте свій основна мова. Але сьогодні вам не обов'язково знати багато мов. Ви цілком можете обійтися одним JavaScript.

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

4. Читання

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

5. Повторення

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

Тому, якщо ви читаєте щось цікаве - щось, що вам потрібно запам'ятати, - повторюйте це на наступний день. Перевірте, що запам'яталося. А через день перевірте ще раз. А потім ще. Робіть так 4 дні поспіль, і ви серйозно збільшите свої шанси запам'ятати вивчене надовго.

6. Чергуйте види навчальної діяльності

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

7. Працюйте над проектами

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

8. Принципи розробки цінніші за фреймворки і мови. Враховуйте це!

Фреймворки і API швидко змінюються. А принципи проектування програм практично вічні. Їх можна вивчити один раз, а потім застосовувати будь-якої мовної програмування.

Приклади принципів:

«Маленьке зміна у вимогах повинно приводити тільки до маленького зміни в реалізації», - перефразований цитата з книги «A Practical Handbook for Software Development».

Роби одну справу (Do One Thing, DOT). Спрощений варіант формулювання Дугласа Макілроя «Роби щось одне, але роби це добре» (Do One Thing and Do It Well (DOTADIW)). Цей принцип застосовується при написанні функцій. Ніяка функція не повинна відповідати і за вилучення даних, і за їх обробку, і за виведення на екран. (Саме час розбити ваші React-компоненти на більш дрібні!)

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

«Віддавай перевагу композиції, а не наслідуванню», - «Банда чотирьох», та ж книга.

Уникай shared mutable state (глобального змінюваного стану).

«Передчасна оптимізація - корінь зла», - Дональд Кнут.

«Тобі це не знадобиться». Принцип YAGNI: Не пиши непотрібний код в розрахунку на те, що він знадобиться в майбутньому.

9. Діліться знаннями, документуйте, вчіть інших

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

10. Практика, практика і ще раз практика!

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


0 комментариев
Сортировка:
Добавить комментарий

IT Новости

Смотреть все