Чому так багато розробників кидають роботу, перш ніж отримати роботу. Будь ласка - не робіть.

"Прототипи, об'єкти, алгоритми ... ті маленькі кроки між кроками, які ви не знаєте, як реалізувати. Grrr ... мислячи як програміст".

Закінчіть це речення:

Моїм останнім сеансом кодування було ...

  1. Гладка, як шовк. Я зручно сів, запалив редактора і занурився в чудовий світ 0 і 1. Ці 3 години пройшли як 30 хвилин!
  2. Дуже нудно. Я ледве змусив себе сісти і кодувати. Ніщо не працювало дуже добре, постійно з’являлися помилки, і все ще не все для мене має сенс. Ці 30 хвилин відчували себе як 3 години!

Я думаю, це відповідь №2.

І не тому, що це так часто і теж траплялося зі мною (навіть після 8 років програмування).

Відповідь №1 дивна. Хто навіть так розмовляє?

Добре-добре. Ми поговоримо про перевагу в програмуванні. Я знаю , що ми всі були там - це відбувається спосіб занадто часто , і ми ненавидимо його.

Але я намагався заглибитися.

За останні кілька років я мав справу з багатьма молодшими розробниками. У тому числі деякі, хто:

  1. Нещодавно увірвався у технології і почувався загубленим
  2. Вони застрягли на "етапі підручників" і стискалися щоразу, коли їм доводилося кодувати без нагляду
  3. Насправді були талановитими, але зазнали невдач на співбесідах або навіть не отримали дзвінка

Де точка зламу?

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

Я спілкувався з колегами у своїй компанії. Я досліджував групи Facebook, форуми, веб-сайти з питаннями та відповідями, величезні теми Reddit і навіть опитував кілька невеликих спільнот.

Ось частина того, що я знайшов:

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

І мій улюблений:

«Це те, що я дізнався про навчання кодуванню: Ви відчуваєте себе розгубленим і абсолютно негідним, як 99% випадків. Але одного разу, коли ти щось змушуєш працювати, це МАГІЯ ».

Ви щось помічаєте?

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

У них просто не вистачає досвіду.

Тим не менше, багато з цих людей були на межі відмови від програмування.

До чого це зводиться - Два міфи

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

Я хочу зруйнувати їх прямо зараз і, сподіваюся, уникнути надмірного та додаткового тиску, який вони чинять на учнів.

Міф No1: Якщо ви не любите програмувати, це не для вас.

Це те, що я чую, що програмісти-початківці багато говорять .

І я абсолютно не згоден.

Ні, вам не потрібно любити програмування, щоб стати програмістом. Насправді понад 50% професійних розробників іноді ненавидять це (моє особисте спостереження).

Дивіться, приємно, коли ви вирішуєте проблему елегантно. Це добре, коли ваш код акуратний, чистий, добре перевірений і вирішує проблеми людей.

Але це не 100% часу - навіть віддалено. Більшість робочих днів програмістів не минають повз них, думаючи:

"О, як я застосував шаблон дизайну введення залежностей, щоб елегантно роз'єднати мої класи та зробити мою базу коду простішою для обслуговування в майбутньому". (само-високий-п'ять)

Ні.

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

Цілком добре, якщо ти іноді ненавидиш програмування.

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

Міф №2: Я так багато не знаю. Я ніколи не навчусь усього цього!

Це ще одна дуже поширена думка (можливо, важливіша за міф №1). Я чув, як багато моїх читачів скаржаться на це. І я абсолютно бачу аргументацію за цим.

Ми в такому широкому полі, що чим глибше копаєшся, тим більше розумієш, що не знаєш.

Навіть думаючи про це, мені стало погано. Людина, це що легко отримати перевантажені.

Хороша частина: вам не потрібно все знати. Вам потрібно знати достатньо, щоб знати, як дізнатися те, чого ви не знаєте.

На даний момент переконайтеся, що ви знаєте основи високого рівня того, з чим працюєте.

Підкріпимо це прикладом.

Якщо ви експериментуєте з CSS, ви повинні знати, що це для застосування стилів до елементів HTML. Ви можете зробити кнопку, яка має межу, колір, тінь або анімацію. Ви не можете сказати, що має статися, коли ви натискаєте кнопку (для цього вам потрібен JavaScript).

Отже, якщо вам потрібно анімувати зображення при натисканні кнопки:

  1. По-перше, ви повинні мати зображення та елементи кнопки (HTML)
  2. Тоді ви можете встановити анімацію для певного класу (CSS)
  3. І ви можете додати клас до зображення при натисканні кнопки (JavaScript)

Скажімо, ви прочитали це в підручнику один раз. Через тиждень ви повинні додати тінь до зображення під час надсилання форми. Ви знаєте, на що звертати увагу. Ви загально розумієте HTML, CSS та JavaScript і за яку частину вони відповідають у цій функції.

Решта гуглить правильні слова. У цьому випадку “css add shadow” та “javascript callback form submit”.

Подивіться, що ми там зробили?

Навчання програмуванню «правильним» способом

Як ви бачите і, мабуть, знаєте з власного досвіду, вивчення програмування вимагає часу - іноді років. Незважаючи на те, що говорять деякі курси "вивчайте програмування за 2 тижні"

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

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

Існує звичка максимізувати тривалість навчання, і це називається «Повільно вчитися».

Це дещо інший спосіб наближення до підручників, який:

  1. Робить програмування веселішим (оскільки нудьга є загальною проблемою)
  2. Робить вас менш залежними від навчальних посібників
  3. Використовує гейміфікацію

Ви можете спробувати це за допомогою цієї 4-хвилинної вправи в кінці статті. Повідомте мене, як це відбувається!

Ця публікація була спочатку опублікована на MyFirstITJob.

Що далі?

Не здаватися і ефективно вчитися - це чудово - але іноді недостатньо, щоб отримати роботу програміста.

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