Как стать программистом? С чего начать? (часть 1)
Я рассказываю только о том, как стать WEB-разработчиком. Поэтому, все технологии относятся только к WEB.
Так получилось, что я стал web-разработчиком. И я бы не сказал, что в эту сферу я попал случайно. Вполне осознанно. Но изначально я не знал, к чему это меня приведет, сколько шишек я набью на своем пути и как сильно эта профессия изменит мое восприятие окружающего мира и мою жизнь в целом.
Меня зовут Сергей и я начинаю цикл статей о том, как стать программистом. Здесь я буду рассказывать:
- Зачем вам это нужно
- Почему эту профеcсию стоит попробовать каждому
- Дам базовые понятие, на какие типы делятся программисты
- С чего стоит начать
- Покажу план действий при обучении
- Как не потерять мотивацию
- Буду давать ссылки на бесплатные курсы
- Расскажу о своем личном опыте
Зачем вам это нужно?
Я думаю, нет смысла рассказывать обо всем известных фактах про программистов:
- Они гребут деньги лопатой
- Работают, где и когда захотят
- Классные условия работы
- и т.д.
Если все же хочется знать сколько зарабатывают программисты, то вот вам подробная аналитка за 2020 год от Хабр.
Есть и другие вещи, которые смогут вас убедить начать кодить.
Английский
Так или иначе, вам придется читать английские статьи или документацию, на английском языке. Некоторые увидят в этом трудность и большой минус. Но, если посмотреть на это иначе, работая программистом, вы автоматически изучаете английский язык. Это позволит вам не только начать общаться с иностранцами, но и комфортно чувствовать себя за рубежом.
Релокация
Со временем ваши знания позволят устроиться в большую компанию. Некоторые из них предоставляют помощь в релокации в другую страну. Профессия программиста — это самый простой способ переехать жить в другую страну. И не просто переехать, но и иметь достойный уровень жизни в любой стране мира
Планирование
Любой программист должен уметь оценивать задачи (например в часах) и планироваться работу. Вы сможете научиться грамотно подходить к большим задача, дробить их на более мелкие и постепенно выполнять. Это станет образом жизни. Тем самым вы сможете добиваться поставленных целей в своей жизни.
Почему стоит попробовать?
Многие бояться менять свою сферу деятельности на другую. Эти страхи бывают совершенно разными:
- Курсы стоят очень дорого, нужно много денег
- Это слишком сложно
- Я гуманитарий, это не для меня
- и т.д.
Курсы дорогие
Программист — это уникальная профессия, которой можно научиться и не выходя из дома. Много курсов и статей для обучения находиться в интернете абсолютно бесплатно.
Если у вас есть желание стать программистом и достаточно денег лучше купить курсы. Но перед этим попробуйте начать учиться самостоятельно. Вдруг вам не понравиться быть разработчиком.
Сложно
Все новички сталкиваются с проблемой непонимания материалов. Но если придумать для себя систему мотивации, то станет намного легче. Например, кнута и пряника. Вы должны научиться самоорганизации. Позже я расскажу несколько методов, которые смогут в с этим помочь.
Вы гуманитарий
Программистом может стать каждый. Для этого не нужно быть сильным в математике. Достаточно базовых знаний из школьной программы. Бывают сферы программирования, где нужна высшая математика, но в эту сферу попадают, когда уже хорошо обучились кодить.
Вы можете сколько угодно придумывать оправданий почему вам не стоит этим заниматься, но если вы подумали в эту сторону и стало интересно, то почему бы не попробовать.
Конечно, у вас могут быть и другие, вполне рациональные страхи. Но правда в том, что для освоения данной профессии вам действительно нужно только время (да, иногда много времени) и желание.
Типы программистов
Есть две градации программистов. По уровню знаний и по типу выполняемой работы.
Уровень знаний определяется не только знанием различных технологий, но уровнем коммуникаций. Такие знания еще называют скилами (от англ. skills) и деляться они на два типа:
- Hard skills. Уровень знаний технологий и их количество
- Soft skills. Знания, которые касаются коммуникаций, методов планирования, управления, самоорганизации и т.д.
Как выглядит путь развития программиста по уровню знаний:
Теперь поговорим про вторую градацию. По типу выполняемой работы.
Frontend-разработчик
Занимаются разработкой внешней составляющей сайта. Превращают макет (картинку) сайта в HTML-страницу. Такой процесс называется версткой. Главная задачи таких программистов, это сделать интерфейс сайта более понятным и привлекательным для пользователя, за счет анимации, цветов и плавности работы.
Backend-разработчик
Такие программисты занимаются серверной составляющей сайта. Это невидимая часть, за которой кроется вся магия работы сайта. Работа с базой данных, спроектировать архитектуру и написать алгоритм работы сайта. По всем таким задачам, обращаются к этим ребятам.
Full stack разработчик
Это разработчики на стероидах. Они разбираются как:
- Сверстать страницу
- Прописать анимацию
- Проектировать архитектуру сайта
- Работать с базами данных
- и т. д.
Т.е. совмещают в себе frontend и backend разработчиков.
С чего начать?
Как и в любом изучении нового навыка, придется читать и слушать много теории и параллельно практиковаться.
- Новичкам, я всегда предлагаю начать обучение c frontend-разработки, а конкретно, стоит изучить
HTML
. Запомните основные теги, для чего они нужны и какие главные атрибуты у них есть. Не нужно их зубрить, просто запомните, что есть такой-то тег и он нужен для вот этого. Когда будете практиковаться, а это необходимо делать, гуглите какой тег больше подходит для той или иной задачи. Так обучение пойдет быстрее. - Когда будете практиковаться, вам придется столкнуться с
CSS
. Главное, что нужно выучить здесь - это селекторы, свойства и принципы построения сетки. - Дальше переключайтесь на изучение
JavaScript
. Этот язык программирования достаточно прост в изучении. Он позволит вам понять основные принципы программирования. Главные темы, которые стоит выучить:
- Объявление переменных
- Типы данных переменных
- Условия
- Циклы
- Функции
Если вы изучили все предыдущие темы, начинайте цикл обучения заново. Т.е. опять переключитесь на HTML, CSS или JavaScript и учите что-то новое. Процесс обучения бесконечен, вы постоянно будете находить новые штуки в этих технологиях.
И самое главное
Чтобы начать программировать, надо начать программировать. А чтобы начать программировать, надо начать программировать!
На этом пути обучения вы постоянно будете сталкиваться с проблемой потери мотивации.
Как ее не потерять и на каких ресурсах можно подтянуть свои знания, я расскажу в следующей статье. Там же я подробно остановлюсь на вопросе, что делать, если frontend-разработка вам не понравилась и, что еще необходимо знать каждому разработчику.
В своем телеграмм канале Step by Step, я публикую еще больше материалов для тех, кто хочет научиться программировать.