Добавить новость
Февраль 2010 Март 2010 Апрель 2010
Май 2010
Июнь 2010 Июль 2010 Август 2010
Сентябрь 2010
Октябрь 2010
Ноябрь 2010 Декабрь 2010
Январь 2011
Февраль 2011 Март 2011 Апрель 2011 Май 2011 Июнь 2011
Июль 2011
Август 2011 Сентябрь 2011 Октябрь 2011 Ноябрь 2011 Декабрь 2011 Январь 2012 Февраль 2012 Март 2012 Апрель 2012 Май 2012 Июнь 2012 Июль 2012 Август 2012 Сентябрь 2012 Октябрь 2012 Ноябрь 2012 Декабрь 2012 Январь 2013 Февраль 2013 Март 2013 Апрель 2013 Май 2013 Июнь 2013 Июль 2013 Август 2013 Сентябрь 2013 Октябрь 2013 Ноябрь 2013 Декабрь 2013 Январь 2014 Февраль 2014 Март 2014 Апрель 2014 Май 2014 Июнь 2014 Июль 2014 Август 2014 Сентябрь 2014 Октябрь 2014 Ноябрь 2014 Декабрь 2014 Январь 2015 Февраль 2015 Март 2015 Апрель 2015 Май 2015 Июнь 2015 Июль 2015 Август 2015 Сентябрь 2015 Октябрь 2015 Ноябрь 2015 Декабрь 2015 Январь 2016 Февраль 2016 Март 2016 Апрель 2016 Май 2016 Июнь 2016 Июль 2016 Август 2016 Сентябрь 2016 Октябрь 2016 Ноябрь 2016 Декабрь 2016 Январь 2017 Февраль 2017 Март 2017 Апрель 2017 Май 2017 Июнь 2017 Июль 2017 Август 2017 Сентябрь 2017 Октябрь 2017 Ноябрь 2017 Декабрь 2017 Январь 2018 Февраль 2018 Март 2018 Апрель 2018 Май 2018 Июнь 2018 Июль 2018 Август 2018 Сентябрь 2018 Октябрь 2018 Ноябрь 2018 Декабрь 2018 Январь 2019 Февраль 2019 Март 2019 Апрель 2019 Май 2019 Июнь 2019 Июль 2019 Август 2019 Сентябрь 2019 Октябрь 2019 Ноябрь 2019 Декабрь 2019 Январь 2020 Февраль 2020 Март 2020 Апрель 2020 Май 2020 Июнь 2020 Июль 2020 Август 2020 Сентябрь 2020 Октябрь 2020 Ноябрь 2020 Декабрь 2020 Январь 2021 Февраль 2021 Март 2021 Апрель 2021 Май 2021 Июнь 2021 Июль 2021 Август 2021 Сентябрь 2021 Октябрь 2021 Ноябрь 2021 Декабрь 2021 Январь 2022 Февраль 2022 Март 2022 Апрель 2022 Май 2022 Июнь 2022 Июль 2022 Август 2022 Сентябрь 2022 Октябрь 2022 Ноябрь 2022 Декабрь 2022 Январь 2023 Февраль 2023 Март 2023 Апрель 2023 Май 2023 Июнь 2023 Июль 2023 Август 2023 Сентябрь 2023 Октябрь 2023 Ноябрь 2023 Декабрь 2023 Январь 2024 Февраль 2024 Март 2024 Апрель 2024 Май 2024 Июнь 2024 Июль 2024 Август 2024 Сентябрь 2024 Октябрь 2024 Ноябрь 2024 Декабрь 2024 Январь 2025 Февраль 2025 Март 2025 Апрель 2025 Май 2025 Июнь 2025 Июль 2025 Август 2025 Сентябрь 2025 Октябрь 2025 Ноябрь 2025 Декабрь 2025 Январь 2026 Февраль 2026 Март 2026 Апрель 2026
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23
24
25
26
27
28
29
30

Поиск города

Ничего не найдено

Как преуспеть в командной разработке и утренних боях со сном

0 11

Как при этом ему удается учиться в полную силу и что он хотел бы изменить в GeekUniversity — читайте ниже.

— Расскажи, пожалуйста, кем ты работаешь и почему решил изучать программирование?

— Сейчас я инженер по системам расчетов с агентами в компании «МегаФон». То есть мое направление — BSS (Business Support System) — поддержка бизнес-процессов и, в частности, биллинговых решений. Начинал мануальным тестировщиком, затем мне поручили создать автотесты на Python + Robot framework. Система, тестирование которой нужно автоматизировать, очень сложна, а с принятым в компании технологическим стеком я раньше не работал.

У меня был выбор: поучаствовать в конкурсе на новую менеджерскую позицию или «включить технаря» и освоить Python. Я выбрал учебу и рад этому!

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

— Что за проект ты сделал со своей командой в GeekUniversity?

— Это программа для хранения паролей PassVault (аналог KeePass). Команда у нас из шести человек. География: Тюмень, Казахстан, Москва — разные часовые пояса. Чтобы координировать работу, мы использовали доску планирования Trello и ежедневно проводили скрам-чаты в Telegram. Небольшую презентацию программы я выложил на YouTube.

http://www.youtube.com/watch?v=mFKlev2jeIU

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

— Командная разработка — один из завершающих этапов обучения. Какие проекты в GU ты делал до этого?

— Первым моим проектом был Dagobah-messenger. Это программа мгновенного обмена сообщениями, которая передает данные в формате JSON и использует AES-шифрование. По ходу пришлось разбираться со сложными темами из разных областей Python, так что не сразу все получилось. Сейчас переписываю этот проект с нуля: заложил в него асинхронность потоков (asyncio), GUI (на PyQt5) и БД на MongoDB.

Еще мне интересны алгоритмы. Чтобы поиграть с ними, я написал несколько маленьких программ с разными алгоритмами сортировки.

Другой мой проект — сайт-визитка на Python + Django framework + HTML/CSS + SQLite3. В учебном плане web запланирован на третью четверть, но я решил начать заранее. Попутно проверил свои возможности по линии fullstack-разработки. Хочу после Нового года уже взять заказ на freelance.ru и более основательно прокачаться как web developer.

— В октябре ты победил в воркшопе GeekBrains по созданию Telegram-бота.

— Конкурсного бота Dobby я написал в офисе за девять ночных часов с четверга на пятницу. В качестве приза получил учебный курс на выбор. Раньше не имел дела ни с API Telegram, ни с ботами вообще. Но небольшой опыт с программными интерфейсами уже был — вне GU я делал свой парсер данных под VK API.

— Погоди! Ты писал бота ночью в офисе?!

— Дело было так: вечером я с работы посмотрел воркшоп. Там сказали, что код надо сдать до 22:00 следующего дня. А поскольку в пятницу я занят до 18:00, единственная возможность успеть была ночью.

Дописал бота и ушел из офиса я в 5:20 утра. Полтора часа поспал, переоделся, взял еду и к 9:00 вернулся на работу. Потом весь день с трудом держал глаза открытыми, но никто этого не заметил — с делами я справлялся. Только преследовала мысль: стоило ли так напрягаться. Победа показала — стоило.

— А что умеет бот и можно ли с ним познакомиться?

— Dobby по команде выдает шутки из заранее составленного словаря. Если ты ему скажешь, что кто-то лучший или лучшая, он с этим согласится. На два сообщения подряд — ворчит. Обращается к пользователю по нику и просит не флудить. Сейчас бот живет в моем git-репозитории. Правда, его развитием я больше не занимаюсь.

— Сам язык Python оправдывает твои ожидания? Не жалеешь, что его выбрал?

— Ни разу не жалею. Скажу больше: когда я узнаю о новых сферах его применения, радуюсь, что учу именно его. Есть у меня интерес к «большим данным», и Python здесь — «впереди планеты всей»!

Кстати, посещаю Moscow Python Meetup-ы, начиная с № 55  — с апреля 2018. Как-то слышал доклад о программировании микросхем на Python! Поразительно универсальный язык.

— Как ты нашел идею для командного проекта? И насколько она в итоге оказалась подходящей для работы в группе?

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

Прорекламировал эту задумку сокурсникам — откликнулись пять человек: Вероника, Леонид, Раиль, Николай и Данияр. Я предложил им небольшое анкетирование и выяснил, у кого какой уровень знаний и сколько времени каждый из них готов уделить проекту. На этой основе составил конечный набор функций и «дорожную карту» разработки. Внедрение разбил на недельные спринты.

Серьезных форс-мажоров и осечек не случилось — мы уложились в срок. И когда GU перенес сдачу проектов на более позднюю дату, оказалось, что мы закончили на две недели раньше дедлайна!

Нам повезло: для командной разработки проект оказался очень подходящим. Все получилось.

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

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

Второй момент: ограничить посторонним доступ к исходникам можно с помощью Python-библиотек для дистрибуции кода. С ними вы соберете исходники в исполняемые файлы.

— Как распределились роли в команде?

— У каждого была основная и резервная роль: если бы один «боец» вышел из строя, другой смог бы взять на себя его задачи. Например, моя основная роль — разработчик, технологии: SQLAlchemy для back-end и AES-шифрование. Резервная роль — team lead.

У Раиля Закирова основная роль — разработчик PyQt5, резервная — технический писатель. Кстати, Раиль первым откликнулся на мою идею. Он раньше уже участвовал в командном проекте, и это оказалось очень кстати. Мы быстро сработались, не было никаких проблем.

Вероника Корепанова занималась созданием конечного дистрибутива, а на раннем этапе наладила нам работу в Trello: следила за распределением заданий и обновлением информации на досках. Она отлично взаимодействует с людьми, плюс очень исполнительный человек. Вспомогательная роль — тестировщик.

Леонид Михайлов совмещал сразу две роли разработчика: основная технология — PyQt5, резервная — SQLAlchemy.

Николай Котов — тестер, он же — разработчик в части AES-шифрования.

Данияр Калиев — также разработчик, его технологии — SQLAlchemy и PyTest.

То есть на каждую задачу у нас было по два-три исполнителя. И этот подход оправдал себя: не всем хватало времени целиком выполнить свою часть работы.

— До GU у кого-то из команды был опыт программирования или все пришли из других сфер?

— По-моему, Леонид был самым подготовленным из нас. Он уже занимался разработкой — делал сайты на Django. Из-за учебы в университете ему иногда приходилось пропускать наши встречи, но выполненные задания он всегда присылал вовремя и в лучшем виде.

В остальном у всех нас были сильные и слабые стороны: мы подбирали, кто что лучше умеет делать.

— С преподавателем советовались?

— И да и нет. Я договорился с Сергеем Кручининым, что добавлю его в наш Telegram-чат. Рад, что ему ни разу не пришлось вмешиваться в полемику внутри команды. Он в этой истории был «наблюдателем сверху».

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

— Сложно решать все удаленно? Насколько помогли Trello и scrum-чаты?

— Использовать Trello предложил Раиль, и мы охотно согласились. Считаю, это отличный инструмент для распределенной команды. Он особенно полезен, когда нужно детально документировать функции и согласовывать их с заказчиком. Но мне лично больше понравилось общение в формате скрам-чатов. Это позволяет следить за тенденциями и изменениями в команде и молниеносно реагировать на происходящее.

— Как проходил «скрам»?

— Раз в сутки каждый участник команды должен быть рассказывать, что он сделал, что планирует и какие проблемы возникли. Кстати, при таком подходе сразу понятно, действительно человек занят проектом (тогда у него конкретные вопросы) или его интересует сейчас что-то другое (в этом случае он говорит много общих слов).

— Что было самым трудным и как ты с этим справился?

— Сжатые сроки и параллельная работа над несколькими проектами (GU + основная работа + дополнительная практика в программировании) — вот что для меня лично было самым трудным. Спасло планирование.

— Что дала тебе учеба в GeekUniversity?

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

— Что хотелось бы улучшить в GU, что понравилось?

— В GU классные Преподаватели — с большой буквы. И еще я искренне доволен службой поддержки. Желаю им держать высокую планку. Даже в выходные я всегда могу рассчитывать на отличный сервис. Это приятно удивляет.

Но сделайте, пожалуйста, меньше занятий по пятницам! Хотя бы летом. Вы не представляете, как больно сидеть в сокращенный рабочий день до 20:00 и ждать вебинара, чтобы иметь возможность по ходу занятия задавать спикеру вопросы. У записи-то ничего не спросишь. И вот в конце недели все разъезжаются по своим неформальным делам, а ты остаешься допоздна. Это боль.

— У тебя уже есть планы трудоустройства по новой специальности?

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

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

— Чего еще ждешь от учебы?

— После Нового года начнется веб, Django. И снова будет большой командный проект. Что именно будем делать, пока под вопросом: посмотрю, как ребята будут себя чувствовать и какие у нас к этому моменту будут навыки.

— Поделись советами, как совмещать учебу и работу. Не всем это удается: ведь одно дело — что-то запланировать, совсем другое — выполнить.

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

Я себя заранее морально подготовил, что на протяжении года у меня фактически не будет другой жизни, кроме «работа — дом — учеба». Даже в отпуск не поехал. Пожертвовал развлечениями и личной жизнью. Это большой минус. В офисе люди в шутку спрашивают, на чем я сижу. Если бы мне было не так интересно, давно бы уже плюнул.

Еще важно, к чему ты себя приучил. Когда приходишь в IT после продаж, первое время удивляешься, насколько спокойно и размеренно многие работают. Нет постоянного лишнего давления, работы до глубокой ночи и бесконечных недель без выходных. Суровая школа продаж научила меня делать больше в сложных условиях. Это и сейчас помогает.

— Спасибо тебе большое! Много, подробно, интересно. А главное — при всей загруженности у тебя столько энергии, что она передается окружающим.

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

Пройти обучение




Все города России от А до Я

Загрузка...

Москва на Moscow.media

Читайте также

В тренде на этой неделе

В 2027 году «ЛокоТех» впервые примет участие в Чемпионате профессионалов ОАО «РЖД»

150 лет театральной России: марафон-фестиваль и поезда из Владивостока и Севастополя

Как в домах престарелых губят россиян

В Омске соберутся ведущие специалисты сферы досуга и развлечений России и стран СНГ

Новости Москвы



Мэр Москвы Сергей Собянин

Частные объявления в Москве



Загрузка...
Ria.city
Rss.plus


Новости последнего часа со всей страны в непрерывном режиме 24/7 — здесь и сейчас с возможностью самостоятельной быстрой публикации интересных "живых" материалов из Вашего города и региона. Все новости, как они есть — честно, оперативно, без купюр.




Москва на Russian.city


News-Life — паблик новостей в календарном формате на основе технологичной новостной информационно-поисковой системы с элементами искусственного интеллекта, тематического отбора и возможностью мгновенной публикации авторского контента в режиме Free Public. News-Life — ваши новости сегодня и сейчас. Опубликовать свою новость в любом городе и регионе можно мгновенно — здесь.
© News-Life — оперативные новости с мест событий по всей России (ежеминутное обновление, авторский контент, мгновенная публикация) с архивом и поиском по городам и регионам при помощи современных инженерных решений и алгоритмов от NL, с использованием технологических элементов самообучающегося "искусственного интеллекта" при информационной ресурсной поддержке международной веб-группы 103news.com в партнёрстве с сайтом SportsWeek.org и проектами: "Love", News24, Ru24.pro, Russia24.pro и др.