Python-разработчик и давний сотрудник Mozilla Тарек Зьяд ответил на вопросы dev.by и рассказал о написании книг по программированию, удалённой работе и секретах Firefox.
— В своём Twitter-аккаунте вы указали: «Mozilla, Python, Running». Первый вопрос: ваше лучшее время в беге на 10 км, полумарафоне и марафоне?
Бег помогает мне поддерживать физическое и моральное здоровье. Разработчики подолгу сидят за монитором, так и с ума можно сойти. Если не заниматься собой, можно очень быстро потерять форму. Тем более, когда работаешь удалённо и не нужно добираться до работы.
Когда я пытаюсь исправить код, баг или обдумываю какую-то новую функциональность, самые яркие моменты озарения случаются именно во время пробежек. У меня не такие выдающиеся результаты, потому что серьёзно заниматься бегом я начал где-то в 36 лет, а сейчас мне за 40. Мой лучший результат на 10 км — 36:03, а на полумарафоне — 1:20:13, оба прошлогодние. Что касается марафона, мой рекорд был в Берлине 3 года назад (2:58).
— Вы написали пять книг, преимущественно по Python. Что мотивирует на подготовку новых изданий?
Главный стимул — это тщательно разобраться в теме и поделиться знаниями с сообществом разработчиков. Чтобы написать книгу, придётся разобраться в деталях, всё разложить по полочкам и постоянно перепроверять всё, что пишешь.
Например, качественное асинхронное приложение на Python можно построить, даже не зная до конца, как работает модуль asyncio. Но если вникать, что и как устроено, всё становится гораздо понятнее. Скажем, если понять, что делает yield и что такое сопрограммы, писать приложения вы будете совсем на другом уровне.
— Сколько времени уходит на книгу? Стоит ли разработчикам писать книги или вести блоги?
Написание — долгий процесс. Часто книги остаются незавершёнными, потому что сложно заставить себя тратить на это время каждый день. А если не писать понемногу ежедневно, процесс очень легко забросить. И у меня есть незавершённые проекты.
Я бы не советовал писать книгу просто о Python — в продаже и так можно найти много литературы по этой теме, и её постоянно переиздают. Если у разработчика остаётся желание написать собственную книгу, какой бы ни была мотивация — делать это, безусловно, стоит.
Важно выбрать оригинальную тему — такую, чтобы читатели просто не смогли пройти мимо издания. Какой бы она ни была, я заметил, что людям нравится читать, когда разработчики делятся своим практическим опытом. Эти книги намного успешнее других. Спросите себя: какими классными проектами мне действительно хотелось бы поделится с остальными?
— Давайте поговорим о работе в Mozilla. Почему выбрали этого работодателя?
Изначально меня взяли в Mozilla Corporation, когда в 2009 году они переносили все сервисы с PHP на Python, и компании был нужен человек, знающий язык.
Mozilla — одна из немногих компаний, которые ведут разработку на основе открытого кода и представлены по всему миру. Её корпоративная культура строится на удалённой работе. А так как я не хотел переезжать и чувствовал себя комфортно в компании, было вполне логичным остаться.
Я был одним из первых питонщиков и первым европейцем в команде. Я налаживал те методы работы с Python, которые используют во всей компании и сегодня. Приятно, когда какие-то инструменты, например, Flake8, который придумал я, становятся неотъемлемой частью разработки проектов на Python и самого репозитория Firefox.
— Что отличает эту компанию от других?
Для меня очень важна возможность работать удалённо, я работаю так уже много лет. Но в большинстве компаний, я иногда чувствовал себя оторванным от того, что происходило в офисе. А в Mozilla много усилий направлено на то, чтобы помочь «удалёнщикам» полностью влиться в происходящее. Любой митинг и событие организованы так, чтобы это было удобно всем. Это важно как для нас, сотрудников, так и для сообщества в целом. Так как над проектами Mozilla работает очень много сторонних разработчиков, и мы стремимся обеспечить им возможность присоединиться к любому митингу при желании.
— Миссия Mozilla — сделать интернет глобальным ресурсом, открытым и доступным для всех. Как компания реализует эту цель?
Всё, что мы делаем, прямо или косвенно связано с принципами, описанными в нашем манифесте. Например, мы много вложили в проекты Do Not Track и Let’s Encrypt, задача которых — улучшить защиту конфиденциальности. Также есть программа MOSS в поддержку ключевых проектов с открытым кодом. Python Package Index, например, получил грант именно в рамках этой инициативы.
Наш главный проект — это, конечно, Firefox. Его запустили, чтобы всемирная сеть оставалась глобальным источником информации, и для успеха его нужно постоянно совершенствовать. В прошлом году мы выпустили новый, очень быстрый браузер Firefox Quantum.
— У Mozilla открыто 30 офисов во всём мире, и ориентируется она на удалённую работу. Какие инструменты и процессы обеспечивают эффективную работу компании?
В каждом офисе оборудованы различного размера переговорные, и кто угодно может присоединиться к митингу со своего ноутбука. В ежедневной работе мы используем IRC-сервисы, DVCSes (git/mercurial), Continuous Integration tools, Review tools и т.д. Самая большая проблема — это разница в часовых поясах. Но мы привыкли с этим справляться.
— Что такое сетевой нейтралитет? Почему это важно для людей, живущих за пределами США?
Сетевой нейтралитет означает, что стоимость услуг и скорость передачи интернет-провайдеры должны устанавливать вне зависимости от контента.
То есть просмотр фильмов на Netflix ничем не должен отличаться от чтения статей Википедии. Крупные компании вроде Netflix занимают значительную часть пропускной способности, и это подталкивает поставщиков интернет-услуг относиться к ним по-иному, или блокировать P2P-сети.
Опасность в том, что интернет-провайдеры хотят поставлять нам различные услуги. Скажем, вам придётся доплачивать $40 в месяц за более быстрое P2P-соединение, или $5 за обновления Netflix. Такая избирательность превращает интернет в «пирог», который операторы продают пользователям по кусочкам, и сеть перестаёт быть общедоступным ресурсом.
Несколько лет назад Федеральная комиссия связи США поддержала инициативу сетевого нейтралитета, но несколько месяцев назад отказалась него. Теоретически, это отразится только на американских провайдерах. Но на деле вес Федеральной комиссии связи и США настолько велик, что это может создать прецедент для стран Евросоюза и подтолкнуть их к принятию подобных законов.
В идеальном мире сетью должна управлять неправительственная организация, но — мечтать не вредно.
— Вы знали, что всего несколько лет назад самым популярным браузером в Беларуси была Opera? Можете поделиться какими-нибудь интересностями о Firefox?
Для меня в этом ничего удивительного, Opera — отличный браузер.
Интересное о Firefox? Пожалуйста:
1. Он перевёден почти на сто языков мира, и занимаются этим преимущественно волонтёры. Самый редкий язык — западнофризский, на нём говорит всего 10 тысяч пользователей в Нидерландах.
2. Мы попали в Книгу рекордов Гиннесса за самое большое число скачиваний в сутки, сделанных через Firefox (в тот день их были миллионы).
3. попробуйте ввести вот это в адресную строку:
about:robots
about:mozilla
about:credits
chrome://browser/content/browser.xul
А ещё мы спрятали секретного единорога в Firefox.
4. Команда браузера создала «инопланетный круг» на поле для съёмки видео.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.