JavaRush /Java блог /Random UA /Що потрібно розуміти програмісту-новачку?

Що потрібно розуміти програмісту-новачку?

Стаття з групи Random UA
Я б хотів вам дати мільйон корисних порад, але на думку спало всього 27. Найважливіші, на мій погляд, заховані під номерами 14 і 26. Так, я розмістив їх у такому порядку, щоб ви прочитали весь матеріал. Сподіваюся вам сподобається.
Що потрібно розуміти програмісту-новачку?  - 1
  1. Ви навчаєтесь, програмуючи. Єдиний спосіб підвищити свій рівень програмування – це програмувати. Не дозволяйте самоїдству та невпевненості не дати вам навіть спробувати.


  2. Програмування – це не підготовка до іспиту. І кількість інформації, яку ви змогли запам'ятати, не зіграє основну роль у роботі.


  3. У процесі написання коду цілком прийнятно мухлювати. Я використовую Google (Stackoverflow та інше) для вирішення багатьох завдань. І так роблять багато програмістів.


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


  5. Займатися самоосвітою – справді непросто. Обговоріть код з іншими розробниками-початківцями. Це найкращий метод навчання для більшості людей.


  6. Що потрібно розуміти програмісту-новачку?  - 2
  7. Відпустіть свої емоції. Під час навчання програмування повідомлень про помилки буде дуже багато. Робити помилки - це невід'ємна частина процесу навчання, і ви повинні не сильно морочитися з цього приводу, щоб досягти справді високих результатів.


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


  9. Існує велика різниця між великими і малими літерами. Особисто мені знадобився деякий час, щоб навчитися бачити різницю між схожими символами. І доки ви не звикнете, це може заподіяти вам деякі незручності при роботі.


  10. Не намагайтеся зрозуміти все й одразу. На самому початку я намагався з'ясувати «чому?» для кожної проблеми в кожному завданні, з яким стикався. Це не обов'язково. Комп'ютери настільки складні, що вам завжди буде що вивчати, і ви все одно ніколи не розумітимете абсолютно все. Нічого страшного.


  11. Практикуйте парне програмування (pair programming), і частіше. Це найшвидший спосіб навчитися програмувати .


  12. Що потрібно розуміти програмісту-новачку?  - 3
    Шукаєте партнера для парного програмування? Скористайтеся групами! Пропонуємо вам залишати коментарі, для початку - під цією посадою.
  13. Переписування поганого коду – це частина процесу. Раніше я думав, що кожен написаний мною шматок коду має бути ідеальним. Але насправді його поступове поліпшення – внесення виправлень до вашого коду – це нормально. Ви ж не пишете книгу, після публікації якої вже нічого не виправиш.


  14. Існує правильний спосіб звернутися за допомогою. У якийсь момент кожному може бути потрібна допомога. Але перш, ніж просити допомоги, переконайтеся, що ви зробабо наступні 4 речі (на прикладі неправильно працюючого методу):

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

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


  15. Вам не потрібно бути математичним генієм. Якщо ви не математик, це не означає, що ви не можете бути програмістом.


  16. Завжди відзначайте свої перемоги. Створення програм – це круто. І я ніколи б не досяг того, що маю зараз, якби я час від часу не оглядався назад і не оцінював результати моєї праці.


  17. Мітапи (Meet-ups) це неймовірно цінно. На початку вони мене трохи лякали, але потім я освоївся, і мені стало комфортно їх відвідувати. І як тільки це сталося, я раптом усвідомив, що існує безліч таких розробників, як і я.


  18. Що потрібно розуміти програмісту-новачку?  - 4
  19. Уникайте конфліктів при злитті коду (merge conflicts) у проектах, яких ви працюєте не один. Це зробить вас щасливішим. Мерж-конфлікти дратують. Тому коли я усвідомив, що можу уникнути роботи з ними, встигаючи замерджити до того, як це зроблять мої колеги по команді, я відчув себе щасливим.


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


  21. Вам не потрібно витрачати 10 000 годин, щоб досягти прийнятного рівня, щоб влаштуватися на роботу. Насправді вам потрібно бути достатньо професійним, щоб знати, як виправити свої помилки, і вміти зібратися і сконцентруватися на вирішенні проблем. Це займає набагато менше 10 000 годин.


  22. У якийсь момент ви думатимете про код, навіть прокидаючись рано вранці. І коли цей момент настає, це справді чудово.


  23. Припускатися серйозних помилок — це в порядку речей. Одного разу я припустився помилки, яка коштувала моїй компанії 10000 доларів. І та ситуація дозволила мені винести найважливіший урок у моїй кар'єрі програміста.


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


  25. Що потрібно розуміти програмісту-новачку?  - 5
  26. Момент усвідомлення, що ви знаєте все, і готові вирішити будь-яке завдання за допомогою програмування ніколи не настане. «Синдром самозванця» дошкулятиме вам неодноразово. Ще раз, не забувайте про те, що абсолютно нормально не знати всього. Найголовніше, щоб ви самі розуміли, що ви не знаєте.


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


  28. Примушуйте комп'ютер думати, як це робить людина. Занадто багато людей створюють враження, що вам потрібно думати, як комп'ютер. Насправді все навпаки


  29. У програмуванні важливо вибрати хороші інструменти на вирішення конкретних завдань. Є з чого вибрати: у вашому розпорядженні як мінімум є безліч опенсорс-бібліотек, інструментів та фреймворків. Отже, одне з ваших завдань — визначитися з інструментами та «заточити» їх під ваші завдання.


  30. Що потрібно розуміти програмісту-новачку?  - 6
  31. Зазвичай, ми здаємось перед тим, як досягти якихось результатів. Вивчення програмування (особливо з метою змінити професію) потребує дійсно багато роботи. Воно вимагає багато часу та самодисципліни, але це можливо. Безліч людей припускаються помилки, відступаючи в той момент, коли вони практично досягли своєї мети.


  32. Навчатися програмування – непросто. І саме тому воно того варте!


Озираючись назад, я навіть радий, що на початку свого шляху був такий наївний. Саме те, що я знав так мало, мотивувало мене критично думати про все, що я дізнався згодом. Автор: Кен Мазайка (Ken Mazaika), технічний директор, співзасновник та ментор в @thefirehoseproject.com
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ