[Из песочницы] Бери и делай: как прокачаться в программировании и разработке

habr.png

5 признаков, что вам пора учиться, 25 онлайн-сервисов для прокачки скиллов и 5 практических советов для профессионального развития вы узнаете из этой статьи за 9 минут.

Как понять, что есть проблема


Топтаться на одном уровне навыков — дорога в никуда. Хороший программист всегда учится, и поэтому растет в профессионализме и цене. Подгоняет к этому и ИТ-отрасль, которая быстро меняется и требует свежей крови разработчиков. Свежей и квалифицированной. Так, BLS прогнозирует, что спрос на программистов к 2026 году вырастет на 24%, а текучка кадров в ИТ уже сейчас выше, чем в розничных магазинах. Потому что вместе с потребностью в кадрах растут и требования к ним.

Так что, если вы ждали знак, чтобы начать прокачиваться, то вот он. А кому и этого мало, держите 5 признаков заиндевелости программиста.

  1. Ваш код плохо понимают коллеги, а если приходится вносить в него изменения, то все ломается.
  2. Вы сами боитесь приближаться к чужому коду и править его.
  3. Вы слишком долго решаете возникающие в работе проблемы, а написание кода для вас — это борьба, а не удовольствие.
  4. Вам не интересно, а страшно учить новые языки программирования.
  5. Вы с трудом объясняете свои задачи коллегам-технарям и совсем не знаете, как говорить о работе с гуманитариями из маркетинга.


Узнали себя хоть в одном пункте? Вам нужно срочно что-то менять.

Первые шаги к решению


Понимание проблемы — уже хорошо. Но наскоком прокачку навыков не взять. Начнете вы с энтузиазмом, но быстро выдохнетесь, а вместе с этим остановится и ваш рост. Блогер-разработчик из Facebook Joma Tech считает, что для постоянных изменений каждому нужна система. Рассказываем по пунктам, как ее выстроить.

Меняйте подход.
Каникулы кончились, пора работать. Нужно вживить в свою голову понимание, что прокачивание скиллов — это не временно, так должно быть всегда. Будет сложно, иногда больно, но со временем каждый шаг вперед станет прибавлять сил.

Создавайте привычки.
Кто-то советует выделить 20% рабочего времени на развитие, кто-то считает, что хватит 15 минут в день. Джома говорит о том, что для формирования привычки нужно 3 недели. Определите, сколько времени вы можете уделять учебе ежедневно и не отступайтесь минимум 21 день.

Ставьте дедлайны.
Фиксируйте большие цели, пилите их на маленькие подцели и до достижения каждой устанавливайте свой срок. Будет хорошо, если об этом плане узнают другие люди — например, тимлид, который готов поставить вас на новый проект. Ответственность это хороший мотиватор.

Где в онлайне прокачаться


Выбирайте подходящий уровень, стек и комфортный формат. Не бойтесь пробовать новое — например, игры и челленджи хвалят как начинающие, так и опытные разработчики. Примечание: большинство сервисов на английском.

Курсы и материалы


Bento — учебные материалы по 80 языкам программирования.

Code School — курсы по разработке, программированию, работе с данными, кибер безопасности и многому другому. Можно оценить текущий уровень навыков и настроить план обучения.

Udacity — курсы от ведущих мировых инженеров и дата сайентистов. Эксклюзивные программы по блокчейн-разработке, VR, программированию робототехники и прочим остроактуальным направлениям.

Lynda — сервис от команды Linkedin с кучей видео-курсов по разным языкам программирования.

Safari Books Online — онлайн-курсы с преподавателем, материалы для изучения самому или в команде.

Coursera — программы российских и мировых университетов онлайн, большой выбор, есть бесплатные курсы.

Confreaks.tv — видео и презентации с мировых ИТ-конференций. Не можете летать — смотрите и учитесь из дома.

Сервисы для тренировок


Hacker Rank — тренировки, обучалки и задачки по выбранным вручную скиллам. Есть даже подготовка к интервью, если вы проседаете в этом.

Codeacademy — задачки для практики в веб-разработке, дата сайенс и программировании, доступ к участию в реальных проектах и учебные материалы.

Code Chef — много программистских задачек для разного уровня знаний, можно читать чужие решения. Есть ежемесячные челленджи.

Exercism — бесплатный сервис для тренировки на 48 языках программирования. После выполнения задания можно разобрать его с наставником.

Coding Bat — задачки для практики кода на Java и Python.

Leet Code — можно тестировать, отлаживать и писать проекты онлайн на 14 языках программирования.

Code jam — онлайн соревнования от Google с решением алгоритмических головоломок в несколько раундов. Тех, кто проходит в финал, ценят в крупных международных компаниях.

Project Euler — регулярные челленджи, на которых нужно решать математические и программистские проблемы.

Hacker Earth — реальные задания от компаний, среди которых IBM, Amazone, Adobe и другие. Можно пробовать решать задачи самостоятельно, а можно объединяться в команды.

Codility — тоже задания для программистов от реальных компаний, только в формате челленджей. В назначенное время и день стартует битва за три первых места — для тех, кто решил проблему быстрее всех.

Игры и интерактив


Python Challenge — игра, проходя каждый уровень которой, вы лучше узнаете язык и его возможности.

Codin Game — игры на 25 языках программирования.

Code Combat — обучение информатике и программированию через игры для взрослых и детей. Сайт переведен на русский, интерфейсы в играх на английском.

Mimo — мобильное приложение, в котором можно в легкой форме прокачивать языки от HTML до C#.

Grasshopper — мобильное приложение, которое через игры учит основам JavaScript.

Swift Playgrounds — сервис для прокачки навыков разработки под IOS с играми, задачками и головоломками.

WarriorJS — игра для изучения скриптов веб-разработки. Будете, используя JavaScript, помогать своему герою-воину пройти через препятствия.

Code Cards — виртуальные карточки, под рубашкой которых вас ждут задачи на HTML, CSS, JavaScript, Ruby and Rails. Каждый язык содержит 53 карточки с заданиями — можно выбрать один или перемешать.

Что ещё поможет вам расти профессионально


Если перерыть весь интернет (что я и сделала) и опросить практиков кода на тему «как прокачаться», то все сведется к списку из 5 советов.

В прокачке хард скиллс не стоит забывать еще и о следующих 3 вещах:

1. Читайте техническую литературу. В книгах описаны основы, которые нужно знать, а иногда не мешает и перечитать. Возможно, с новым опытом вы иначе увидите фундаментальные истины.

2. Изучайте чужой код. Open-source решения и открытые библиотеки — это богатство опыта. Читайте код лучших инженеров, пытайтесь понять, почему он написан так, а не иначе. А потом попробуйте повторить — написать изученный код с нуля самому. Принципы хорошего программирования улягутся в голове незаметно, но прочно.

3. Участвуйте в офлайн событиях. Хакатоны, митапы и соревнования — все это активизирует мозг и учит искать решение проблем в стрессовых ситуациях и в сжатые сроки. Горящий дедлайн на работе вас больше не испугает.

А если вам не наплевать на софт скиллс, то:

4. Работайте не один. Объединяйтесь в пары с более опытными разработчиками, вливайтесь в большие проекты и комьюнити. Умение работать в команде высоко ценится у ИТ-гигантов. К тому же так вы лучше научитесь объяснять техническую проблему и проговаривать ее решение. А свежий взгляд на ваш код найдет ошибки, которые вы сами уже не замечаете.

5. Делитесь опытом. Можно писать блог, преподавать на курсах и выступать на конференциях. Когда вы будете учить других, то почувствуете ответственность, а значит тщательно подготовитесь к возможным вопросам и попробуете посмотреть на привычные знания под другим углом. В итоге вы досконально разберетесь в вопросе, плюс разовьете общение, экспертизу и навыки самопрезентации.

В итоге


Постоянное развитие поможет стать продуктивным и дорогим специалистом, а главное — развеет рутину. А может, вы станете тем самым супер-программистом, который работает как 10 обычных? В любом случае пусть это будет бонусом, а не целью.

Делайте ошибки, задавайте вопросы, принимайте вызовы и не бойтесь критики и проигрышей. Воспринимайте задачи как развлечение, а сложности — как тяжесть уставших ног перед новой ступенькой. Ведь прокачка навыков точно сделает вас круче.

© Habrahabr.ru