Зачем существует PyLadies?
Движение PyLadies было создано семь лет назад несколькими Python-разработчицами в Лос-Анджелесе. Сегодня сообщество включает тысячи программисток, которые устраивают митапы, небольшие конференции и неформальные встречи по теме Python. Движение поддерживает создатель этого языка программирования Гвидо ван Россум. Первый митап PyLadies в Петербурге был организован сотрудниками различных IT-компаний. Согласно данным, которые привела одна из организаторов PyLadies в Петербурге Светлана Дьякова, менеджер веб-проектов компании Veeam Software, всего 20% разработчиков в крупных IT-компаниях типа Google, Facebook, Twitter — это женщины. Также существует много стереотипов о том, что женщины и IT — это несовместимые явления.
«Исторически женщин в IT было больше. Есть много гипотез, почему так случилось, что девушек вытеснили мужчины. Факт в том, что сейчас девушек в IT очень мало. И часто девушке бывает тяжело приходить в чисто мужской клуб, особенно когда она только начинает программировать. Но, чтобы профессиональный уровень стал высоким, нужно общаться с другими разработчиками и начинать что-то делать. Женские митапы в сфере IT — это среда, которая объединяет сообщество девушек-разработчиц с большим сообществом программистов. Это не сегрегация и не сексизм. Зачастую девушки после какого-либо женского митапа затем приходят на крупные IT-конференции. То есть женские инициативы в сфере IT служат для девушек мотивацией не бояться вступать в более крупные сообщества разработчиков, учиться нетворкингу, публичным выступлениям, приобретать soft skills», — прокомментировала организатор PyLadies в Санкт-Петербурге Елена Савельева, разработчица компании Arcadia.
Таким образом, PyLadies — это площадка, где программистки могут обмениваться опытом и знакомиться с другими разработчицами. Организаторы выбрали именно Python, потому что в Петербурге уже сформировано некоторое сообщество этого языка, то есть уже существуют инициативы типа мероприятий и встреч PiterPy Meetup. Таким образом в будущем будет проще организовывать воркшопы, лекции, хакатоны для PyLadies. Так, темы для лекций первого митапа PyLadies в Петербурге были выбраны так, чтобы их смогли понять и освоить даже начинающие разработчицы. Далее организаторы хотят проанализировать обратную связь от участниц мероприятия, чтобы понять, какие темы нужно развивать дальше, какие из них более востребованы.
«При создании сообщества PyLadies мы стараемся во многом перенимать международный опыт, но, в то же время, у нас многое происходит по-своему. Например, на митапах в США в основном встречаются именно Python-разработчицы. Мы же приглашаем всех девушек, которым интересно IT, и обсуждаем более широкие темы», — сказала Светлана Дьякова.
Как начать изучение алгоритмов
Выступлением с этой темой митап открыла разработчица сервиса «Яндекс.Погода» Елена Волжина. Сначала она рассказала, почему вообще стоит изучать алгоритмы. Во-первых, это всегда может пригодиться на работе при решении нестандартных задач. Во-вторых, это меняет образ мышления программиста: чем больше алгоритмических задач решает разработчик, тем больше креативных решений он может найти, а комплексные проблемы постепенно становятся не такими сложными. В-третьих, алгоритмы учат совмещать несовместимое и реализовывать специфические навыки в самых разных областях. И наконец, алгоритмические задачи часто приходится решать при трудоустройстве.
Также докладчица пояснила, что делать, если изучать алгоритмы становится скучно. Тут есть два выхода. Первый — можно просто остановиться и переключиться на другую техническую область знаний. Второй — можно поменять способ изучения алгоритмов: вместо скучной книжки с заданиями найти сайт, где решать алгоритмы предлагается в игровой форме, или устроить самой себе марафон с целью решать не менее одной задачи в день, чтобы появился спортивный азарт. Если же продвижение в деле решения алгоритмов чувствуется слабо, главное — продолжать двигаться дальше: рано или поздно начнет получаться лучше, заверила Елена.
Что нужно знать, чтобы начать решать алгоритмические задачи? Конечно, какой-либо язык программирования. Подойдет любой, но чаще всего на разных сайтах с алгоритмическими задачами используются С++ или Java. Также полезно разбираться в символике «О» большое и «о» малое — это математические обозначения, которые используются в теории алгоритмов. Важно понимать простые структуры данных: массивы, списки, хеш-таблицы, очереди, а также концепции работы самых простых алгоритмов типа сортировок. Если это все ясно, то можно перейти к более сложным темам: изучать специфические структуры данных, алгоритмы над графами, кодирование информации и другие понятия.
Елена Волжина также привела два примера задач, с которыми может столкнуться любой программист на работе или дома. Одна задача — это поиск по массиву данных. Вторая — поиск по сортированному списку или «дереву». Также она привела несколько источников полезной информации для тех, кто хочет изучать алгоритмы, например, онлайн-курс «Алгоритмы. Теория и практика. Методы» или курс «Алгоритмы. Теория практика. Структуры данных».
Git с первого до третьего шага
С этой темой выступила Алёна Пономаренко, разработчица в компании Social Quantum. Git — это система контроля версий, то есть платформа, которая регистрирует изменения в одном или нескольких файлах проекта, чтобы в случае необходимости можно было вернуться к исходным файлам или просмотреть историю версий, то есть где и когда были сделаны те или иные изменения. Такими системами пользуются программисты как в офисах, так и на удаленной работе. Также они популярны у разработчиков любых систем, которые могут быть представлены в текстовом виде, например, в системе контроля версий удобно писать диплом, чтобы ни в коем случае не потерять проделанную работу.
Особенность Git в том, что это распределенная система контроля версий, то есть локальная копия репозитория какого-либо проекта хранится на всех рабочих машинах, на которых ведется разработка по проекту. Кроме того, если в файл вносятся какие-либо изменения, то старая его версия не перезаписывается, а остается в виде ссылки наряду с новым файлом. Также большой плюс Git — в его графических оболочках. Это визуальное представление всех изменений файла, которое очень помогает, когда возникают конфликты слияний разных веток разработки. Алёна Пономаренко также подчеркнула, что для работы с Git на первых порах достаточно хорошо знать менее десятка простых операций, которые легко можно отработать на специальном онлайн-тренажере.
На первом PyLadies также выступила разработчица из проекта «Яндекс.Толока» Надежда Бугакова, которая рассказала о том, какие библиотеки лучше использовать при обработке больших объемов данных. А Алла Захарова, разработчица в компании Picasel Agency и одна из организаторок PyLadies SPb, рассказала о том, как найти работу в IT и с какими сложностями можно столкнуться на собеседованиях. За новостями проекта и расписанием следующих встреч можно следить в группе во «ВКонтакте».