В сентябре 2020 журнал «Системный администратор» проводил опрос под названием «Срез индустрии». Мы принимали участие в интервью и с разрешения редакции публикуем статью в нашем блоге.
В журнале «Системный администратор» мы всегда хотим знать больше о том, чем живут программисты и ИТ-индустрия. Для этого мы провели опрос «Срез индустрии», чтобы понять тенденции развития отрасли, а также узнать, как наши герои попали в индустрию и что привлекает их в ней. Мы получили ответы от разных людей: из России и Великобритании, из мобильной разработки, веба, фронтенда и бекэнда, из энтерпрайза и open source. Что же они говорят?
1. Почему вы стали программистом? С какими трудностями столкнулись?
2. Что вам нравится в работе программиста? Что придает смысла и драйва ежедневным таскам?
3. Каким вы видите будущее программирования? Что ждет программистов через год, пять, десять лет?
Подготовил Павел Наконечный
Иованна Мишанина, Senior iOS engineer в TUI London
«Самым сложным, наверное, был момент после окончания университета»
1. Мне всегда в школе нравилась математика. Нравилось ощущение решенных задач, я участвовала в олимпиадах, ездила в математические школы. Какой-то всегда был драйв от процесса задача – гипотеза – решение. Я училась в математической школе, сомнений куда поступать особо не было. К счастью, я в тот момент выбрала более прикладное направление и поступила на факультет компьютерных технологий. Тогда (в 2006 году) было еще не понятно, насколько программирование будет востребованным. Самым сложным, наверное, был момент после окончания университета. Я закончила провинциальный университет, у меня было очень мало навыков, а вакансий для неопытного разработчика немного. Но я решила, что попробую.
2. Мне нравится как раз описанный процесс решения задач. А еще то, как ты закладываешь свои архитектурные идеи в какой-то эксперимент и даже в отпуске подглядываешь за code review: узнать, как там твое детище. От этого чувствуешь себя немного творцом и все время стараешься сделать свое творение лучше. В мобильной разработке не приходится скучать, за восемь лет я даже немного устала от постоянных обновлений ОС и языка. Приходится бежать очень быстро, чтобы не стоять на месте.
3. Сейчас мир потрясла пандемия. Если посмотреть за тенденциями топовых компаний, то страшно, что мы совсем не увидимся в офисах. Это ни хорошо, ни плохо. Но раньше хотя бы был выбор.
Через 10 лет, думаю, языки станут еще более функциональными, и, возможно, лет через пять появится что-то действительно крутое для кросс-платформенной разработки.
Александр Евсеев, ведущий архитектор, компания «ФОРС – Центр разработки» (ГК ФОРС)
«Читал книги, всё осваивал сам методом проб и ошибок, нарабатывал опыт»
1. Интересоваться разработкой ПО я начал еще в школе. Еще до того, как начались уроки информатики, один мой друг показал мне процесс разработки на Visual Basic. Это меня очень заинтересовало, увлекло и помогло определиться с выбором специальности. Когда я поступил в университет, то осознал, что сфера ИТ очень широкая, и необходимо определиться с направлением своего развития как разработчика. С этим помог случай – когда я учился на четвертом курсе, меня пригласили на работу в банк, а там, в основном, разработка велась на pl/sql, а значит, была тесно связана с СУБД.
В начале пути не хватало материалов для обучения. Читал книги, всё осваивал сам методом проб и ошибок, нарабатывал опыт. В банке я начинал работать в должности помощника специалиста. Сначала каждая задача была вызовом. Приходилось параллельно изучать и предметную область, и инструментарий для реализации. Я сталкивался с ошибками, выявленными после установки в промышленный контур, проблемами с производительностью, всевозможными нештатными ситуациями у пользователей. С опытом большая часть задач переходит в категорию рутины, но руководство не дает скучать, повышая должность и расширяя круг обязанностей.
Уже через несколько лет я занимал должность руководителя группы разработчиков. Это был новый опыт, который дал навыки лидерства, а также научил планированию и ответственности за действия коллег. Сейчас я занимаю должность ведущего архитектора, а также выполняю обязанности «team leader». Непосредственно разработкой приходится заниматься уже меньше, чем раньше, но при этом мне приятно, что с моим участием в проектировании, силами моей команды, строятся с нуля информационные системы. Если раньше я, как разработчик, обладал познаниями только по тем частям системы, которые делал сам, то теперь я, как архитектор, имею непосредственное отношение к системе в целом. Такие масштабы требуют больше сил и времени.
2. На мой взгляд, работа программиста не может надоесть. Это та сфера, где достигнуть потолка просто невозможно. Технологии постоянно развиваются, меняются, и скорость этих изменений только растет. Всегда приходится так или иначе стараться развиваться вместе с этим миром. Среди ежедневных тасков регулярно встречаются необычные, бросающие вызов, для реализации которых требуется освоить что-то новое. Эти задачи и не дают заскучать. Помимо технической стороны вопроса, очень нравится то, что разработчик со временем становится экспертом в различных прикладных областях, в автоматизации которых он был задействован. Например, проработав несколько лет в банке, я стал неплохо разбираться в этой сфере. В жизни разработчика есть возможность поучаствовать во многих проектах из различных областей, что очень хорошо развивает кругозор и полезно в жизни. Также нравится, что у разработчиков очень мощное международное сообщество. Постоянно проводятся конференции и другие мероприятия различного уровня, в которых интересно и полезно участвовать, расширять круг знакомств по всему миру, обмениваться опытом.
3. Это непростой вопрос. С одной стороны, с учетом всевозрастающей скорости развития технологий, наверняка появятся новые инструменты и технологии разработки. Возможно, через десять лет рутинная часть деятельности разработчика будет автоматизирована, шаги к этому выполняются уже сейчас. Но, с другой стороны, многие компании достаточно консервативны в использовании продуктов ИТ-сферы и далеко не всегда стремятся использовать самые последние и актуальные наработки. Например, выпущенная в 2007 году СУБД одного крупного глобального вендора используется во многих компаниях до сих пор, а значит, и разработчики для этой платформы востребованы и делают всё то же, что 13 лет назад. Думаю, что те продукты, технологии и средства разработки, которые появились и используются сейчас, будут всё еще востребованы и через 10 лет, но, безусловно, появятся и новые, интересные и, возможно, прорывные решения для разработчиков.
Андрей Кирпий, инженер по разработке, Сбербанк
«В этой работе много преимуществ, каждый найдет свое»
1. Когда мне было 30 лет, мне пришло приглашение от СберКота попробовать свои силы в новой школе программирования «Школа 21» от Сбербанка. На тот момент мы с другом делали игры и выпускали их на площадке Steam. Я занимался левел-дизайном, но мне стало интересно попробовать себя и в коде, поэтому, особо не раздумывая, я подал заявку, прошел тестовое задание, собеседование и успешно закончил 26-дневное испытание. И вот я здесь!
2. В этой работе много преимуществ, каждый найдет свое. От зарплаты и до участия в развитии технологий во всем мире. Для меня больше всего привлекательна свобода, которую дает эта профессия: относительно безболезненно можно сменить, например, город проживания или даже страну. Силы работать каждый день придает то, что я всё еще только в начале этого пути и впереди еще очень много всего нового и неизведанного. Мне есть куда расти.
3. Попытайся я переключиться на программирование в тридцать два года в нулевых, то это было бы в разы сложнее. Сейчас современные технологии и доступность информации открыли возможность прийти в чудесный мир программирования людям из других профессий. И это здорово, ведь люди из этих профессий приносят с собой новый взгляд на различные проблемы. Поэтому будущее программирования я вижу в том, что программировать сможет каждый. Да, на разных уровнях, но тем не менее, я думаю, этому начнут учить в каждой школе с младших классов, как сейчас преподают английский.
Александр Сербул, Head of Data Science, руководитель направления контроля качества интеграции и внедрений, ООО «1С-Битрикс»
«Мне нравится сложность решаемых задач»
1. Программирование было моим хобби с 12 лет, привлекало сложностью, лаконичностью решения различных задач. Я видел пользу от математики в реальной жизни. После окончания института в 1998 году можно было найти работу, связанную с программированием, которая оплачивалась достойно и попасть в адекватный коллектив. Главные трудности, с которыми я столкнулся, были:
- найти человека, который бы смог простыми словами объяснить конструкцию языка или вообще подход к архитектуре или алгоритм;
- найти хорошую, понятную, написанную человеческим языком книгу как по языку, так и по алгоритмам или платформам/системам;
- найти применение своим знаниям: не всегда это просто, как оказалось.
2. Мне нравится сложность решаемых задач. При использовании программы у человека открываются потрясающие возможности – принести миру пользу, упорядочив данные и оцифровав рутинные процессы. Можно управлять большими системами с помощью метрик, математической статистики и теории вероятностей, других алгоритмов, в том числе искусственного интеллекта.
Особый драйв – ощущение власти над точностью вычислений: огромная программа работает точно, идеально точно и не устает помогать людям.
Еще драйва добавляет вынужденное применение математики – видно, что она на самом деле работает, а не пылится в скучных конспектах.
3. Будущее программирования я вижу в помощи человечеству разгрести рутину, которая его сдерживает, запутывает и заставляет ощущать себя рабом: распределение бюджетных денег, которые куда-то постоянно не доходят или доходят не все, контроль социальной поддержки граждан, контроль начисления пенсий, медицина. Убежден, что программирование никогда не будет заменено AI – это просто глупо так считать. В программировании столько тонкостей, требующих использования высших возможностей интеллекта, что пока очень примитивным глубоким нейросетям до нашего уровня еще бесконечно далеко.
Интересными и перспективными языками для изучения я считаю Java, C++, Rust, С#. Для веба – точно PHP. Делать «прототипчики» или «отчетики» – точно python. Сильно погружаться в AI не рекомендую, это удел узкой специализации математиков, а вот пользоваться нейросетями нужно уметь. Советую активно изучать и правильно применять алгоритмы – без их понимания создаваемые системы будут малоустойчивыми к нагрузкам. Настоятельно рекомендую также серьезно изучить ООП на взрослых языках типа Java и C++. ООП – это основа для создания больших и надежных программ, без него никуда. Функциональное программирование тоже интересно и полезно, но только в очень узкой области вроде компиляторов и вычислений. ФП – слишком идеальная абстракция, я не вижу ее реального и активного применения в ближайшую тысячу лет. Отдельная область развития – системное администрирование. Кроме хайповых технологий «для подростков» вроде Docker/Kubernetes, стоит глубоко разбираться в работе операционных систем и сетей на уровне TCP/IP – без этого, уверен, не получится написать надежный и качественный софт, радующий пользователей своей безотказной работой.
Александр Токмаков, основатель веб-студии «Компьюти» computy.ru, full stack разработчик
«Приходилось покупать книги по программированию, ходить в библиотеки»
1. В 6 лет я увидел на работе у мамы синий экран (MS DOS) в тех. отделе и с тех пор мечтал о компьютере. В 8 лет появилась клавиатура-денди с ЯП Basic, тогда я понял, что это мое. Несмотря на то, что программирование – техническая специальность, я нашел в нем простор для творчества.
До начала эры глобального Интернета главной проблемой был поиск решений для задач. Приходилось покупать книги по программированию, ходить в библиотеки. Теперь есть куча ресурсов, где можно найти практический любой ответ.
2. Несмотря на большой опыт в программировании (более 10 лет), с каждым проектом узнаешь что-то новое. Раньше раздражало осознание того, что во многом не разбираешься (даже в своей сфере), теперь радует. Не было такого проекта, который не вызвал бы трудности в процессе разработки. Бесконечный процесс обучения и развития – это главный стимул дальше заниматься программированием.
В процессе работы приходится сталкиваться с другими сферами деятельности. Для того чтобы хорошо выполнить работу, приходится вникать в тонкости профессии. Например, у нас была задача написать опрос посетителей сайта для вычисления индекса потребительской лояльности (NPS). Пришлось погрузится в маркетинг, найти исследования в этой области, изучить решения на рынке.
Ну и, конечно, больше всего получаешь удовольствие, наблюдая как твой «ребенок» растет и развивается. Создавая сервис или веб-сайт, искренне радуюсь успехам и достижениям заказчика. Ведь успех проекта – это твой успех.
3. Невероятно сложно предсказать, что будет дальше. А будущее в программировании еще более непредсказуемо. Из тенденций – наблюдаю постоянную гонку за скоростью (скорость работы приложений, Интернета, устройств). Поэтому и в программировании скорость будет расти (компиляция, процесс написания кода, редакторы). Появятся более удобные средства разработки.
Возможно, будет сенсорное программирование с помощью жестов, голоса. Часто сталкиваюсь с тем, что встречаются незрячие программисты. Десять лет – не такой огромный срок, чтобы судить о кардинальных переменах. Предполагаю, что искусственный интеллект нас пока не заменит.
Филипп Кулин, руководитель хостинга diphost.ru
«Мне нравится создавать что-то новое, какие-то новые «архитектуры». Или улучшать»
1. В школе классе в 10-м впервые увидел компьютер – БК-0011М. Никто в нем не смыслил. Это было чудом. Я выпросил у учительницы документацию и сидел вечерами читал, не понимая половины. А потом меня не взяли в мореходку по зрению. Поступил на ФТК в питерский Политех – просто потому что кто-то еще туда шел. Не доучился, но стал программистом. Крайне прозаичная история.
2. Мне нравится создавать что-то новое, какие-то новые «архитектуры». Или улучшать. В любой утилитке, даже самой банальной, я вижу, что можно улучшить, создать как-то интересно и эффективно. В детстве я любил рисовать. Рисовал так себе, но любил. У меня все тетрадки изрисованы машинками, солдатиками, узорами, какими-то украшениями, еще чем-то. Видимо, это как-то и повлияло на то, что я нахожу удовольствие в программировании.
3. Что ждет программистов через 1–5–10 лет? (Рассмеялся). Их ждет программирование. Это очень общее слово. И «что ждет» тоже многогранно. Есть и парадигмы программирования, и инструменты, и, может, стили, и еще какие-то аспекты. Все они будут меняться по-разному. Но тут я обращу внимание на некий дуализм – программирование за последние 50 лет изменилось до неузнаваемости. Однако мы почти все до сих пор пользуемся операционной системой, заложенной 50 лет назад, и продуктами на языке и производных языка, заложенного 50 лет назад. Изменилось ли программирование за это время? До неузнаваемости. Осталось ли оно почти таким же? Несомненно. Это ответ на то, что будет с ним в будущем
Я думаю Soft Skills будут ОЧЕНЬ нужны. Индустрия меняется каждый год. Закостенелые узкоспециализированные эксперты не 80-го уровня вообще на свалку уйдут. Да и гуру придется вертеться.
Александр Макаров, Yii framework lead
«Когда приходит понимание – это очень и очень приятно»
1. В моём детстве отец собрал несколько компьютеров: Орион и ZX Spectrum. Конечно, сначала всё, что меня интересовало – это игрушки. Но их было не так много, и в какой-то момент стало интересно, как же они устроены. Попутно были набраны первые программы «с листа» и написана на BASIC «угадай число». На PC история повторилась. Сначала запоем игрушки, потом интерес, что же там внутри. Интерес укрепился прочно и, в итоге, стал решающим при выборе того, на чём фокусироваться в учёбе. Дальше был университет: пять лет Computer Science и всего сопутствующего. После этого серьёзная работа на разные компании, параллельно Open Source и, в итоге, только Open Source с не очень частыми частными консультациями. Главная трудность всего IT – это необходимость уделять профессии очень много времени, всегда учиться и никогда не останавливаться. Это как у Кэролла: «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!».
2. Мне всегда нравилось досконально разбираться в решаемых проблемах, понимать как всё работает на всех уровнях. Когда приходит понимание – это очень и очень приятно. Ну и, конечно, коллеги. Так как последние годы я работаю с OpenSource, окружение очень разнообразное. Это интересно.
3. В будущем программирование, несмотря на развитие машинного обучения и ИИ, никуда не денется. Индустрия скорее всего поменяется. Станут актуальными чуть другие задачи, а текущие будут решаться без программирования. Например, ещё пять лет назад большинство даже простых сайтов именно программировали. Сейчас нишу простых сайтов чуть ли не полностью съели проекты вроде «Тильды». Что будет актуально всегда – это решение проблем бизнеса.