Интервью с первым спикером Moscow Python
Знакомьтесь, это Иван. Он любит выступать. Зачем?
— Чем тебе довелось заниматься как разработчику? Какие компании, задачи, языки программирования и технологии? Где сейчас используешь Python?
В университетские годы я работал в информационно-вычислительном центре родного ВУЗа. Там я сталкивался с разработкой на всех мыслимых и не мыслимых языках программирования, с администрированием серверов и АТС. После окончания университета я уехал в Питер, где устроился на работу программистом в компанию TimeWeb. Там я узнал, что такое высокие нагрузки и научился решать сложные задачи, когда мир вокруг рушится. Однажды ко мне подошел технический директор и сообщил, что я буду писать на Python. Раньше опыта работы с этим языком у меня не было.
Сейчас я работаю в компании Positive Technologies над продуктом Max Patrol. Это очень большой и сложный продукт. Его основная задача — создание автоматизированной системы инвентаризации информационных активов. Система удалённо собирает информацию о существующих элементах сети: аппаратную конфигурацию, настройки ОС и приложений сетевого оборудования, версии и базовые настройки приложений, объекты БД, права и привилегии пользователей и многое другое. В работе мне приходится сталкиваться с десятками видов устройств. Это сетевые устройства всех пород: Huawei, Cisco, D-Link, Juniper, а также *nix машинки: AIX, HpUx, Solaris, и, конечно, все виды Windows. Поэтому скучать не приходится. На всех платформах есть какие-то свои особенности — как приятные, так и не очень.
Помимо работы, Python я использую везде, где только можно. Недавно сделал себе световой будильник из светодиодной ленты, китайского Wi-Fi контроллера и скрипта на Python. Интересно было реверсить протокол управления этим контроллером и потом рулить им из скрипта. Возможно, расскажу об этом на одной из конференций.
— По твоему опыту, какие сильные и слабы стороны у Python по отношению к другим мейнстрим-языкам программирования в твоей области?
— Python отлично подходил для быстрого прототипирования. Быстро на Python делаем прототип продукта, запускаем, а потом уже потихоньку переписываем бутылочные горлышки на что-то быстрое, если конечно это требуется.
Что касается рабочих задач, как я уже сказал, у нас есть десятки видов устройств, с которых нужно собрать информацию. Поэтому для нас скорость решения задач важнее, чем скорость работы этого решения.
— Если бы ты мог вернуться в прошлое, когда Гвидо создавал Python, и дать ему один совет — о чем бы ты сказал?
— Хорошенько подумай о строках!
— Что ты используешь для написания и редактирования Python кода?
— PyCharm, конечно! Иногда еще vim — когда нужно что-то поправить на удаленном сервере по ssh.
— Давай поиграем в Нострадамуса. Как думаешь, что станет с Python через несколько лет?
— Python захватит мир и другие языки станут не нужны. Будем программировать космические корабли на Python 13 (шутит).
— Что думаешь по поводу перехода с Python 2 на Python 3? Что-нибудь интересное, с чем ты лично сталкивался на практике?
— Я думаю, что это больно. Зубы лечить тоже больно, но надо. Поэтому уже пора собрать всем волю в кулак, покрыть код тестами и переезжать на Python 3. Давно пора. В моей практике переход с 2 на 3 проходит стандартно — как у всех.
— Какой совет ты бы дал всем новым разработчикам на Python?
— Python 3.
— На каком языке программирования пишешь на работе кроме Python? А вне работы?
— В нашей команде мы используем исключительно Python 3. Вне работы немножко играюсь со Swift, JS и последнее время поглядываю в сторону Haskell.
— Порекомендуй книгу, которую прочёл за последний год: техническую или не очень.
— Чарльз Петцольд «Код. Тайный язык информатики». Это очень интересная книга, её автор рассказывает, как мы перешли от кодирования информации с использованием азбуки Морзе к современным компьютерам. Очень легко читается, настоятельно рекомендую.
— Многие считают, что лучше всего начать обучаться программированию именно на Python. Твое мнение?
— Абсолютно согласен. У Python очень низкий порог входа. Но неплохо еще параллельно смотреть в сторону языков со статической типизацией.
От интервьювера
До начала конференции я планирую взять еще несколько интервью с этим же набором вопросов. Если у вас есть каверзные вопросы к спикерам, ответы на которые интересно узнать Хабражителям — пишите в комментах. Заявки на доклады я принимаю до середины сентября (чтобы оставался месяц на подготовку доклада). Можно писать мне в личку, фейсбук или же оставлять заявку на сайте конференции.