Цель курсов Девмана — подготовить программистов, умеющих писать код, который легко читать, поддерживать и расширять.
Девман изначально появился именно как решение проблемы недостатка квалифицированных бэкендеров.
💻 Уметь писать код — значит автоматизировать навык, проделать это много раз. А не просто прочитать книгу/статью/документацию и пересказать.
🗣 Лекции. Сначала пробовали пойти по классическому пути чтобы обучить разработчиков — Евгений читал курс по выбору в МГТУ им. Н.Э. Баумана.
Результат — всего двое студентов выполняли домашние задания и смогли что-то показать на выходе. Но и они не были готовы с ходу включиться в проект и усваивали лишь малую часть материала. Так классический подход был отметён.
🚀 Обучение действием. По данным исследований уже в течение первого часа забывается до 60% всей прочитанной или услышанной информации, через 10 часов в памяти остаётся 35% от изученного.
Learning-by-doing или обучение действием — это практический метод обучения, который популяризировали в 80-е, а начали применять еще в древние времена.
Идея простая: чтобы стать программистом, надо программировать. Мы решили использовать этот подход и собрали из реальных проектов учебные. Ученик выполняет проект, пишет код с самого первого урока «Раскрутите планету», а теорию читает под конкретную задачу.
🎬 Видео или текст? Видео в уроках Девмана почти нет. Разовые исключения сделаны в случаях, когда надо познакомить с интерфейсом или с основными концептами новой технологии.
Текст экономит время — больше останется на программирование.
Текстом удобно пользоваться — искать фрагменты, копировать код.
Чтение — активный мыслительный процесс, который может быть эффективнее для запоминания. Долой видео, да здравствует Энциклопедия!
Практические уроки Девмана сами по себе лишь наметили бы маршрут для самообучения, если бы не секретный ингредиент… код-ревью!
👉 Попробуйте написать свой первый код на Python в уроке «Раскрутите планету» (кстати, он бесплатный!) или победите первого чат-бота со статьей «Как учить Python с нуля с удовольствием: пишем своего чат-бота».
Какие форматы уроков вам нравятся больше всего и что помогает запоминать информацию? Поделитесь своим опытом обучения в комментариях ➡️
Девман изначально появился именно как решение проблемы недостатка квалифицированных бэкендеров.
💻 Уметь писать код — значит автоматизировать навык, проделать это много раз. А не просто прочитать книгу/статью/документацию и пересказать.
🗣 Лекции. Сначала пробовали пойти по классическому пути чтобы обучить разработчиков — Евгений читал курс по выбору в МГТУ им. Н.Э. Баумана.
Результат — всего двое студентов выполняли домашние задания и смогли что-то показать на выходе. Но и они не были готовы с ходу включиться в проект и усваивали лишь малую часть материала. Так классический подход был отметён.
🚀 Обучение действием. По данным исследований уже в течение первого часа забывается до 60% всей прочитанной или услышанной информации, через 10 часов в памяти остаётся 35% от изученного.
Learning-by-doing или обучение действием — это практический метод обучения, который популяризировали в 80-е, а начали применять еще в древние времена.
Идея простая: чтобы стать программистом, надо программировать. Мы решили использовать этот подход и собрали из реальных проектов учебные. Ученик выполняет проект, пишет код с самого первого урока «Раскрутите планету», а теорию читает под конкретную задачу.
🎬 Видео или текст? Видео в уроках Девмана почти нет. Разовые исключения сделаны в случаях, когда надо познакомить с интерфейсом или с основными концептами новой технологии.
Текст экономит время — больше останется на программирование.
Текстом удобно пользоваться — искать фрагменты, копировать код.
Чтение — активный мыслительный процесс, который может быть эффективнее для запоминания. Долой видео, да здравствует Энциклопедия!
Практические уроки Девмана сами по себе лишь наметили бы маршрут для самообучения, если бы не секретный ингредиент… код-ревью!
👉 Попробуйте написать свой первый код на Python в уроке «Раскрутите планету» (кстати, он бесплатный!) или победите первого чат-бота со статьей «Как учить Python с нуля с удовольствием: пишем своего чат-бота».
Какие форматы уроков вам нравятся больше всего и что помогает запоминать информацию? Поделитесь своим опытом обучения в комментариях ➡️
dvmn.org
Курс Python-разработчик: обучение программированию на Python для начинающих
Обучение веб-разработке на Python до уровня Middle. Курс Python-разработчик от Devman с сертификатом и гарантией трудоустройства. Обучись языку программирования и стань востребованным специалистом.
🔥6👍2❤1
Делимся историей нашего ученика Тимура о том, как Devman помогает решать реальные практические задачи.
Тимур пришел к нам с конкретным запросом — нужен курс, в результате прохождения которого, он сможет сам разработать платформу для трекинга командировок.
👉 Читайте, что из этого вышло в статье!
Тимур пришел к нам с конкретным запросом — нужен курс, в результате прохождения которого, он сможет сам разработать платформу для трекинга командировок.
👉 Читайте, что из этого вышло в статье!
👍3🔥3
Код-ревью — это практика в разработке программного обеспечения, когда более опытный специалист просматривает код и по итогам дает автору список улучшений, которые нужны, чтобы влить код в основную ветку проекта.
Ревью не столько помогает отловить баги и ошибки в работе программы — это все-таки больше к тестированию, сколько – сделать код легко читаемым, масштабируемым, стабильным и безопасным.
⚡️ Код-ревью от действующего разработчика — ключевое звено методики Девмана. Ученик получает список улучшений, которые расскажут про best practice, помогут сделать код оптимальнее, изящнее, чище. Код-ревью позволяет сократить время обучения в разы, подняв планку качества кода наших выпускников до уровня джун+/миддл.
⚡️ Чистота кода. В Python есть обязательный стандарт PEP8, в котором рассмотрены правила форматирования и наименования объектов.
В интернете можно найти много книг по чистоте кода. Но в требованиях к коду нет единства. Общепринятого списка лучших практик в одном учебнике не найти.
⚡️ Улучшения Девмана. Улучшения всегда имеют блок мотивации — чем предложенный вариант кода лучше и в какой ситуации.
Почти всегда улучшение сводится к усовершенствования читаемости, возможностей поддержки и/или наращивания функционала.
Для ревьюеров действует правило «не уверен — не штрафуй». Если разработчик не может аргументировать, чем предложенный вариант лучше, то вариант отклоняется.
Никаких безосновательных требований из серии «непреложная истина — просто делай так и не спрашивай».
Если уверены, что в данной ситуации предложенное проверяющим решение не оптимально — аргументируйте. Опирайтесь на конкретные кейсы. «Потому что Вася сказал» — не работает в обе стороны.
⚡️ Контекст важен. Код оценивается только применительно к конкретной ситуации. ООП незаменимо для Django ORM, но использование его для пары запросов через API усложняет поддержку и чтение кода. Не надо забивать гвозди микроскопом!
⚡️ Накопление опыта. В Девмане накоплен почти 20-летний опыт веб-разработки, которые позволяет сделать код стабильный, расширяемым и простым для поддержки.
Да-да, автор курса Евгений начинал, когда еще даже первую Джангу только готовили к релизу! База улучшений Девмана – это больше, чем опыт одного разработчика. Это копилка, куда мы собираем опыт многих специалистов.
⚡️ Критика или советы. Улучшения не нужно рассматривать как список ошибок или критику. Вы выполнили урок, код работает! Уже победа! Но предусмотреть все проблемы, не имея опыта разработки и поддержки ПО невозможно.
Во время обучения лучше максимально «наступить на грабли» и разобраться во всех неудачных решениях, которые приходили в голову. Чтобы на выходе действительно владеть и применять к месту лучшие практики Python.
⚡️ Пропустить нельзя. Все улучшения придется выполнить.
Во-первых, вы получаете проект, который не стыдно добавить в портфолио.
Во-вторых, вы не будете повторять неудачные решения в последующих уроках. По этой же причине нельзя получить доступ к следующему уроку, не сдав предыдущий.
А вот проходить несколько тем параллельно наоборот рекомендуем. Так и разнообразнее, и не теряется время, пока ждёте ревью.
В разработке часто используют именно блокирующие код-ревью, когда без него нельзя влить код в main-ветку проекта. Правило блокирующих ревью действует для всех уроков Девмана.
➡️ Попробуйте код-ревью при прохождении бесплатных уроков в модулях «Основы Python», «API веб-сервисов» и «Знакомство с Django: ORM». Или записывайтесь на тестовый урок курса «Профессия Middle Python/Django разработчик» — расскажем подробно о том, как проходит код-ревью!
Узнайте в Энциклопедии, какой код называется чистым и наши рекомендации по форматированию кода:
➡️ Что такое чистая функция
➡️ Понятные названия
➡️ Форматирование кода
У вас был опыт код-ревью на курсах или на работе? Делитесь впечатлениями в комментариях!➡️
Ревью не столько помогает отловить баги и ошибки в работе программы — это все-таки больше к тестированию, сколько – сделать код легко читаемым, масштабируемым, стабильным и безопасным.
⚡️ Код-ревью от действующего разработчика — ключевое звено методики Девмана. Ученик получает список улучшений, которые расскажут про best practice, помогут сделать код оптимальнее, изящнее, чище. Код-ревью позволяет сократить время обучения в разы, подняв планку качества кода наших выпускников до уровня джун+/миддл.
⚡️ Чистота кода. В Python есть обязательный стандарт PEP8, в котором рассмотрены правила форматирования и наименования объектов.
В интернете можно найти много книг по чистоте кода. Но в требованиях к коду нет единства. Общепринятого списка лучших практик в одном учебнике не найти.
⚡️ Улучшения Девмана. Улучшения всегда имеют блок мотивации — чем предложенный вариант кода лучше и в какой ситуации.
Почти всегда улучшение сводится к усовершенствования читаемости, возможностей поддержки и/или наращивания функционала.
Для ревьюеров действует правило «не уверен — не штрафуй». Если разработчик не может аргументировать, чем предложенный вариант лучше, то вариант отклоняется.
Никаких безосновательных требований из серии «непреложная истина — просто делай так и не спрашивай».
Если уверены, что в данной ситуации предложенное проверяющим решение не оптимально — аргументируйте. Опирайтесь на конкретные кейсы. «Потому что Вася сказал» — не работает в обе стороны.
⚡️ Контекст важен. Код оценивается только применительно к конкретной ситуации. ООП незаменимо для Django ORM, но использование его для пары запросов через API усложняет поддержку и чтение кода. Не надо забивать гвозди микроскопом!
⚡️ Накопление опыта. В Девмане накоплен почти 20-летний опыт веб-разработки, которые позволяет сделать код стабильный, расширяемым и простым для поддержки.
Да-да, автор курса Евгений начинал, когда еще даже первую Джангу только готовили к релизу! База улучшений Девмана – это больше, чем опыт одного разработчика. Это копилка, куда мы собираем опыт многих специалистов.
⚡️ Критика или советы. Улучшения не нужно рассматривать как список ошибок или критику. Вы выполнили урок, код работает! Уже победа! Но предусмотреть все проблемы, не имея опыта разработки и поддержки ПО невозможно.
Во время обучения лучше максимально «наступить на грабли» и разобраться во всех неудачных решениях, которые приходили в голову. Чтобы на выходе действительно владеть и применять к месту лучшие практики Python.
⚡️ Пропустить нельзя. Все улучшения придется выполнить.
Во-первых, вы получаете проект, который не стыдно добавить в портфолио.
Во-вторых, вы не будете повторять неудачные решения в последующих уроках. По этой же причине нельзя получить доступ к следующему уроку, не сдав предыдущий.
А вот проходить несколько тем параллельно наоборот рекомендуем. Так и разнообразнее, и не теряется время, пока ждёте ревью.
В разработке часто используют именно блокирующие код-ревью, когда без него нельзя влить код в main-ветку проекта. Правило блокирующих ревью действует для всех уроков Девмана.
➡️ Попробуйте код-ревью при прохождении бесплатных уроков в модулях «Основы Python», «API веб-сервисов» и «Знакомство с Django: ORM». Или записывайтесь на тестовый урок курса «Профессия Middle Python/Django разработчик» — расскажем подробно о том, как проходит код-ревью!
Узнайте в Энциклопедии, какой код называется чистым и наши рекомендации по форматированию кода:
➡️ Что такое чистая функция
➡️ Понятные названия
➡️ Форматирование кода
У вас был опыт код-ревью на курсах или на работе? Делитесь впечатлениями в комментариях!➡️
🔥4👍3
Как работает Девман? Структура урока
⭐️ История. Урок Девмана — это проект. В нем всегда есть заказчик, с его историей и потребностями, и тимлид, выполняющий код-ревью. Выполнить урок — значит написать программный продукт, которым удобно пользоваться, у которого есть документация и который решает проблему заказчика.
Требования к итоговому результату возрастают постепенно. В «Основах Python» достаточно написать код с учетом требований к чистоте кода.
В «API веб-сервисов» уже придется оформить репозиторий на GitHub и написать первый файл документации
⭐️ Теория. Уроки не перегружены теорией — только необходимый минимум. В интернете доступно огромное количество теории в разных форматах и стилях на любой вкус. Читайте по теме урока статьи и книги, расширяйте свои знания и технологиях и внутреннем устройстве Python. Изучайте документацию и будьте в курсе новостей ИТ-отрасли. Умение самостоятельно искать информацию – тоже навык разработчика.
⭐️ Шаги. Новичку сложно проложить путь с нуля до цели, не заблудившись. Поэтому шаги — это маршрут, который мы уже проложили для вас, чтобы упростить задачу и ускорить прохождение. Став разработчиком, вы научитесь это делать самостоятельно. А потренироваться можно уже на командных проектах.
⭐️ Цель. Каждый шаг начинается с цели — точка маршрута, к которой надо прийти. Старайтесь держать в голове при этом основную задачу проекта, описанную в начале урока. Так меньше шансов свернуть не туда по мере прохождения. Читайте начало шага, чтобы понимать зачем и что нужно сделать. Каждый шаг решает задачу.
⭐️ Как проверить. Это список объективных критериев, по которым вы сможете самостоятельно убедиться, что шаг пройден.
⭐️ Что понадобится. Зная цель, ознакомьтесь с материалами и попробуйте применить предложенные инструменты для выполнения шага.
⭐️ Тестирование. Перед тем как отправить код на проверку, убедитесь, что он работает и соответствует заданию. Не забудьте обновить инструкции для разработчиков в документации.
⭐️ Сдача проекта. В последнем шаге нужно отправить на проверку ссылку на проект — на репозиторий GitHub. После чего вас ждёт ещё несколько итераций код-ревью и улучшений, пока все проблемы не будут устранены. Поздравляем, ещё один кейс в портфолио готов!
👉 Для тех, кто ещё не приступил к обучению на Девмане, есть возможность пройти бесплатные уроки с код-ревью из «Основ Python» и «API веб-сервисов». Или записаться на тестовый урок и пообщаться с нашими менторами.
➡️ Проходили онлайн-курсы? Расскажите, как было устроено ваше обучение в комментариях!
⭐️ История. Урок Девмана — это проект. В нем всегда есть заказчик, с его историей и потребностями, и тимлид, выполняющий код-ревью. Выполнить урок — значит написать программный продукт, которым удобно пользоваться, у которого есть документация и который решает проблему заказчика.
Требования к итоговому результату возрастают постепенно. В «Основах Python» достаточно написать код с учетом требований к чистоте кода.
В «API веб-сервисов» уже придется оформить репозиторий на GitHub и написать первый файл документации
README.md. А своих чат-ботов и сайты на Django нужно будет дополнительно развернуть на удаленном сервере. Идеи для проектов стараемся брать из практики. Иногда разработка одного программного продукта может быть разбита на несколько уроков.⭐️ Теория. Уроки не перегружены теорией — только необходимый минимум. В интернете доступно огромное количество теории в разных форматах и стилях на любой вкус. Читайте по теме урока статьи и книги, расширяйте свои знания и технологиях и внутреннем устройстве Python. Изучайте документацию и будьте в курсе новостей ИТ-отрасли. Умение самостоятельно искать информацию – тоже навык разработчика.
⭐️ Шаги. Новичку сложно проложить путь с нуля до цели, не заблудившись. Поэтому шаги — это маршрут, который мы уже проложили для вас, чтобы упростить задачу и ускорить прохождение. Став разработчиком, вы научитесь это делать самостоятельно. А потренироваться можно уже на командных проектах.
⭐️ Цель. Каждый шаг начинается с цели — точка маршрута, к которой надо прийти. Старайтесь держать в голове при этом основную задачу проекта, описанную в начале урока. Так меньше шансов свернуть не туда по мере прохождения. Читайте начало шага, чтобы понимать зачем и что нужно сделать. Каждый шаг решает задачу.
⭐️ Как проверить. Это список объективных критериев, по которым вы сможете самостоятельно убедиться, что шаг пройден.
⭐️ Что понадобится. Зная цель, ознакомьтесь с материалами и попробуйте применить предложенные инструменты для выполнения шага.
⭐️ Тестирование. Перед тем как отправить код на проверку, убедитесь, что он работает и соответствует заданию. Не забудьте обновить инструкции для разработчиков в документации.
⭐️ Сдача проекта. В последнем шаге нужно отправить на проверку ссылку на проект — на репозиторий GitHub. После чего вас ждёт ещё несколько итераций код-ревью и улучшений, пока все проблемы не будут устранены. Поздравляем, ещё один кейс в портфолио готов!
👉 Для тех, кто ещё не приступил к обучению на Девмане, есть возможность пройти бесплатные уроки с код-ревью из «Основ Python» и «API веб-сервисов». Или записаться на тестовый урок и пообщаться с нашими менторами.
➡️ Проходили онлайн-курсы? Расскажите, как было устроено ваше обучение в комментариях!
👍5🔥3
❓ Как найти работу после IT-курсов? С удалёнкой, соц. пакетом и с зарплатой выше, чем у стажера? Миссия выполнима!
Делимся рекомендациями от нашего HR — Татьяны Бордюговой.
👉 Читайте в статье:
⚡️ На что обратить внимание еще до начала обучения
⚡️ Как увеличить свои шансы на трудоустройство во время обучения
⚡️ Что важно указать в резюме
Делитесь своим опытом поиска работы в комментариях ➡️
Делимся рекомендациями от нашего HR — Татьяны Бордюговой.
👉 Читайте в статье:
⚡️ На что обратить внимание еще до начала обучения
⚡️ Как увеличить свои шансы на трудоустройство во время обучения
⚡️ Что важно указать в резюме
Делитесь своим опытом поиска работы в комментариях ➡️
❤5🔥3
➡️ Выбирайте правильный ответ из предложенных и пишите в комментариях, почему выбрали именно этот ответ!
Anonymous Poll
14%
a. ['apple', 'banana', 'cherry]
82%
b. ['apple', 'banana', 'cherry, 'watermelon']
3%
c. выдаст ошибку
1%
d. ['watermelon', 'apple', 'banana', 'cherry’]
🔥1
Правильный ответ -- b!🥳
Следуя принципам чистоты кода, менять входные данные внутри функции нежелательно и небезопасно. Поэтому подобное поведение функции — проблема, которую надо исправить. У нас даже улучшение такое есть.
Почему так происходит
Дело в том, что при выполнении присвоения
Как исправить
Нужно записать в локальную переменную внутри функции вместо ссылки на старый список, копию списка. Например, так:
О других способах читайте в Энциклопедии Девмана и держите свой код чистым!
Следуя принципам чистоты кода, менять входные данные внутри функции нежелательно и небезопасно. Поэтому подобное поведение функции — проблема, которую надо исправить. У нас даже улучшение такое есть.
Почему так происходит
Дело в том, что при выполнении присвоения
= для списков — новая переменная сохраняет ссылку на старый список без копирования элементов. Проблема возникает при использовании изменяемых (mutable) объектов.Как исправить
Нужно записать в локальную переменную внутри функции вместо ссылки на старый список, копию списка. Например, так:
initial_fruits = ['apple', 'banana', 'cherry']
def add_new_fruit(input_fruits, new_fruit):
fruits = input_fruits.copy()
fruits.append(new_fruit)
return fruits
add_new_fruit(initial_fruits, 'watermelon')
print(initial_fruits)
О других способах читайте в Энциклопедии Девмана и держите свой код чистым!
❤1👍1🔥1
Что должен уметь разработчик?
Профессия программиста на первый взгляд кажется чисто технической и интуитивно хочется сделать ставку на хард скиллы, изучая технологии и инструменты. Но на практике все гораздо сложнее. И чтобы стать успешными и востребованным специалистом, придется прокачать софт скиллы.
🗣 Коммуникация
Времена программистов-одиночек остались в прошлом. Нужно уметь работать в команде. Общаться придется с заказчиком, с фронтендером, тестировщиком, продукт-менеджером и девопсером. Поэтому крайне важно уметь находить win-win решения, конструктивно решать конфликты и воспринимать критику.
📊 Менеджмент
Прежде всего надо научиться самоорганизации. Программирование остаётся по большей части творческим процессом. Нужно уметь концентрироваться, планировать, декомпозировать задачи на более мелкие, вести учёт и анализ рабочего времени. Если хотите в будущем стать тимлидом, то понадобится все тоже самое научиться транслировать команде. Нет прокрастинации и потерянным задачам!
🧠 Продуктовое мышление
Программный продукт — это инструмент, с помощью которого пользователь решает свои задачи. Если продукт не решает задачу или им неудобно пользоваться в ситуации пользователя — он бесполезен. Узнайте кто пользователи, в каких ситуациях они используют ПО, чего хотят. Не забудьте про ограничения заказчика. Познакомьтесь с фреймворком Jobs To Be Done, чтобы лучше понимать суть продукта. Если сможете развить продуктовое мышление и при этом набрать опыт, то сможете прокачаться до архитектора ПО.
🧑💻 Обучаемость
Веб и ИТ-отрасль в целом постоянно меняются. Каждый месяц появляются новые технологии, готовые решения, обновляются библиотеки. Нельзя один раз научиться и просто работать разработчиком до пенсии.
Разработчику приходится регулярно осваивать новые библиотеки и инструменты. Интерес к новому, готовность искать непривычные маршруты, навыки запоминания и критического анализа информации помогут быстро обучаться и повышать свой уровень как разработчика.
Важно научиться самостоятельно выстраивать обучение в формате практического подхода learning-by-doing, чтобы эффективно нарабатывать новые навыки и после использовать их в работе. Разрабатывайте пет-проекты, прототипы, просите коллег с опытом сделать ревью ваших проектов.
Считаете ли вы софт скиллы важными для разработчика? Помогают ли они вам в работе? Делитесь мнением в комментариях 👉
Профессия программиста на первый взгляд кажется чисто технической и интуитивно хочется сделать ставку на хард скиллы, изучая технологии и инструменты. Но на практике все гораздо сложнее. И чтобы стать успешными и востребованным специалистом, придется прокачать софт скиллы.
🗣 Коммуникация
Времена программистов-одиночек остались в прошлом. Нужно уметь работать в команде. Общаться придется с заказчиком, с фронтендером, тестировщиком, продукт-менеджером и девопсером. Поэтому крайне важно уметь находить win-win решения, конструктивно решать конфликты и воспринимать критику.
📊 Менеджмент
Прежде всего надо научиться самоорганизации. Программирование остаётся по большей части творческим процессом. Нужно уметь концентрироваться, планировать, декомпозировать задачи на более мелкие, вести учёт и анализ рабочего времени. Если хотите в будущем стать тимлидом, то понадобится все тоже самое научиться транслировать команде. Нет прокрастинации и потерянным задачам!
🧠 Продуктовое мышление
Программный продукт — это инструмент, с помощью которого пользователь решает свои задачи. Если продукт не решает задачу или им неудобно пользоваться в ситуации пользователя — он бесполезен. Узнайте кто пользователи, в каких ситуациях они используют ПО, чего хотят. Не забудьте про ограничения заказчика. Познакомьтесь с фреймворком Jobs To Be Done, чтобы лучше понимать суть продукта. Если сможете развить продуктовое мышление и при этом набрать опыт, то сможете прокачаться до архитектора ПО.
🧑💻 Обучаемость
Веб и ИТ-отрасль в целом постоянно меняются. Каждый месяц появляются новые технологии, готовые решения, обновляются библиотеки. Нельзя один раз научиться и просто работать разработчиком до пенсии.
Разработчику приходится регулярно осваивать новые библиотеки и инструменты. Интерес к новому, готовность искать непривычные маршруты, навыки запоминания и критического анализа информации помогут быстро обучаться и повышать свой уровень как разработчика.
Важно научиться самостоятельно выстраивать обучение в формате практического подхода learning-by-doing, чтобы эффективно нарабатывать новые навыки и после использовать их в работе. Разрабатывайте пет-проекты, прототипы, просите коллег с опытом сделать ревью ваших проектов.
Считаете ли вы софт скиллы важными для разработчика? Помогают ли они вам в работе? Делитесь мнением в комментариях 👉
🔥6👍2
❓Как AI влияет на индустрию разработки ПО?
Во вторник в 14:00 обсудим влияние AI на индустрию разработки ПО в прямом эфире
В рамках дискуссии поговорим о:
⚡️ Реальности угрозы замены программистов на AI на базе o1
⚡️ Изменении роли программиста в связи с появлением подобных систем и навыках, которые потребуются разработчикам в будущем
⚡️ Ограничениях у AI на базе o1 в контексте реальной разработки ПО
⚡️ Влиянии внедрения подобных систем на процессы разработки
⚡️ Этических и правовых вопросах использования AI для создания кода
⚡️ Возможных изменениях на рынке труда программистов в ближайшие 5-10 лет
⚡️ Стратегии адаптации для разработчиков, чтобы оставаться востребованными в новых условиях
Дискуссия пройдет в прямом эфире на Ютуб 1 октября в 14:00.
Длительность 1 час 20 минут.
От нас участвуют Евгений Евсеев — сооснователь Devman и Артем Каменев — операционный директор подразделения заказной разработки.
Приглашаем вас присоединиться и послушать! ➡️
Ссылку на трансляцию пришлем в день дискуссии
Во вторник в 14:00 обсудим влияние AI на индустрию разработки ПО в прямом эфире
В рамках дискуссии поговорим о:
⚡️ Реальности угрозы замены программистов на AI на базе o1
⚡️ Изменении роли программиста в связи с появлением подобных систем и навыках, которые потребуются разработчикам в будущем
⚡️ Ограничениях у AI на базе o1 в контексте реальной разработки ПО
⚡️ Влиянии внедрения подобных систем на процессы разработки
⚡️ Этических и правовых вопросах использования AI для создания кода
⚡️ Возможных изменениях на рынке труда программистов в ближайшие 5-10 лет
⚡️ Стратегии адаптации для разработчиков, чтобы оставаться востребованными в новых условиях
Дискуссия пройдет в прямом эфире на Ютуб 1 октября в 14:00.
Длительность 1 час 20 минут.
От нас участвуют Евгений Евсеев — сооснователь Devman и Артем Каменев — операционный директор подразделения заказной разработки.
Приглашаем вас присоединиться и послушать! ➡️
Ссылку на трансляцию пришлем в день дискуссии
👍7🔥4
Обязательной частью онлайн курса «Профессия Middle Python/Django разработчик» от Devman является стажировка на коммерческом проекте. Стажировка подходит внутри нашей компании, в соседнем подразделении. В этом году подразделение заказной разработки получило свое название PelidTeam, логотип и и отдельный сайт
🤝 Симбиоз Devman и PelidTeam
Два направления — обучение и разработка — тесно связаны и на данный момент не существуют по отдельности. Devman готовит квалифицированных бэкенд-разработчиков, часть из которых теперь после стажировки получают оффер остаться на фулл-тайм в PelidTeam и продолжить свое развитие в сторону тим- или техлида, а в скором времени, возможно, фулл-стек разработчика.
🚀 Звездолёты
PelidTeam практически не занимается простыми типовыми проектами. Большинство проектов — это разработка с нуля, сложные, высоконагруженные веб-сервисы. И уровень наших выпускников как раз позволяет такие продукты делать. Большинство стажеров уже в течение первых двух месяцев получают не просто задачи по исправлению мелких багов, но разрабатывают новые фичи, активно участвуют в проектировании.
📈 Активный рост
PelidTeam за прошедший год вырос в 10 раз по выручке. За последние 3 месяца 10 выпускников Devman устроились к нам в компанию как бэкенд-разработчики на фулл-тайм. Это около 30% от количества выпускников, прошедших стажировку за прошедший год.
⚡️Своя методика
Как и в обучении, мы не пошли обычным путем и разработали свою методику для проектирования и управления разработкой ПО. Методика получила название ProductFlow и, если вы будете участвовать в стажировке, то познакомитесь с ней. ProductFlow позволяет объективно отслеживать прогресс, проводить приемку работ, описывать контекст задачи и прорабатывать критически важные детали. ProductFlow позволяет разрабатывать большие и сложные программные продукты, удобные пользователю.
🧑💻Трудоустройство
Мы ценим сообщество, которое образовалось вокруг курсов Devman, и при найме отдаем предпочтение именно нашим ученикам. Сообщите нам, если заинтересованы стать частью постоянной команды PelidTeam.
💰 Реферальная программа
Мы рады win-win сотрудничеству и в других форматах помимо трудоустройства. Приводите знакомых, которым нужна квалифицированная команда для веб-разработки по реферальной программе. Предлагайте партнёрство в другом формате.
➡️ А пока рекомендуем присоединиться и послушать дискуссию о влиянии AI на индустрию разработки ПО. В дискуссии участвуют Евгений Евсеев — учредитель и технический директор компании, и Артем Каменев — операционный директор PelidTeam
Подключиться можно по ссылкам:
- Трансляция на Ютуб
- Ретрансляция на VK (появится в группе автоматически)
🤝 Симбиоз Devman и PelidTeam
Два направления — обучение и разработка — тесно связаны и на данный момент не существуют по отдельности. Devman готовит квалифицированных бэкенд-разработчиков, часть из которых теперь после стажировки получают оффер остаться на фулл-тайм в PelidTeam и продолжить свое развитие в сторону тим- или техлида, а в скором времени, возможно, фулл-стек разработчика.
🚀 Звездолёты
PelidTeam практически не занимается простыми типовыми проектами. Большинство проектов — это разработка с нуля, сложные, высоконагруженные веб-сервисы. И уровень наших выпускников как раз позволяет такие продукты делать. Большинство стажеров уже в течение первых двух месяцев получают не просто задачи по исправлению мелких багов, но разрабатывают новые фичи, активно участвуют в проектировании.
📈 Активный рост
PelidTeam за прошедший год вырос в 10 раз по выручке. За последние 3 месяца 10 выпускников Devman устроились к нам в компанию как бэкенд-разработчики на фулл-тайм. Это около 30% от количества выпускников, прошедших стажировку за прошедший год.
⚡️Своя методика
Как и в обучении, мы не пошли обычным путем и разработали свою методику для проектирования и управления разработкой ПО. Методика получила название ProductFlow и, если вы будете участвовать в стажировке, то познакомитесь с ней. ProductFlow позволяет объективно отслеживать прогресс, проводить приемку работ, описывать контекст задачи и прорабатывать критически важные детали. ProductFlow позволяет разрабатывать большие и сложные программные продукты, удобные пользователю.
🧑💻Трудоустройство
Мы ценим сообщество, которое образовалось вокруг курсов Devman, и при найме отдаем предпочтение именно нашим ученикам. Сообщите нам, если заинтересованы стать частью постоянной команды PelidTeam.
💰 Реферальная программа
Мы рады win-win сотрудничеству и в других форматах помимо трудоустройства. Приводите знакомых, которым нужна квалифицированная команда для веб-разработки по реферальной программе. Предлагайте партнёрство в другом формате.
➡️ А пока рекомендуем присоединиться и послушать дискуссию о влиянии AI на индустрию разработки ПО. В дискуссии участвуют Евгений Евсеев — учредитель и технический директор компании, и Артем Каменев — операционный директор PelidTeam
Подключиться можно по ссылкам:
- Трансляция на Ютуб
- Ретрансляция на VK (появится в группе автоматически)
dvmn.org
Курс Python-разработчик: обучение программированию на Python для начинающих
Обучение веб-разработке на Python до уровня Middle. Курс Python-разработчик от Devman с сертификатом и гарантией трудоустройства. Обучись языку программирования и стань востребованным специалистом.
🔥8👍3
❗️ Вчера мы обсудили влияние AI на индустрию разработки ПО
Говорили о:
⚡️ Реальности угрозы замены программистов на AI на базе o1
⚡️ Изменении роли программиста в связи с появлением подобных систем и навыках, которые потребуются разработчикам в будущем
⚡️ Ограничениях у AI на базе o1 в контексте реальной разработки ПО
⚡️ Возможных изменениях на рынке труда программистов в ближайшие 5-10 лет
⚡️ Стратегии адаптации для разработчиков, чтобы оставаться востребованными в новых условиях
Делимся ссылками на записи трансляции для тех, кто не смог подключиться вчера!
Запись на YouTube
Запись в VK
Позже будет текстовая версия на Хабре. Мы пришлем ссылку на нее.
Были вчера на дискуссии? Делитесь впечатлениями в комментариях ➡️
Говорили о:
⚡️ Реальности угрозы замены программистов на AI на базе o1
⚡️ Изменении роли программиста в связи с появлением подобных систем и навыках, которые потребуются разработчикам в будущем
⚡️ Ограничениях у AI на базе o1 в контексте реальной разработки ПО
⚡️ Возможных изменениях на рынке труда программистов в ближайшие 5-10 лет
⚡️ Стратегии адаптации для разработчиков, чтобы оставаться востребованными в новых условиях
Делимся ссылками на записи трансляции для тех, кто не смог подключиться вчера!
Запись на YouTube
Запись в VK
Позже будет текстовая версия на Хабре. Мы пришлем ссылку на нее.
Были вчера на дискуссии? Делитесь впечатлениями в комментариях ➡️
YouTube
🚀 РЕВОЛЮЦИЯ В ПРОГРАММИРОВАНИИ: OpenAI o1 vs Человек! Кто кого? 💻🤖
Готовы узнать всю правду о будущем программирования? 😱
Присоединяйтесь к эксклюзивной онлайн-дискуссии, где ведущие эксперты раскроют секреты влияния искусственного интеллекта (AI) на разработку ПО! Узнайте, как сверхинтеллект OpenAI o1 уже меняет мир…
Присоединяйтесь к эксклюзивной онлайн-дискуссии, где ведущие эксперты раскроют секреты влияния искусственного интеллекта (AI) на разработку ПО! Узнайте, как сверхинтеллект OpenAI o1 уже меняет мир…
🔥1
❓ А вы уже разобрались как работают операторы
Выберите вариант ответа, не запуская код:
➡️ Пишите в комментариях, почему выбрали именно этот вариант, а мы вернемся завтра с правильным ответом и описанием механизма работы операторов!
is и == в Python? Выберите вариант ответа, не запуская код:
a = 5
b = 5
c = 16789
d = 16789
print(a == b, a is b, sep=', ')
print(c == d, c is d, sep=', ')
➡️ Пишите в комментариях, почему выбрали именно этот вариант, а мы вернемся завтра с правильным ответом и описанием механизма работы операторов!
🔥1
Что выведет код?
Anonymous Poll
29%
>>>print(a == b, a is b, sep=', ')True, False>>> print(c == d, c is d, sep=', ')True, False
55%
>>>print(a == b, a is b, sep=', ')True, True>>> print(c == d, c is d, sep=', ')True, False
16%
>>>print(a == b, a is b, sep=', ')True, True>>> print(c == d, c is d, sep=', ')True, True
К сожалению, опросник не поддерживает форматирование с переносом строк, поэтому продулирую сюда более читаемые варианты:
Вариант А.
Вариант B.
Вариант C.
Вариант А.
>>>print(a == b, a is b, sep=', ')
True, False
>>> print(c == d, c is d, sep=', ')
True, False
Вариант B.
>>>print(a == b, a is b, sep=', ')
True, True
>>> print(c == d, c is d, sep=', ')
True, False
Вариант C.
>>>print(a == b, a is b, sep=', ')
True, True
>>> print(c == d, c is d, sep=', ')
True, True
🔥1
🥳 Итак, правильный ответ - B!
Оператор
Оператор
Но почему же
Для экономии ресурсов самые часто используемые объекты хранятся в фиксированном месте памяти в единственном экземпляре. Пример — сколько бы переменных вы не создали со значением
- None,
- True, False
- простые строки
- числа от -5 до 256
Интернирование позволяет использовать уже существующие неизменяемые объекты в некоторых случаях вместо того, чтобы каждый раз создавать новый объект. Для экономии памяти и ускорения работы программы вы можете интернировать часто используемые строковые значения принудительно, используя функцию
Рекомендуется использовать оператор
Поскольку булевые значения
Подведем итоги:
✅Используйте операторы Python
✅Используйте операторы Python
✅Используйте операторы Python
✅Избегайте сравнений с True/False, используйте готовые результаты логических операций, чтобы высушить код.
Оператор
== вызывает магический метод __eq__() объекта и проверяет равенство значений объектов. Если этот метод не реализован у кастомного класса объектов, то == по умолчанию сравнивает адреса памяти двух объектов, т.е. проверяет идентичность объектов. А значит, результат сравнения может быть неожиданным для программиста.c = 16789
d = 16789
>>> print(c == d)
True
Оператор
is проверяет идентичность объектов. В Python все является объектом, а каждый объект размещается в памяти по определенному адресу. Оператор is проверяет, ссылаются ли две переменные на один и тот же объект в памяти. Для проверки адреса, используйте функцию id():>>> id(a)
9776800
>>> id(b)
9776800
>>> id(c)
139766195519312
>>> id(d)
139766195945264
Но почему же
c и d указывают на разные объекты в памяти, а a и b на один и тот же? Здесь включается механизм интернирования объектов Python, иначе он называется кэшированием объектов. Для экономии ресурсов самые часто используемые объекты хранятся в фиксированном месте памяти в единственном экземпляре. Пример — сколько бы переменных вы не создали со значением
2, все они будут привязаны к одному и тому же адресу памяти. По умолчанию в CPython интернируются следующие типы объектов:- None,
- True, False
- простые строки
- числа от -5 до 256
Интернирование позволяет использовать уже существующие неизменяемые объекты в некоторых случаях вместо того, чтобы каждый раз создавать новый объект. Для экономии памяти и ускорения работы программы вы можете интернировать часто используемые строковые значения принудительно, используя функцию
sys.intern():>>> str1 = 'hello world'
>>> str2 = 'hello world'
>>> str1 is str2
False
>>> str1 = intern(str1)
>>> str2 = intern(str2)
>>> str1 is str2
True
Рекомендуется использовать оператор
is для сравнения с None вместо оператора ==. Он не только быстрее, поскольку сравнивает адреса памяти, но и безопаснее, поскольку не зависит от логики каких либо методов __eq__() класса.Поскольку булевые значения
True и False интернируются, то оба оператора дадут одинаковый результат. Мы рекомендуем и вовсе отказаться от сравнения с ними, т.к. это позволяет упростить код, не ограничивая функциональность:c = 5
d = 3
if c > d is True:
do_something()
# высушим код, но получим тот же результат
if c > d:
do_something()
result = c > d # True
Подведем итоги:
✅Используйте операторы Python
== и != для сравнения равенства объектов. ✅Используйте операторы Python
is и is not для сравнения с None. Сравнивать с None по адресу памяти быстрее и безопаснее, чем с помощью методов класса.✅Используйте операторы Python
is и is not, если хотите сравнить идентификатор объекта, т.е. указывают ли переменные на один и тот же адрес в памяти✅Избегайте сравнений с True/False, используйте готовые результаты логических операций, чтобы высушить код.
🔥4
Курсам Девмана уже 8 лет. Изначально они появились как решение собственной проблемы дефицита программистов для заказной разработки, необходимости долго и дорого дообучать новых сотрудников. Поэтому в приоритете было качество и высокая доходимость до конца.
Проблему качества кода выпускников решили с помощью практического подхода и детального код-ревью от действующих разработчиков. Но задания были слишком сложными и до конца доходили единицы.
➡️ Шаги и модули. Добавили в уроки шаги — сложность снизилась. Разбили уроки на тематические мини-курсы. Проходить стало легче, но ученики часто терялись, учились медленно, часто забрасывали.
➡️ Менторы. Прорыв случился в 2021 году, когда мини-курсы объединили в единый трек и добавили менторов. Доходимость ступени курса «Профессия Middle Python/Django разработчик» длительностью 5 месяцев увеличилась до 60% даже с учётом времени ожидания код-ревью, локальных проблем с уроками и проектами при доработке курса и из-за изменений условий использования сторонних веб-сервисов, используемых в уроках.
➡️ Проблема выделения времени. И все ещё ученики уходят с курса по схожим причинам — не выделяют время на обучение, теряют мотивацию и силы.
С менторами собрали частные ошибки, которые значительно влияют на на шансы дойти до конца курс:
Проблему качества кода выпускников решили с помощью практического подхода и детального код-ревью от действующих разработчиков. Но задания были слишком сложными и до конца доходили единицы.
➡️ Шаги и модули. Добавили в уроки шаги — сложность снизилась. Разбили уроки на тематические мини-курсы. Проходить стало легче, но ученики часто терялись, учились медленно, часто забрасывали.
➡️ Менторы. Прорыв случился в 2021 году, когда мини-курсы объединили в единый трек и добавили менторов. Доходимость ступени курса «Профессия Middle Python/Django разработчик» длительностью 5 месяцев увеличилась до 60% даже с учётом времени ожидания код-ревью, локальных проблем с уроками и проектами при доработке курса и из-за изменений условий использования сторонних веб-сервисов, используемых в уроках.
➡️ Проблема выделения времени. И все ещё ученики уходят с курса по схожим причинам — не выделяют время на обучение, теряют мотивацию и силы.
С менторами собрали частные ошибки, которые значительно влияют на на шансы дойти до конца курс:
dvmn.org
Курс Python-разработчик: обучение программированию на Python для начинающих
Обучение веб-разработке на Python до уровня Middle. Курс Python-разработчик от Devman с сертификатом и гарантией трудоустройства. Обучись языку программирования и стань востребованным специалистом.
👍1