Перевод статьи «Let’s debunk the main myths about learning how to code».
Сколько раз вы подумывали сдаться и забросить мечты стать веб-разработчиком? И сколько раз вас к этому подталкивали другие люди, пересказывая мифы о сложностях, с которыми вы неизбежно столкнетесь?
Возможно, вы сомневаетесь в себе лишь потому, что у вас нет диплома профильного вуза. А может, боитесь, что не найдете работу. Или, предположим, вы просто думаете, будто недостаточно умны, чтобы работать с другими, «гениальными» разработчиками.
Я тимлид в компании, занимающейся разработкой. Также я выступаю в роли наставника для начинающих разработчиков. Мне часто задают вопросы о том, каково это – быть разработчиком. И еще мне часто случается слышать утверждения на этот счет, совершенно не соответствующие действительности.
Давайте рассмотрим некоторые распространенные мифы, касающиеся изучения программирования.
Миф 1. Научиться программированию можно только в университете
Часто говорят, что для того чтобы научиться писать код и в результате найти работу, непременно нужно получить университетское образование. Т.е., прежде чем вы сможете претендовать на гордый тайтл «разработчик», вам непременно нужно покорпеть над науками 4-5 лет, сидя на пиве и макаронах, и получить диплом вуза.
В какой-то период времени это было правдой. Многие компании указывали в вакансиях, что им нужен дипломированный специалист; без университетского образования не было смысла даже подавать заявку! В настоящее время крупные компании уже отошли от этой практики (и правильно сделали).
Я не говорю, что все должны бросать университет, как Стив Джобс или Марк Цукерберг. Также я не хочу как-то принизить значимость диплома: в университете вы многому научитесь и приобретете множество полезных навыков! Но времена меняются.
Если вы разработчик-самоучка и у вас есть необходимый набор навыков, работу вы найдете.
Миф 2. Чтобы стать разработчиком, нужно хорошо разбираться в математике
Я далек от того чтобы считаться экспертом в математике. Вчера мне нужно было разбить счет в ресторане на троих (£87.63), и могу сказать, что вряд ли я появлюсь на Countdown (британское телешоу с решением задач) в ближайшем будущем.
Хороший разработчик не обязательно должен быть силен в математике. Но вам точно понадобятся хорошие навыки решения задач и умение думать логически.
Вот здесь и пригождается математика. Обычно сильные в математике люди хорошо умеют решать задачи и отличаются логическим мышлением. Но это не является исключительно их особенностями. Если у вас не сложилось с математикой, не переживайте, вы все равно можете стать хорошим разработчиком, если сумеете справляться с рабочими проблемами.
Миф 3. Нужно быть мастером в том, что касается структур данных и алгоритмов
Я был джуниором, дорос до сеньора, а теперь я тимлид, но с такими вещами как сортировка пузырьком, быстрая сортировка, бинарный поиск или «поворот связного списка» я сталкивался только во время прохождения собеседований. В ежедневной работе, по крайней мере, в веб-разработке, 90% всех этих вещей используются крайне редко.
Но вам нужно знать об их существовании и о том, как все это работает! Хотя бы даже для «повышения образованности» и прохождения собеседований. Изучение структур данных и алгоритмов развивает навыки логического мышления и решения задач. И если вы решите поменять сферу деятельности и заняться финансами, наукой о данных или бэкендом, у вас будет больше возможностей использовать приобретенные знания.
Миф 4. Придется изучить все языки и технологии
Вот список того, что знаю я: JavaScript, Node.js, React.js, React Native, Java, CSS/HTML, REST API’s, Docker, базовые команды shell, основы сетей, кое-какие шаблоны проектирования.
Вот список того, чего я НЕ знаю: Angular.js, Vue.js, PHP, GraphQL, Python, Ruby, PHP, TypeScript, Serverless, C/C++, Swift…
Никто не знает всех технологий. Вам и не нужно знать всего. Компании более склонны нанимать людей, хорошо владеющих одним языком, чем имеющих поверхностные знания в нескольких похожих языках.
Если вы хотите стать эффективным разработчиком и быстро продвигаться по карьерной лестнице, выберите себе направление и изучайте технологии, необходимые для выбранного вами пути.
Миф 5. Я найду работу за несколько месяцев!
О, если бы только это было правдой! Есть множество прекрасных историй успеха людей, самостоятельно научившихся писать код и нашедших работу всего за пару месяцев. Но стоит отметить: так бывает не всегда. Прежде чем начинать путь, нужно установить какие-то реалистичные ожидания, чтобы не разочароваться, не достигнув цели за считанные месяцы.
Но, прежде чем вы закроете крышку ноутбука и решите сдаться, – я ведь не говорю, что вы точно НЕ найдете работу. Просто на это может уйти немного больше времени.
Я просто слышу, как вы спрашиваете: «А «немного» это сколько?». Ответ зависит от разных факторов, например, от:
- того, сколько у вас есть свободного времени,
- скорости, с которой вы будете овладевать технологиями, нужными в выбранной вами сфере деятельности,
- степени вашей увлеченности и мотивации,
- количества доступных вакансий в вашем регионе,
- качества вашего резюме.
Поэтому, если вы изучаете программирование несколько месяцев, а работу мечты до сих пор не нашли, – не отчаивайтесь! Чтобы попасть на свою первую стажировку, мне потребовалось пройти 20 собеседований и подать бессчетное количество заявок.
Помните, что это марафон, а не спринт, и хорошие вещи происходят с теми, кто умеет ждать.
Миф 6. Я слишком стар, чтобы учиться программировать
Когда я слышу нечто подобное, всегда вспоминаю сцену из «Звездных войн», когда Йода говорит: «Он слишком стар, чтобы начинать учиться». Вам повезло! Вы ведь хотите стать программистом, а не мастером-джедаем. Это означает, что вам не обязательно начинать в пятилетнем возрасте.
Хочу еще раз сделать акцент на том, что если вы имеете необходимый набор навыков, то найдете работу независимо от своего возраста. Свой опыт в других сферах деятельности нужно рассматривать как дополнительный плюс, потому что умение планировать, решать задачи и работать с людьми являются частью умений отличных разработчиков.
Я работал с одной дамой слегка за 40. Она была владелицей кафе и хотела научиться программировать, чтобы создать свой сайт. Теперь сайт у нее есть, и она может принимать заказы онлайн. И таких историй предостаточно.
Возможности человека безграничны. Не нужно зацикливаться на своем возрасте, лучше побольше внимания уделять учебе!
Миф 7. Все кругом учатся программировать: работы на всех не хватит
Да, это правда, все больше людей учатся программировать. И в связи с развитием технологий умение писать код скоро станет таким же необходимым навыком, как чтение или письмо.
Но вот нехватка работы это миф. И развенчать его нам поможет хороший график:
Как видите, количество рабочих мест растет. Все еще сомневаетесь? Поищите в Google «web developer jobs» и посмотрите, сколько есть вакансий.
Миф 8. Изучение программирования это дорогое удовольствие
Изучение программирования, представьте себе, ничем не отличается от изучения всего остального. Если вы учитесь фотографировать, вам не обязательно сразу бежать и покупать камеру за $3000 и треногу к ней. Если вы хотите начать заниматься бегом, вам для этого не понадобятся самые дорогие кроссовки.
Вместо этого для начала вполне можно пользоваться камерой своего телефона и старыми кедами – просто чтобы понять, нравится вам новое увлечение или нет. А уж затем, когда вы поймете, что увязли в выбранном деле, можно купить и что-то подороже.
Людям, желающим стать веб-разработчиками, я могу посоветовать то же самое. Есть множество доступных бесплатных ресурсов, которые помогут вам заглянуть в эту сферу до того, как решиться на покупку более дорогих курсов.
Например, на freeCodeCamp есть целый учебный план, следуя которому, вы сможете начать с изучения самых базовых вещей и продвигаться к более продвинутым темам. Этот курс бесплатный, а после его прохождения платный вам может и не понадобиться.
Заключение
Надеюсь, мне удалось вас убедить в том, что многие распространенные мифы – всего лишь мифы. Если вы хотите стать разработчиком, вы сможете им стать, и не важно, какой у вас бэкграунд или каково ваше финансовое положение. Усердный труд и терпение помогут вам добиться желанного результата.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]