Connect with us

Обучение

Как я перестал бояться и решил подружиться с Питоном

Но зачем это мне – казалось бы, в чём-то состоявшемуся специалисту, который не собирается в ближайшее время менять свою профессию?

AppTractor

Опубликовано

/

     
     

Валентин Домбровский поделился с нами своей историей знакомства с программированием.

1937066_1681248518820163_4029447945882457793_n

В марте 2012-го года мы с Михаилом Корнеевым запустили сообщество MoscowDjango (ныне MoscowPython) и мы не подозревали, до каких масштабов мы вырастем в результате.

Начав со встречи 20 человек в Высшей Школе Экономики, мы выросли до регулярных встреч, на которые собирается больше 200 разработчиков и которые проходят на площадках Rambler&Co, Mail.Ru Group, Яндекса и ФРИИ City Hall. В нашей группе на Facebook – свыше 1500 человек, а у рассылки о мероприятиях свыше 1900 подписчиков. Сообществу помогают развиваться 6 евангелистов (включая основателей) и можно без ложной скромности утверждать, что мы стали “центром притяжения” российского Python-движения.

И вот тут начинается самое интересное: за это время я лично так и не научился толком программировать. Да, были в моей жизни онлайн-курсы MIT, прохождение уроков на Codecademy и самостоятельное изучение основ Django, но “вплотную” к статусу хотя бы junior-программиста я так и не приблизился. Я ловлю себя на том, что мне приятно слушать доклады программистов, когда они говорят о каких-то не совсем понятных мне вещах, но иногда хочется всё-таки хоть что-нибудь понимать.

И вот тут, кажется, у меня появился шанс. Причём, это история из разряда “хочешь, чтобы у тебя что-то было – сделай это своими руками”. В связи с тем, что наше сообщество получило в распоряжение домен Python.ru (в очередной раз подтвердив тем самым статус крупнейшего в России), мы начали думать о том, в каких направлениях нам развиваться дальше. Одной из идей стал запуск курса по Python, который мы назвали незатейливо Learn.Python. Важную роль в этом сыграло появление у нас в качестве евангелиста Ильи Лебедева, разработчика компании Aori с опытом преподавания программирования студентам МГТУ имени Баумана. И вот, курс для начинающих программистов разработан и регистрация на него открыта. Отличный шанс для меня опробовать наш собственный продукт и приобрести полезные навыки. Но зачем это мне – казалось бы, в чём-то состоявшемуся специалисту, который не собирается в ближайшее время менять свою профессию? Думаю, на прохождение курса меня подтолкнуло несколько причин.

12243597_1672092699735745_3814152161841299893_n

Practice what you preach

Пожалуй, одной этой причины было бы достаточно – 4 года я развиваю Python-сообщество и сам не являюсь программистом. Пытливый читатель подумает, что это такая шутка, но нет, всё серьёзно. Пожалуй, мой гуманитарный опыт во многом помог “достучаться до сердец” программистов, которые зачастую бывают интровертами. Да, некоторые маркетинговые ходы важны для роста сообщества, но всё-таки общаться с участниками на одном языке (в нашем случае это Python) тоже необходимо. Когда меня спросили, не я ли являюсь автором какой-то библиотеки для Python, я понял, что пришло время учиться.

Работа в IT

По-моему, об этом писали уже много раз – работая с программистами, стоит понимать язык программистов. Правы ли вы, когда говорите: “Там всего 2 строчки кода и дел на 30 минут”, – или же показываете свою некомпетентность и теряете уважение сотрудников? А с другой стороны, программист-“халявщик” имеет меньше шансов обмануть вас, растягивая на неделю работу, которую действительно можно сделать за час. Планируя развитие проекта, стоит учитывать такие факторы как его архитектуру, нагрузоустойчивость и масштабируемость. Следует понимать, закрыты ли все дыры безопасности и не случится ли внезапных “сюрпризов”. Конечно, всегда имеет смысл работать с людьми, которые понимают в своём деле больше вас, но это не значит, что можно позволить себе вообще не разбираться в их работе.

12687778_460250270830276_2683326668640852125_n

Развитие мозга

Альцгеймер – не наш выбор, а потому мозг хочется нагружать разнообразной деятельностью. Не хочу сказать, что я испытываю какой-то “застой” – в связи со своей работой приходится сталкиваться с новыми проблемами и постоянно изучать новую информацию, в том числе на английском языке. Однако разнообразие нагрузки (а написание кода в ходе практических сессий отличается от написания статей и электронных писем), безусловно, приносит свою пользу. Думаю, что сочетание гуманитарного образования с техническими навыками может дать крайне интересные результаты. Надеюсь получить новые ощущения, которые я смогу описать в следующих статьях.

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Обучение

Как не застрять в обучении

Это один из самых популярных постов на Medium, получивший уже более 22 тысячи аплодисментов с начала месяца. Тони Мастрорио, со-основатель Whiteboardfree.com, рассказывает о том, как перейти от туториалов к разработке.

AppTractor

Опубликовано

/

Автор:

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

У каждого проекта, который я мог придумать, было несколько функций, которые я просто не знал, как реализовать. Я всегда спрашивал себя – как я могу приступить к работе над каким-либо проектом, если я даже не знаю половины того, что нужно для его завершения. Я всегда думал, что мне надо научиться большему, прежде чем я смогу сделать что-то сам.

Добро пожаловать в учебное чистилище

Итак, вместо того, чтобы создавать собственные проекты, я застрял в том, что я называю «учебным чистилищем». Поскольку я понимал, что учиться –  это хорошо, я читал и смотрел каждый туториал, который мог найти, который казался интересным, который, как я думал, я смогу в один день применить в собственном проекте. Я проводил так месяц за месяцем, заполняя ночи бесконечными видео на YouTube, Udemy и на всех других сайтах, которые я только мог найти. Я многому научился, но забыл чуть ли не больше в процессе.

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

Например, когда я только начинал, я купил и посмотрел курс The Web Developer Bootcamp на Udemy – 43 часа видео по таким темам, как HTML, CSS, Bootstrap, JavaScript и jQuery. Я думал, что курс вышел отличный, но когда я закончил, я все еще не был готов делать собственные проекты.

Вместо этого я вернулся на сайт и купил еще The Complete Web Developer Course 2.0. И посмотрел еще 30 часов видео, охватывающих большинство тех же тем, что и первый курс!

Почему так получилось? Честно говоря, я думаю, это из-за того, что с учебниками вы чувствуете себя в безопасности. В туториалах у вас есть кто-то, говорящий, что точно делать. И вы чувствуете, что многому научились и стали невероятно продуктивны.

Но на самом деле, если вы изучаете одно учебное пособие за другим, и все только ради обучения, а не в рамках более крупного проекта, над которым вы работаете, то вы, вероятно, учитесь намного меньше, чем думаете.

Нет инструкций – нет проблем

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

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

Это казалось амбициозным проектом, но мне было все равно. Я хотел сделать что-то, что было вызовом для меня. И так как я недавно начал изучать Ruby on Rails и действительно наслаждался этим, я решил использовать Rails в качестве фреймворка для моего побочного проекта.

Было много всего, что я не знал, когда начал делать этот первый проект (так же, как и сейчас с каждым новым проектом, который я начинаю). Я не знал, как создать систему авторизации, реализовать разбиение на страницы или использовать AJAX в приложении Rails. Я не знал, как использовать рекурсию для реализации системы комментариев. На самом деле, я даже не знал, что такое рекурсия!

Начните с того, что вы знаете

Но это не имело никакого значения. Я не думал обо всех вещах, которые я не знал. Я начал с того, что умел, и понял, что выясню все остальное по пути.

Google стал моим лучшим другом. Это привело меня к Devise и oAuth Rails, которые я бы мог объединить для создания системы авторизации. Devise позволил бы моим пользователям создавать новые учетные записи и входить с ними в систему, а oAuth предоставил бы им возможность входить с использованием существующих учетных записей Google или Facebook.

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

Когда я застревал на чем-то, я перешагивал через вопросы и ответы на Stack Overflow и искал статьи и туториалы, которые бы помогли мне решить проблему. Я постоянно использовал обучающие материалы, но теперь я использовал их только для изучения того, что я немедленно мог применить к проекту.

Нормально просить о помощи

В редком случае, когда таким образом я не мог найти ответы, которые мне были нужны, я попросил о помощи на Stack Overflow. На некоторые из моих вопросов даже ответили (например, на этот, где я попросил о помощи с вложенными комментариями).

Хотя ни один из ответов не решил мою проблему сам по себе, они подсказали мне, где искать, и помогли продолжить работу и найти решение. Я понял, что Stack Overflow не так страшен, как его малюют, и каждый нуждается в помощи время от времени.

Код этого моего первого проекта не слишком хорош. Ему нужен некоторый рефакторинг, и, вероятно, есть намного более эффективные решения для некоторых вещей. В проекте даже есть некоторые вещи, которые я не понимаю. Но это не имеет значения. Я построил что-то нетривиальное, что действительно работает, и я сделал это не просто следуя набору инструкций.

Из своего первого проекта узнал больше, чем из всего предыдущего года, потраченного на обучение. Самое главное – я получил навыки, которые действительно нужны успешному разработчику. Я научился решать проблемы и влезать в код, я впервые получил  восхитительное удовольствие от создания чего-то, что действительно работает. Не имеет никакого значения, что у проекта сейчас нет ни одного пользователя, или что дизайн не так уж прекрасен. Сам акт создания чего-то собственного преобразил меня.

Вы никогда не узнаете, как делать всё (никто не знает), и вам всегда нужно будет искать что-то в Интернете (все ищут). Просто не позволяйте этому мешать вам делать вещи.

Комментарии
Продолжить чтение

Новости

Магистратура ivi и МАИ «Управление процессом разработки программного обеспечения»

С сентября 2018 года стартует магистерская программа, созданная ivi совместно с МАИ – “Управление процессом разработки ПО”.

AppTractor

Опубликовано

/

Автор:

«Работа с вузами – глобальная тенденция всех отраслей, а в сфере IT – качественный метод взаимодействия с будущими специалистами и решения проблемы нехватки кадров. Участвуя в образовательном процессе, мы помогаем формировать учебные планы максимально эффективно как для ВУЗа, так и для студентов, корректируя набор дисциплин и подачу практических знаний таким образом, что ещё до окончания программы специалист вооружается практическими навыками, которые позволяют ему быстро адаптироваться в IT-среде. За время своего существования, мы нарастили качественную и достаточно эксклюзивную экспертизу, которой готовы делиться с будущими специалистами”, – говорит Евгений Россинский, директор по технологии онлайн-кинотеатра ivi и эксперт программы

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

Выпускники программы будут обладать такими навыками, как умение протипировать приложения и IT-проекты, владение гибкими методологиями разработки IT-продуктов и организации работы команд, владение технологиями разработки IT-продукта, умение оценивать качество разработанных IT-решений, практические навыки оценки стоимости работ и решений в области IT и многое другое. Наряду с этими навыками, студенты получат качественную управленческую квалификацию, позволяющую занимать топовые позиции в дальнейшем. По факту, это практически готовые Project manager IT, ведущие разработчики и scrum – мастера.

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

Основные обучающие треки: язык программирования (Python, C#, Java и другие) и операционные системы, лицензирование ПО и подходы Open Source; подходы к управлению разработкой; работа с хранилищами данных и BI, реляционная алгебра и SQL; Прикладные решения для управления IT-проектами и техники работы руководителя IT-проекта.

Программа разработана совместно с бизнес-партнерами: ivi, «Диасофт», КРОК, Новые облачные технологии, «1С: Франчайзи Виктория».

Комментарии
Продолжить чтение

Новости

В Udacity появились курсы для разработчиков, ищущих работу

Udacity с Grow With Google создали 12 курсов для тех, кто ищет работу и готовится к прохождению интервью.

AppTractor

Опубликовано

/

Автор:

Udacity в блоге пишет:

С тех пор, как мы еще в 2014 году начали программы Nanodegree, наша команда помогала студентам в достижении рабочих целей – в получении оплачиваемой работы, карьерного роста и более высокой зарплаты.

Хотя Udacity отказалась от гарантии предоставления  работы в течение 6 месяцев выпускникам Nanodegree Plus, компания по-прежнему хочет оказывать своим студентам помощь в развитии карьеры.

Пилотный курс карьерной программы «Нетворкинг для карьерного успеха» был запущен еще в марте 2018, сейчас он дополнен еще 12 курсами, покрывающими множество аспектов – от персонального бренда до прохождения интервью и написания  сопроводительных писем.

Из них 4 ориентированы на начинающих и занимают от одного дня до одной недели, 2 касаются подготовки к интервью на Python и Swift и займут четыре недели, еще есть 6 однонедельных курсов для подготовки специалистов по:

 

Комментарии
Продолжить чтение

Новости

Иннополис открывает бесплатную летнюю школу по коллаборативной робототехнике и программной инженерии

Обучение пройдёт с 6 по 19 августа впервые одновременно по двум направлениям — робототехнике и программной инженерии. Мероприятие ориентировано на студентов магистратуры, аспирантов, постдоков и молодых исследователей с опытом в робототехнике или программной инженерии. 

AppTractor

Опубликовано

/

Автор:

На каждое направление доступно 20 бесплатных мест. Заявки принимаются до 17 июня. Максимальное количество участников школы — 40 человек: 20 по каждому направлению.

В этом году школа организована в два этапа:

  • 6-10 августа — обучение по направлениям: «Робототехника» и «Программная инженерия»;
  • 11-19 августа — участники с двух направлений сформируют смешанные команды по 4-6 человек для совместной работы над проектом.

После летней школы заинтересованные студенты смогут остаться на стажировку в одной из 13 лабораторий Университета Иннополис.

«Спикеры летней школы — ведущие учёные в области робототехники и разработки программного обеспечения. Мы позаботились о том, чтобы лекции для наших гостей прочитали профессора из Норвегии, Кореи, Италии, Франции и России, — рассказывает Александр Климчик, руководитель Центра развития робототехники ИТ-вуза и координатор школы. — Лекторы поднимут актуальные вопросы робототехники и программной инженерии и закрепят их на практике».

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

«Участие в треке “Программная инженерия” поможет слушателям узнать, как строится ПО, какие подходы использовать в разработке в зависимости от целей и как измерить производительность работы команды. Слушатели также познакомятся с новыми структурными подходами для создания современных и поддержки уже разработанных систем», — подчеркнул Альберто Силлитти, координатор школы и руководитель Лаборатории киберфизических систем Университета Иннополис.

Обучение пройдёт на английском языке.

Регистрация: https://university.innopolis.ru/en/research/summer-school/

Комментарии
Продолжить чтение

Реклама

Наша рассылка

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.