Обложка: Моя история в IT: как самостоятельно изучить JavaScript и Python, чтобы осуществить свою мечту

Моя история в IT: как самостоятельно изучить JavaScript и Python, чтобы осуществить свою мечту

Я закончил университет по специальности «Специалист по рекламе и связям с общественностью». Еще во время учёбы меня часто посещали идеи создания различных приложений и даже устройств. В один момент появился друг, который занимался мобильной разработкой. Я ему рассказал о своей идее, мы решили попробовать её реализовать. Я спроектировал UI приложения, придумал рекламу и вариант коммерциализации, на друге была разработка. Продукт, к сожалению, мы не выпустили: не хватило опыта, людей, времени. Однако ещё на этапе проработки идеи у меня всё чаще возникали мысли стать разработчиком.

Но путь к разработке оказался тернистым. Во время обучения в университете и после него я поработал на самых разных позициях.

Промоутер визиток по подъездам -> дворник -> PR -менеджер, менеджер по продажам -> графический дизайнер -> event-менеджер, графический дизайнер -> PR-менеджер, графический дизайнер -> графический дизайнер -> менеджер по проектам -> менеджер по проектам, помощник бизнес-девелопера -> аниматор/инструктор в пейнтбол-клубе -> помощник SEO-специалиста -> разметчик данных -> Python-разработчик.

За 5 лет работы я перепробовал многое, но меня всегда тянуло в программирование, которое я почему-то боялся освоить.

Никогда не хотел стать программистом только из-за того, что платят много (опять же, не везде так). В разработке меня привлекает комьюнити, а также реализация себя и своих идей, которые, возможно, могут помочь другим людям. Деньги — как приятный бонус за потраченное время и достижение определённых целей.

Как я учил JavaScript самостоятельно

Я начал учить JavaScript, пока работал разметчиком данных. Хотел попасть в команду разработчиков, а без знания JS там просто делать было нечего. Сначала очень долго искал информацию о предмете изучения, доставал с вопросами всех, до кого дотянутся руки, и задавал им вопросы касаемо их способов изучения языка. После всё структурировал: сохранял закладки, делал заметки, составлял списки и т.д.

В итоге мне подсказали очень крутую книгу. Я забил на всё, что делал ранее, и начал учиться по ней: «Выразительный JavaScript», автор Марейн Хавербеке. Из этой книги я получил свои основные знания по JS. Также пользовался онлайн-учебником JavaScript. Спасибо Илье Кантору и команде за этот проект — там много полезной теории и куча практики. На YouTube смотрел уроки Владилена Минина — у него классный канал, который поможет как новичку, так и продолжающему изучать язык.

Забавно, но при изучении JavaScript я постоянно поглядывал на Python. Как оказалось, не зря.

Подготовка заняла 3 месяца. Затем я выполнил задание и прошёл собеседование. Так получилось, что попал в команду, где были одни питонисты. Пришлось учить Python. Понравилась простота языка, большое количество источников для обучения и неограниченность в применении — например, в робототехнике, которая мне интересна как хобби.

Как я учил Python самостоятельно

Книги:

  • A Byte of Python, автор Swaroop Chitlur (перевод Владимира Смоляра).
  • «Изучаем Python. Программирование игр, визуализация данных, веб-приложения», автор Эрик Мэтиз.
  • «Грокаем алгоритмы», автор Адитья Бхаргава.

Курсы:

  • «Погружение в Python» от МФТИ и Mail.Ru Group на Coursera.
  • «Программирование на Python» и «Python: основы и применение» от Bioinformatics Institute на Stepik.
  • «Python для решения практических задач» от Computer Science Center на Stepik.
  • Adaptive Python от JetBrains на Stepik.

YouTube:

  • Канал Тимофея Хирьянова — это преподаватель кафедры информатики МФТИ, который выкладывает свои лекции и занятия в открытый доступ.
  • Канал АйТиБорода — очень познавательно и вдохновляюще, а также помогает найти источники для обучения. Конкретно по Python рекомендую видео «Олимпиадки, асинхронность и удалённая работа / Всё о Python / Интервью с Python Developer».

Для практики можно попробовать решать на Python задачи из Проекта Эйлера.

Я считаю себя уже опытным новичком, поэтому, думаю, могу дать несколько советов, которые помогут и вам:

  1. Пишите каждый день на том языке, который выбрали для изучения. Что-то небольшое, хоть по функции в день, чтобы выработать привычку писать код.
  2. Читайте чужой код. Тут, как и в дизайне, нужна насмотренность, плюс увиденное можно применить в своей работе.
  3. Учитесь искать ответы на вопросы в интернете. Как сказал мой коллега: «Программист от обычного человека отличается тем, что лучше гуглит». Звучит банально, но зачастую очень сильно помогает в работе, когда нет возможности уточнить у коллег, ну и +100 к самостоятельности.
  4. Окружайте себя программистами. Так у вас появится ещё больше мотивации для развития своих навыков. Возможно, зародятся совместные проекты, где вы сможете применить полученные знания на практике.
  5. Записывайте и структурируйте свои идеи и не бойтесь делиться ими с окружающими.
  6. Не бойтесь показаться глупым. Задавайте вопросы, много вопросов. Это очень крутой способ саморазвития.
  7. Не упускайте возможность и не бойтесь стать ментором для новеньких. Этот шаг очень прокачает ваши навыки объяснения, вы обязательно сами узнаете много нового.

И главное — верьте в себя и не сдавайтесь на пути к своей мечте!


Если вы хотите стать Python-разработчиком, посмотрите также дорожную карту для тех, кто изучает язык с нуля.