Бери и делай: как прокачаться в программировании и разработке +9



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. Участвуйте в офлайн событиях. Хакатоны, митапы и соревнования – все это активизирует мозг и учит искать решение проблем в стрессовых ситуациях и в сжатые сроки. Горящий дедлайн на работе вас больше не испугает.

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

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

В итоге


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

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

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (9):

  1. berez
    /#19154331

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

    Это хорошо, что вы приложили инвентарную опись сразу в самом начале.
    Непонятно, каким образом ее использовать.

    • mashadrumsy
      /#19154887

      Например, чтобы в самом начале понять, что есть полезного в этой статье и есть ли сейчас время на ее чтение.

      • berez
        /#19155777

        «5 признаков, 5 советов» — это стиль Космополитен. Ни разу не видел там ни единого толкового совета, а «признаки» обычно надерганы от балды. Посему такое вступление скорее отпугивает, чем интригует.
        Да, и с чего вы взяли, что на чтение статьи уйдет именно 9 минут — тоже непонятно. Люди сильно разные и читают сильно по-разному. Тексты тоже бывают сильно разные — что-то читается легко, а что-то приходится по нескольку раз перечитывать, чтобы понять.

        Ну да бог с ним, со вступлением. Давайте почитаем, что же вы там написали.

        А кому и этого мало, держите 5 признаков заиндевелости программиста.

        Лично я вижу в этих признаках только одно: профессиональное выгорание. Если человек раньше не испытывал проблем с написанием понятного кода и с общением с коллегами, а сейчас его воротит от всего этого — тут не учиться надо, а лечиться. В отпуск длительный съездить, деятельность сменить… К психологу сходить, в конце концов.

        Впрочем, это мое личное субъективное. Продолжим чтение:

        Понимание проблемы – уже хорошо. Но наскоком прокачку навыков не взять. Начнете вы с энтузиазмом, но быстро выдохнетесь, а вместе с этим остановится и ваш рост.

        Главный вопрос в самообучении — не «как», а «зачем». Все эти абстрактные «прокачать навыки», «стать профессионалом», «повысить свой уровень», «профессиональный рост» — это все ни о чем. Это не цель.
        Цель всегда конкретна («что именно я хочу получить?»). Цель всегда направлена на определенный результат («зачем я хочу этого добиться?»).

        Здесь еще можно долго философствовать о том, что программисты бывают разные и что карьерные возможности программиста не ограничены кодингом на разных языках.

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

        Желание обобщить чужой опыт — похвально. Только получился стандартный гуру-рецепт:
        «Нужно делать как нужно, а как не нужно делать не нужно».

  2. forevist
    /#19154889

    Почему не упомянут такой ресурс как codewars? Очень много задач разделенных по уровням, возможность практиковаться на множестве языков программирования

    • mashadrumsy
      /#19154911

      Спасибо, что написали, посмотрю, добавлю.

      Ресурсов много, я и не говорю, что здесь собрала все-все. Но старалась)

  3. LuridSNK
    /#19156073

    Забавно. У меня примерно такой же список есть в .txt на домашней машине.
    Оказывается, если оформить это в удобочитаемый текст, можно получить инвайт. Обидно :)

    • mashadrumsy
      /#19156083

      Спасибо, что признали текст удобочитаемым.

      И не обижайтесь, зачем хранить полезные списки на домашней машине. Делитесь)

  4. Thseru
    /#19158325

    может тут тогда дадут совет, что делать, если энергии на это всё не хватает?

    • Gryphon88
      /#19159111

      Жёсткий тайм-трекинг, вообще всего. Тогда или можно определить, когда пинаешь балду, или найти, то урезать. Также для каждый микрозадачи ставить 2 времени: за сколько планировалось справиться в начале и сколько ушло в конце.