Бери и делай: как прокачаться в программировании и разработке +9
Из песочницы, Учебный процесс в IT, Карьера в IT-индустрии
5 признаков, что вам пора учиться, 25 онлайн-сервисов для прокачки скиллов и 5 практических советов для профессионального развития вы узнаете из этой статьи за 9 минут.
Как понять, что есть проблема
Топтаться на одном уровне навыков – дорога в никуда. Хороший программист всегда учится, и поэтому растет в профессионализме и цене. Подгоняет к этому и ИТ-отрасль, которая быстро меняется и требует свежей крови разработчиков. Свежей и квалифицированной. Так,
BLS прогнозирует, что спрос на программистов к 2026 году вырастет на 24%, а текучка кадров в ИТ
уже сейчас выше, чем в розничных магазинах. Потому что вместе с потребностью в кадрах растут и требования к ним.
Так что, если вы ждали знак, чтобы начать прокачиваться, то вот он. А кому и этого мало, держите
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 вещах:
- Читайте техническую литературу. В книгах описаны основы, которые нужно знать, а иногда не мешает и перечитать. Возможно, с новым опытом вы иначе увидите фундаментальные истины.
- Изучайте чужой код. Open-source решения и открытые библиотеки – это богатство опыта. Читайте код лучших инженеров, пытайтесь понять, почему он написан так, а не иначе. А потом попробуйте повторить – написать изученный код с нуля самому. Принципы хорошего программирования улягутся в голове незаметно, но прочно.
- Участвуйте в офлайн событиях. Хакатоны, митапы и соревнования – все это активизирует мозг и учит искать решение проблем в стрессовых ситуациях и в сжатые сроки. Горящий дедлайн на работе вас больше не испугает.
А если вам не наплевать на
софт скиллс, то:
- Работайте не один. Объединяйтесь в пары с более опытными разработчиками, вливайтесь в большие проекты и комьюнити. Умение работать в команде высоко ценится у ИТ-гигантов. К тому же так вы лучше научитесь объяснять техническую проблему и проговаривать ее решение. А свежий взгляд на ваш код найдет ошибки, которые вы сами уже не замечаете.
- Делитесь опытом. Можно писать блог, преподавать на курсах и выступать на конференциях. Когда вы будете учить других, то почувствуете ответственность, а значит тщательно подготовитесь к возможным вопросам и попробуете посмотреть на привычные знания под другим углом. В итоге вы досконально разберетесь в вопросе, плюс разовьете общение, экспертизу и навыки самопрезентации.
В итоге
Постоянное развитие поможет стать продуктивным и дорогим специалистом, а главное – развеет рутину. А может, вы станете тем самым
супер-программистом, который работает как 10 обычных? В любом случае пусть это будет бонусом, а не целью.
Делайте ошибки, задавайте вопросы, принимайте вызовы и не бойтесь критики и проигрышей. Воспринимайте задачи как развлечение, а сложности – как тяжесть уставших ног перед новой ступенькой. Ведь прокачка навыков точно сделает вас круче.
Вы можете помочь и перевести немного средств на развитие сайта
Это хорошо, что вы приложили инвентарную опись сразу в самом начале.
Непонятно, каким образом ее использовать.
Например, чтобы в самом начале понять, что есть полезного в этой статье и есть ли сейчас время на ее чтение.
«5 признаков, 5 советов» — это стиль Космополитен. Ни разу не видел там ни единого толкового совета, а «признаки» обычно надерганы от балды. Посему такое вступление скорее отпугивает, чем интригует.
Да, и с чего вы взяли, что на чтение статьи уйдет именно 9 минут — тоже непонятно. Люди сильно разные и читают сильно по-разному. Тексты тоже бывают сильно разные — что-то читается легко, а что-то приходится по нескольку раз перечитывать, чтобы понять.
Ну да бог с ним, со вступлением. Давайте почитаем, что же вы там написали.
Лично я вижу в этих признаках только одно: профессиональное выгорание. Если человек раньше не испытывал проблем с написанием понятного кода и с общением с коллегами, а сейчас его воротит от всего этого — тут не учиться надо, а лечиться. В отпуск длительный съездить, деятельность сменить… К психологу сходить, в конце концов.
Впрочем, это мое личное субъективное. Продолжим чтение:
Главный вопрос в самообучении — не «как», а «зачем». Все эти абстрактные «прокачать навыки», «стать профессионалом», «повысить свой уровень», «профессиональный рост» — это все ни о чем. Это не цель.
Цель всегда конкретна («что именно я хочу получить?»). Цель всегда направлена на определенный результат («зачем я хочу этого добиться?»).
Здесь еще можно долго философствовать о том, что программисты бывают разные и что карьерные возможности программиста не ограничены кодингом на разных языках.
Желание обобщить чужой опыт — похвально. Только получился стандартный гуру-рецепт:
«Нужно делать как нужно, а как не нужно делать не нужно».
Почему не упомянут такой ресурс как codewars? Очень много задач разделенных по уровням, возможность практиковаться на множестве языков программирования
Спасибо, что написали, посмотрю, добавлю.
Ресурсов много, я и не говорю, что здесь собрала все-все. Но старалась)
Забавно. У меня примерно такой же список есть в .txt на домашней машине.
Оказывается, если оформить это в удобочитаемый текст, можно получить инвайт. Обидно :)
Спасибо, что признали текст удобочитаемым.
И не обижайтесь, зачем хранить полезные списки на домашней машине. Делитесь)
может тут тогда дадут совет, что делать, если энергии на это всё не хватает?
Жёсткий тайм-трекинг, вообще всего. Тогда или можно определить, когда пинаешь балду, или найти, то урезать. Также для каждый микрозадачи ставить 2 времени: за сколько планировалось справиться в начале и сколько ушло в конце.