Как вкатиться в IT?
Надеюсь, не обидится на меня одна прекрасная дама, история которой легла в основу этого поста. Нынче айти – это тренд, все говорят по высокие з/п в IT (подскажите плиз еще куда жаловаться? а то что-то я их не замечаю), разного рода курсы плодятся ежедневно, Skillbox, по-моему, выкупил весь интернет под свою рекламу. Ну и конечно же растет число желающих, которые хотят вкатиться в IT, ищут с чего начать и какие курсы выбрать.
Так вот, один из таких курсов – особенный, он «не для всех» - для того, чтобы на него попасть нужно выполнить тестовое задание. И что-то мне подсказывает, что курса-то не существует, т.к. выполнить это задание невозможно – от нас требуют получить HTTP-заголовок и при необходимости обработать ошибку (4хх) с помощью обычной HTML-формы, про использование JS, конечно же, ни слова. И всё это для получения доступа к курсу ознакомительного уровня. Естественно, решить такую задачу невозможно, т.к. без использования JS, отправка HTML-формы попросту перенесет нас на страницу отправки запроса, которая была указана в тестовом задании и доступа к редактированию которой у нас нет.
Я решил провести небольшой ликбез, выдержками из которого хочу сейчас поделиться.
1. Я негативно отношусь к курсам, особенно начального уровня, т.к. зачастую на них рассказывают о конкретных инструментах разработки, а обучение проводится на конкретных примерах. В итоге мы получаем армию программистов, которые умеют делать «свой сервис заметок» (привет, Skillbox) и впадают в ступор на первом же реальном проекте.
Учить нужно не языкам программирования, а банальной логике, принципам архитектуры приложений. Язык/фрейворк/библиотека – это лишь инструмент, и хороший разработчик без труда в течении пары дней освоит новый, не знакомый ему инструмент и даже не поперхнется.
2. 90% знаний, которые дают на курсах – не нужны. Тебя будут обучать процедурам и функциям, будут давать примеры конструкций, а ты (по привычке со школы/института) будешь всё это зубрить. Хотя, с точки зрения реальных проектов – это бесполезная информация. Ты всегда можешь загуглить описание той или иной функции и по первой же ссылке получить документацию к ней. Хотя, даже название функций помнить не обязательно – сформулируй четко, что ты хочешь сделать, добавь название ЯП или фреймворка в запрос и иди в Google – индусы со Stack Overflow уже ответили на все вопросы, которые у тебя только могут возникнуть.
В общем, как ты понял, основной навык разработчика – это умение гуглёжки.
3. Лучший стимул для прокачки навыков разработчика – это решение реальных задач. Особенно, когда под рукой нет каких-то готовых примеров или не к кому обратиться за помощью. Ты остаешься один на один с проблемой, которую необходимо решить в ограниченный срок. Ты начинаешь неистово гуглить, перебирать разные варианты запросов, копировать и пытаться переделать под себя десятки чужих примеров. И когда ты как доктор Франкенштейн воскликнешь «оно живое», ты поймешь, что получил огромный опыт, превышающий сразу несколько курсов вместе взятых.
4. Ровно как Google, официальная документация языка/фреймворка/библиотеки – лучший друг разработчика. На вопрос «с чего начать изучать» - единственно верный ответ это «главу «Введение» из официальной документации». Дальше (когда начнутся описания конкретных процедур или функций) – можно не читать, все равно не запомнишь.
Надеюсь, не обидится на меня одна прекрасная дама, история которой легла в основу этого поста. Нынче айти – это тренд, все говорят по высокие з/п в IT (подскажите плиз еще куда жаловаться? а то что-то я их не замечаю), разного рода курсы плодятся ежедневно, Skillbox, по-моему, выкупил весь интернет под свою рекламу. Ну и конечно же растет число желающих, которые хотят вкатиться в IT, ищут с чего начать и какие курсы выбрать.
Так вот, один из таких курсов – особенный, он «не для всех» - для того, чтобы на него попасть нужно выполнить тестовое задание. И что-то мне подсказывает, что курса-то не существует, т.к. выполнить это задание невозможно – от нас требуют получить HTTP-заголовок и при необходимости обработать ошибку (4хх) с помощью обычной HTML-формы, про использование JS, конечно же, ни слова. И всё это для получения доступа к курсу ознакомительного уровня. Естественно, решить такую задачу невозможно, т.к. без использования JS, отправка HTML-формы попросту перенесет нас на страницу отправки запроса, которая была указана в тестовом задании и доступа к редактированию которой у нас нет.
Я решил провести небольшой ликбез, выдержками из которого хочу сейчас поделиться.
1. Я негативно отношусь к курсам, особенно начального уровня, т.к. зачастую на них рассказывают о конкретных инструментах разработки, а обучение проводится на конкретных примерах. В итоге мы получаем армию программистов, которые умеют делать «свой сервис заметок» (привет, Skillbox) и впадают в ступор на первом же реальном проекте.
Учить нужно не языкам программирования, а банальной логике, принципам архитектуры приложений. Язык/фрейворк/библиотека – это лишь инструмент, и хороший разработчик без труда в течении пары дней освоит новый, не знакомый ему инструмент и даже не поперхнется.
2. 90% знаний, которые дают на курсах – не нужны. Тебя будут обучать процедурам и функциям, будут давать примеры конструкций, а ты (по привычке со школы/института) будешь всё это зубрить. Хотя, с точки зрения реальных проектов – это бесполезная информация. Ты всегда можешь загуглить описание той или иной функции и по первой же ссылке получить документацию к ней. Хотя, даже название функций помнить не обязательно – сформулируй четко, что ты хочешь сделать, добавь название ЯП или фреймворка в запрос и иди в Google – индусы со Stack Overflow уже ответили на все вопросы, которые у тебя только могут возникнуть.
В общем, как ты понял, основной навык разработчика – это умение гуглёжки.
3. Лучший стимул для прокачки навыков разработчика – это решение реальных задач. Особенно, когда под рукой нет каких-то готовых примеров или не к кому обратиться за помощью. Ты остаешься один на один с проблемой, которую необходимо решить в ограниченный срок. Ты начинаешь неистово гуглить, перебирать разные варианты запросов, копировать и пытаться переделать под себя десятки чужих примеров. И когда ты как доктор Франкенштейн воскликнешь «оно живое», ты поймешь, что получил огромный опыт, превышающий сразу несколько курсов вместе взятых.
4. Ровно как Google, официальная документация языка/фреймворка/библиотеки – лучший друг разработчика. На вопрос «с чего начать изучать» - единственно верный ответ это «главу «Введение» из официальной документации». Дальше (когда начнутся описания конкретных процедур или функций) – можно не читать, все равно не запомнишь.