Программисты 2022: кто они? 25 бесплатных онлайн-курсов программирования для обучения с нуля.
Вчера бsk день программиста. Статья по этому поводу. День программиста — профессиональный праздник, отмечаемый в 256-й день года. Число 256 (28) выбрано потому, что это количество различных значений, которые можно выразить с помощью восьмиразрядного байта. Также это максимальная целая степень числа 2, которая не превышает количества дней в году (365 или 366). В невисокосный год данный праздник выпадает на 13 сентября.
Программисты — это в прямом смысле культовые люди современности. В 80-90-е их представляли как парней в растянутых свитерах и роговых очках, в 2000-х как интровертных гиков, в 2020-х как новых миллионеров. Стереотипов было много. И вот на дворе осень 2022, а весь внеайтишный и часть айтишного мира пережёвывают старые стереотипы, в которых живут заумные и неопрятные интроверты, поглаживающие кота и посматривающие аниме. Коты остались, а вот программисты сильно изменились — и когда, если не в день программиста, их классифицировать?
Хороший
Олдскул — давно в разработке и может всё
Это программисты первой волны, которые начинали на Assembler и Turbo Pascal, прошли через Delphi и PHP и для них нет никакого труда освоить Kotlin, Go, Typescript и втащить их в проект. Они могут работать в компаниях (причём не всегда быть тимлидами!), удалённо разрабатывать крупнейшие энтерпрайзные сервисы в составе международных команд (SAP, Salesforce — легко, даже сейчас), пилить собственные проекты. Таких можно встретить везде: от промышленных предприятий до отделов аналитики и перспективных разработок IT-компаний. Они знают всё, умеют всё, разбираются во всём, но при этом постоянно обучаются, не останавливаясь в этом процессе. Как правило, у таких ребят есть интересное хобби или они фанатично привязаны к даче, семье, коту или домашней коллекции раритетных пеларгоний. Просто потому, что им интересно жить. Их ведёт вперёд правильная, взрослая любознательность.Работать с ним по-разному: если вы умный и целеустремлённый, они с вами легко сойдутся, станут наставником и вы получите по-настоящему ценные знания. Если менеджер с претензиями и неадекватными требованиями, то не обижайтесь: для таких маршрут построен. Вопреки мнениям и слухам, олдскулы редко бывают токсичными. Для этого есть вполне внятная предпосылка: как личность они формировались в те времена, когда большая часть коммуникаций происходила оффлайн, и они знают, что такое деловое общение. К слову, это могут быть как ребята 1970 года рождения, так и 1985-1990. Бывают и старше, и младше — здесь, скорее, дело в подходах и профессионализме.Важно, что олдскулы далеко не всегда карьеристы — для них скорее важно филигранно и грамотно выполнять свою работу на интересном им проекте. Понятное дело, что без хороших денег и грейда они не останутся, а прочее — так, мирская чушь вне величия разработки.
Интеллектуал, который постоянно расширяется
Разработчики, которые помешаны на обучении и расширении знаний и навыков. Это даже не фуллстек, это человек-компания: он пишет код на уровне сеньора, пилит спеки на уровне крутого продуктового менеджера, работает с автотестами, прекрасно презентует результаты работы, знает всё о безопасности и деплоит продукт на всё, на что его предназначено деплоить. Это те самые ребята, которые могут спокойно работать в одиночку и справляться лучше, чем внутри команды. Их можно встретить в любой команде: от стартапа на коленке до корпорации. Важное условие удержания такого специалиста: обеспечить ему условия для развития (управлять его талантами) и не принуждать к командному взаимодействию. Да, со вторым, как правило, очень плохо, особенно при наличии HR-отдела (not sarcasm), но если компания умудряется встроить такого специалиста в процессы, например, на удалёнке, то многие задачи будут закрываться буквально магически.Несмотря на нередкую «антикомандность», работать с интеллектуалами одно удовольствие: они ловят и анализируют проблемы буквально на лету, легко разбираются в сложных системах, быстро и сосредоточенно выполняют работу. В коммуникациях — умники как умники, нередко с классным чувством юмора (потому что под их мозговую мясорубку попал английский язык, все знаменитые стендаперы и классика юмористической литературы — всеядность позволяет). И вообще, их замкнутость обычно касается только работы. Это как раз те, кто активно выступают и слушают на конференциях, разгоняют на хакатонах и способны решить любые задачки на выставочных стендах, из-за чего уходят с площадки с горой плюшевых слоников, гоферов, значков и пачкой предложений о работе. Могут быть абсолютно любого возраста.Как правило, это отчасти карьеристы, но они осознают проблемы своего продвижения и скорее претендуют на хорошие, справедливые деньги. Из приятного для компаний: если интеллектуалу-одиночке комфортно на проекте, его почти нереально схантить. А вот если он не одиночка… держите мозги крепче!
Эрудит
Отличается от предыдущего типа тем, что развивается не в своём стеке, а готов безумного активно осваивать всё новое и непременно тащить это на прод. Знает всё о том, как адаптировать новые технологии и приучить к ним команду. Чаще более командный игрок. А так — интеллектуал типичный.
Узкий специалист
Развивается строго в одном стеке или даже в одной технологии. Специалист экспертного класса, который не просто выполняет рабочие задачи, но может влиять на развитие «своей» технологии, принимать участие в разработке стандартов и новых фич (таких мало, но они все как раз узкие специалисты). Хорош умением решать сложные задачи и способностью видеть «корни» ошибок и багов из-за владения всеми кишочками технологии, которой занимается. Он первым вычитывает и тестирует все релизы, пробует (и пишет) новые библиотеки, изучает сложные паттерны. Это бесспорный early birds технологий, готовый впитывать любые новые знания. Плох тем, что тяжело адаптируется к изменениям, причём не из-за сложности, а из-за личной философии («я люблю С++, я буду использовать его в проекте, он же самый удобный, гибкий и быстрый», — наверняка вы слышали такие высказывания хотя бы на Хабре).Работать с узким специалистом комфортно, на него можно положиться в профессиональных вопросах. Но принципиальности позиции и технологический фанатизм иногда вызывают приступы троллинга, фейспалма и нервного тика (зависит от стадии реализации проекта). А ещё максимально прикольно наблюдать, когда такой разработчик внезапно меняет технологию и начинает евангелировать новый язык программирования :-)Узкие специалисты редко стремятся строить карьеру, им неинтересен рост выше сеньора, но при этом они, как никто, чувствительны к справедливой оценке их заслуг.
Злой
Человек бизнеса (размышляет в ключе бизнес-задач)
Это разработчики с огромной тягой к менеджменту. Программирование для них — способ решения бизнес-задач, которые они анализируют, декомпозируют и иногда даже меняют условия. Они твёрдо знают цену человекочаса, знают, что заказчики — это не только люди вне компании, но и внутренние сотрудники, которым в работе нужна магия программирования. Именно поэтому они иногда слишком занудно требуют подробное описание задачи, составляют техническое задание и чётко приоритезируют поступающие задания исходя из их бизнес-ценности. Из них вырастают классные менеджеры продуктов и тимлиды, которые точно знают, что нужно команде и компании. Однако в профессиональной среде это негибкие программисты, которые отказываются выполнять задачи вне бизнес-целей, а это не всегда хорошо.Как правило, это отличные коммуникаторы, с которыми можно легко найти решение задачи. Можно сказать, что это «деловые программисты».В карьере тяготеют к управлению и развитию продукта, умеют развивать команду и внедрять методики управления разработкой. Как правило, это сильные, честные карьеристы, которые пробиваются в компании за счёт высокой заинтересованности в управлении бизнес-процессами и своих профессиональных навыков. Что важно, редко приходят в управление продуктом, минуя этап работы программистом (почему важно — узнаете чуть ниже).
Серийный фрилансер
Замученный формошлёп Программист, который способен быстро решать разнообразные задачи, при этом уровень качества определяется его совестью и его опытом (бывают ультра опытные и бывают очень поверхностные). Владеет несколькими смежными технологиями, чтобы забирать как можно более широкий круг задач. Продвинутые фрилансеры все как один фуллстеки, — они работают на проектах, а не на небольших задачах и востребованы не хуже прокачанных ребят из компаний. Фрилансеры сами себе прожекты, продакты и тестировщики, поэтому, как правило, неплохо выглядят и чувствуют себя в рынке.Если серийный фрилансер попадает в офис, сперва с ним непросто, потому что он просто не привык к офисным и командным паттернам. Однако благодаря тому, что они пережили десятки клиентов, они быстро адаптируются и быстро же работают. У этих ребят искажённое понимание карьеры, для них в 99% случае решают деньги. Это единственный способ их замотивировать и удержать.
Плохой
Компилятор, он же Стэковерфловер
Программист, который код больше тырит, чем пишет. Ой, простите — не тырит, а перенимает и адаптирует идеи. А нет, всё правильно: тырит. Это люди-гуглы, которые легко находят нужные фрагменты и решения и активно тащат их на прод. Как правило, паразитируют на опытных программистах, которые терпеливо правят код перед релизом. Могут считаться умными и продвинутыми — ну как раз примерно как поиск гугл: найдёт что угодно, а сам код не пишет. Не гнушаются затащить опенсорс в коммерческую систему или выдать чужое за своё. И да, это не джуны (формально). Из хорошего в них умение читать код и быстро понимать, чего не хватает. В строгих руках умного тимлида можно получить толк, если отрезать лень и доступ к пикабу, который они читают в свободное от гугления время.Особого вреда от них нет, особенно если тимлид терпеливо отсеивает всё, что потенциально может принести правовые проблемы и аккуратно обтачивает грубо вставленные куски чужих решений.Работать с такими ребятами нормально: зная свой уровень, они довольно трусливы и особо не высовываются. А вот если такого похвалить и возвысить, пиши пропало — он будет считать себя незаменимым.
Вайтишник
«Вышел с курсов срать в репы», — сказал один мой знакомый про соискателя должности разработчика. На этом можно было бы поставить точку, если бы мне не встречались такие программисты, менеджеры, тестировщики и сисадмины. Ребята выходят с курсов и полагают, что они уже мидлы (в основном по зарплате). Готовы браться за всё, при этом без подсказки поиска Hello World не напишут. В отличие от Компиляторов, даже не стремятся чему-то научиться, потому что — что? Правильно, потому что на курсах всему научили. Иногда успешно теряются в крупных ИТ-компаниях и либо подрастают внутри, либо вылетают искать нового работодателя.Как правило, дичайшие карьеристы, ведь только это могло толкнуть их на подвиг пройти обучение. Ну, во всяком случае, они так рассуждают. Карьерный путь у них тоже продуман: они меняют компании с приростом зарплаты, нередко стремятся получить в трудовую запись крутой компании (например, Яндекса или Озона), в которой они долго прожить физически не могут, но потом этой темой «пугают» нового работодателя. Готовы занять менеджерскую позицию и управлять разработчиками, потому что свистеть — не билды ворочать. Из-за карьеризма опасны: могут подсидеть, вложить и выживать любыми другими способами. Потому что мозгами получается хуже. Очень редко кто-то становится реально классным специалистом. По сути, это имитаторы и межкорпоративные перекати-поле.
Конечно, любая классификация программистов и кого-либо это лишь полушутливая формальность. Прежде всего, потому что «чистые» типы встречаются редко, обычно они меняются на протяжении своего карьерного пути или сочетают в себе черты 2-3 типов. Важно, что программисты и разработчики трансформируются: в нашем мире больше нет усреднительного понятия компьютерщика или прогера, сейчас твой уровень профессионала и твои скилы ярко выделяют тебя из остальных. И это здорово, потому что программирование — та профессия, где по блату, случайности и ради нечего делать выжить не получится. Нужно работать головой, обучаться, развиваться и двигаться вперёд.Программисты — это инженеры настоящего, которые делают жизнь каждого из нас легче, проще, удобнее, технологичнее. Они научились бороться с рутиной и создали новую рутину, они увидели бизнес-процессы сквозь код и смогли адаптировать код к процессам, они придумали массу методов защиты безопасности и ещё больше способов обойти эту защиту. Они разные: кто-то остаётся в программировании, кто-то уходит в менеджмент, кто-то бросает ИТ. Но если ты когда-то работал с кодом и постиг эту магию запуска разговора человека и машины, ты уже точно другой, куда бы ни шёл дальше. Вот это — совершенно точно.С днём программиста, друзья! Будьте такими, какими хотите быть именно вы.
25 бесплатных онлайн-курсов программирования для обучения с нуля
Осваивайте популярные языки не выходя из дома и в удобном для вас темпе.
Java
Introduction to Java Programming: Starting to code in Java
- Объём: 5 недель, 7–10 часов в неделю.
- Площадка: edX.
- Организатор: UC3Mx.
- Язык: английский.
Начальный курс для всех, кто хочет изучить язык программирования Java и стать разработчиком. Процесс построен таким образом, что слушатели в итоге смогут не только писать код, но и решать проблемы, с которыми неизбежно придётся столкнуться при создании приложений. Здесь разбирают базовые механизмы объектно ориентированного программирования, алгоритмы и программные интерфейсы API.
Основы языка Java
- Объём: 29 уроков, 37 часов.
- Площадка: «Хекслет».
- Организатор: «Хекслет».
- Язык: русский.
Слушатели этого курса научатся создавать простые программы, используя все основные конструкции языка: циклы, методы, условия и другие. Здесь также предусматриваются работа с ошибками и отладка кода.
Java. Быстрый старт
- Объём: 9 лекций.
- Площадка: GeekBrains.
- Организатор: GeekBrains.
- Язык: русский.
Практический курс по освоению Java на базе разработки небольшого проекта. Студенты научатся основам языка и потренируются в написании простых консольных приложений, а также узнают, как за несколько минут создать игру с графическим интерфейсом без применения сторонних библиотек.
Java. Базовый курс
- Объём: 23 лекции (5 часов видео).
- Площадка: Stepik.
- Организатор: Computer Science Center («CS‑центр»).
- Язык: русский.
Курс для тех, кто только начинает изучать Java. Лекции содержат материал, охватывающий синтаксис языка, компиляцию программ, основы объектно ориентированного программирования и более сложные аспекты, а также контрольные вопросы и практические задания.
Разработка мобильных приложений для Android
- Объём: 7 лекций.
- Площадка: Stepik.
- Организатор: ОмГТУ.
- Язык: русский.
Серия лекций для ознакомления с разработкой под Android, требующей базовых знаний Java. В курсе собраны только главные моменты, без углубления в детали и без использования компонентов приложений.
JavaScript
JavaScript для начинающих
- Объём: 17 лекций, 1–2 часа в неделю.
- Площадка: Stepik.
- Организатор: Stepik.
- Язык: русский.
Курс по основам разработки на JavaScript, рассчитанный на любой уровень подготовки. Рассматриваются азы программирования на этом языке, а также инструменты и модели данных, которые пригодятся для применения JavaScript на практике.
Основы языка JavaScript
- Объём: 39 уроков, 50 часов.
- Площадка: «Хекслет».
- Организатор: «Хекслет».
- Язык: русский.
Подробный онлайн‑курс, в котором рассматриваются азы JavaScript, а также все основные понятия, которые используются при программировании на нём. Слушатели научатся использовать конструкции языка на реальных примерах, а также анализировать ошибки в коде.
Kotlin
Основы программирования на языке Kotlin
- Объём: 31 лекция, 3–5 часов в неделю.
- Площадка: «Открытое образование».
- Организатор: Университет ИТМО.
- Язык: русский.
Курс даёт базовое понимание мобильной разработки для платформы Android на языке Kotlin. Слушатели изучают основы синтаксиса и конструкции для создания программ.
Python
Основы языка Python
- Объём: 44 урока, 56 часов.
- Площадка: «Хекслет».
- Организатор: «Хекслет».
- Язык: русский.
Этот вводный курс подойдёт как начинающим, так и опытным разработчикам, которые хотят познакомиться с Python. На занятиях рассматриваются основы программирования, различные примеры применения языка для решения практических задач и пишутся полноценные программы.
Программирование на Python
- Объём: 28 лекций, 3–6 часов в неделю.
- Площадка: Stepik.
- Организатор: Bioinformatics Institute.
- Язык: русский.
Подробный начальный онлайн‑курс для изучения основ Python и базовых аспектов программирования, ориентированный на людей без опыта. Слушатели познакомятся с такими понятиями, как операторы, переменные, списки, условия и циклы. Среди материалов есть обычные упражнения и необязательные задачи повышенной сложности.
Python: основы и применение
- Объём: 20 лекций, (5 часов видео).
- Площадка: Stepik.
- Организатор: Bioinformatics Institute.
- Язык: русский.
Базовый курс, посвящённый основам Python и программирования в целом. Содержит упражнения для закрепления материала, которые проверяются с указанием ошибок. В заключительной части рассматриваются реальные задачи, с которыми можно столкнуться в разработке, и даются примеры их решения.
Machine Learning with Python: A Practical Introduction
- Объём: 5 недель, 4–6 часов в неделю.
- Площадка: edX.
- Организатор: IBM.
- Язык: английский.
Вводный онлайн‑курс по основам машинного обучения на Python, который познакомит с различными видами моделирования. Слушатели освоят классификацию, кластеризацию и другие популярные алгоритмы, а также подкрепят полученные теоретические знания практическими навыками.
C++
Введение в программирование (C++)
- Объём: 12 уроков.
- Площадка: Stepik.
- Организаторы: «Академия „Яндекса“», Высшая школа экономики (НИУ ВШЭ).
- Язык: русский.
Базовый курс, который познакомит с азами C++ и поможет прибрести опыт, необходимый для более глубокого погружения в программирование. Процесс обучения построен на выполнении множества небольших практических задач, охватывающих все основные конструкции языка.
Fundamentals of C++
- Объём: 5 недель, 5–6 часов в неделю.
- Площадка: edX.
- Организатор: IBM.
- Язык: английский.
Вводный курс от экспертов IBM. На занятиях студенты освоят синтаксис и базовые принципы C++, научатся создавать функции и подготовятся к погружению в более сложные аспекты этого языка программирования.
C++ Programming: Basic Skills
- Объём: 5 недель, 2–3 часа в неделю.
- Площадка: edX.
- Организатор: Codio.
- Язык: английский.
Рассчитанный на новичков онлайн‑курс, который посвящён основам языка C++. Охватывает базовые элементы и азы объектно ориентированного программирования с примерами и заданиями.
Программирование на языке C++
- Объём: 41 урок (10 часов видео).
- Площадка: Stepik.
- Организатор: Computer Science Center («CS‑центр»).
- Язык: русский.
Подробный базовый курс по C++, в котором особое внимание уделено основным принципам работы программ и процессу компиляции. Синтаксические конструкции рассматриваются лишь на первой лекции, поэтому слушатели должны быть знакомы с понятиями «переменная», «функция», «цикл».
Углублённое программирование на C/C++
- Объём: 12 уроков (16 часов видео).
- Площадка: Stepik.
- Организатор: VK Team.
- Язык: русский.
Ориентированный на начинающих разработчиков онлайн‑курс, который предполагает знание основ C++. Материалы помогут приобрести навыки создания программ средней сложности и типовых шаблонов объектно ориентированного программирования. Также рассматриваются ключевые аспекты работы с памятью, асинхронные вычисления и диалекты.
C++ Programming using Advanced Features
- Объём: 5 модулей, 2–3 часа.
- Площадка: Alison.
- Организатор: Microsoft.
- Язык: английский.
Более сложный онлайн‑курс, в котором студенты научатся создавать быстрые программы, используя продвинутые возможности C++. Всего за несколько часов лекторы объяснят ключевые расширенные функции этого языка, которые будут закреплены практическими занятиями.
Objective‑C
Become an iOS Developer from Scratch
- Объём: 98 лекций (8 часов видео).
- Площадка: Udemy.
- Организатор: Udemy.
- Язык: английский.
Обширный и детальный курс, который является пошаговым руководством для всех, кто хочет с нуля освоить Objective‑C и научиться создавать программы для iPhone. Слушатели ознакомятся с пакетом iOS SDK и, применяя доступные инструменты, напишут своё первое полнофункциональное приложение.
Swift
Swift 5: основы
- Объём: 78 лекций (13 часов видео).
- Площадка: Udemy.
- Организатор: Udemy.
- Язык: русский.
Подробный онлайн‑курс, который подойдёт для новичков без каких‑либо предварительных знаний. В материалы включены основы теории программирования, переменные и константы, циклы и условные конструкции, а также объектно и протокол‑ориентированное программирование.
Intro to iOS App Development with Swift
- Объём: 5 лекций, примерно 1 месяц.
- Площадка: Udacity.
- Организатор: Udacity.
- Язык: английский.
Практический онлайн‑курс для тех, кто уже владеет основами, познакомит с разработкой под iOS на Swift. Слушатели изучат все нюансы этого языка программирования и создадут забавное приложение, искажающее голос (звучит как у бурундука или Дарта Вейдера).
Веб‑разработка
Введение в веб‑разработку
- Объём: 8 уроков, 3 часа.
- Площадка: «Хекслет».
- Организатор: «Хекслет».
- Язык: русский.
Курс для тех, кто хочет создавать функциональные сайты с нуля. Слушатели познакомятся с базовой терминологией веб‑разработки, возможностями HTML и CSS, узнают подробнее про хостинг и разберутся, в каких направлениях им продолжать углублённое изучение материала.
Введение в базы данных
- Объём: 23 урока (7 часов видео).
- Площадка: Stepik.
- Организатор: «CS‑центр».
- Язык: русский.
Вводный онлайн‑курс, который познакомит с методами структурированного хранения данных, основами SQL. На лекциях слушатели узнают, что такое системы управления базами данных, изучат принципы использования их в приложениях и освоят другие необходимые для работы инструменты.
Основы языка PHP
- Объём: 41 урок (52 часа видео).
- Площадка: «Хекслет».
- Организатор: «Хекслет».
- Язык: русский.
Подробный онлайн‑курс для всех желающих освоить веб‑программирование с нуля. На занятиях рассматриваются все основные принципы языка и проблемы, с которыми придётся столкнуться.
Beginner PHP and MySQL Tutorial
- Объём: 156 лекций (10 часов видео).
- Площадка: Udemy.
- Организатор: Udemy.
- Язык: английский/русский.
Объёмный курс для начинающих программистов, охватывающий все аспекты PHP и MySQL. Обучение построено таким образом, что по окончании занятий можно смело браться за разработку функциональных веб‑приложений.
Комментарии
Отправить комментарий