«Думаю, JavaScript не подходит для веба». 10 вопросов программисту, 4 выпуск (из Берлина)

gshymuureprnibenf4m0g8ezc1a.jpeg

Этот и ближайшие несколько выпусков будут о ребятах, которые живут и работают в Германии. Герой этого интервью — Сергей Ермолаев (Sergiy), фронтэндер из Берлина. Учился на Немецком факультете экономики и права в Грузии. Начал админить сеть в универе, увлекся Flash, с его помощью адаптировал образовательные программы для детского сада. Потом занесло в крупное казино, где он переписывал на Flash криво написанную рулетку. Переехал на Мальту по приглашению Betsson Group, но за полтора года заскучал и поехал в Германию за орднунгом в компанию AiComp.

fjvdmyglrwwm4398thml4ydwkws.jpeg

Его путь: Flash AS2/AS3 → AngularJS → Angular/React/Vue → Kotlin (Spring Boot, Android, Angular), Flutter, C#

1. Расскажи о фиче, которую ты реализовал и которой гордишься.


Да, была такая, для рулетки в казино. Там сразу несколько фич было. Целый canvas render для игрового стола: несколько «канвасов» друг на друга были наложены, с разной прозрачностью. Довольно сложно было, потому что нужно было эмулировать флэшовый стек и еще с HTML как-то совмещать. Плюс поверх необходимо было добавить звук. И чтобы все работало нормально в разных браузерах, в том числе мобильных. Короче, крутое решение получилось: с генерацией звуков из папки, с подхватыванием всех ассетов… Это у меня заняло где-то месяц: работал по 16 часов. Обещали премию, но по итогу денег не оказалось. Это был момент, когда я понял, что надо сваливать.

2. А теперь — про самый лютый факап.


Да-а-а-а. Тоже в казино. В свое время на Flash я успел наговнокодить. Так получилось, что игрок делал двойную ставку: он видел одну фишку, а по факту ставил две. И если проигрывал, то проигрывал двойную сумму. Выиграть тоже можно было, но это не часто. Нафакапил я на тысячи долларов. Но из зарплаты не вычли, как-то все нормально прошло.

3. Опиши свое рабочее пространство: от кресла и монитора до сред программирования и любимых утилит.


Очень немецкая фишка — подвижный стол, у которого можно регулировать высоту. И лично мне обязательно нужен 4k-монитор, хотя по Берлину — это довольно крутое требование. Я вообще мало знаю местных ребят, кто смог попросить оборудования больше, чем на 300 евро. Так что этот монитор себе покупал я сам, лишь бы не мучиться.

eqtdixdvn36e_oiexxjlb6eck8a.jpeg

Ноутбук принадлежит компании. Это Thinkpad 470p с увеличенной батареей, удвоенной оперативкой. Такая рабочая лошадка, которую сломать не получится. Там внутри i7, поэтому мощности мне хватает.

w_wm9rnm5wezke6uwjdbrdyiuji.jpeg

4. По какому принципу ты выбираешь работу? Стек, продукт, бытовые условия, деньги?


Деньги — не самое главное. Я, может быть, согласился бы и на меньшую сумму, если бы была очень интересная работа. У меня вообще есть проблема: если проект скучный, не интересный, то начинается страшная депрессия. Я впадаю в ступор и ничего не могу делать. Так что интересный проект — это самое главное.

И обязательно сама технология должна быть интересной мне. Я бы не стал связываться с Java, Spring Boot. Но Kotlin, да — это круто. Это должно быть что-то откуда ты почерпнешь новые знания и опыт.

5. Что в технологиях и языках, которые ты используешь, ты бы хотел исправить?


Господи! JavaScript! Убейте его. Я думаю, что он не подходит для веба. Его надо пилить, пилить, пилить и пилить. Допустим, система прототипирования. Там нет обычных классов. Их как бы добавили в новой ревизии ES6, но это просто syntax sugar. И там очень странные баги: если взять единицу как цифру и добавить к единице как строке и потом отнять единицу, ты получишь совершенно неожиданный результат. Ты можешь знать все эти нюансы и они тебе никогда не понадобятся, но может возникнуть ситуация, когда хер его знает, что вообще происходит. Есть даже такой сайт js-shit — там собраны перлы из JavaScript, что можно получить, случайно выстрелив себе в ногу.

Ну то есть TypeScript или Flow решают сейчас проблемы. И на на гугловский Dart я позитивно смотрю — там есть очень интересные фичи. Но по итогу ты опять-таки получаешь JavaScript.

6. Где лучше перенимать чужой опыт — в вузе, на конфах, на хабре? Еще где-то?


Частично — на Хабре. Стоит смотреть, что люди пишут, и обязательно читать комментарии. И обязательно лезть в source code проектов на GitHub, которые более или менее «со звездочками».

С книгами вот все плохо — очень редко можно найти такую, где все уже давно не устарело. Они могут подойти для начинающих, потому что там много места отведено тому, как устроена технология в принципе. А если ты уже что-то умеешь, то я бы советовал читать блоги евангелистов технологии, которой ты пользуешься.

Но в любом случае ты будешь факапить поначалу, где только можно.

7. Будь у тебя неограниченные ресурсы (время, деньги, мощности, люди), каким проектом ты бы занялся?


В космос бы не полетел, зачем Марс засорять? Но обязательно купил бы в деревне домик и разводил цветы. Обычный домик без выкрутасов, с маленьким бассейном, может быть. Гнал бы грузинскую чачу дома. И йогой бы занялся.

На пенсию в Германии выходят примерно в 65. И у меня нет особо планов после 40–45 продолжать программировать. Поэтому в этот момент я бы открыл стартап, запустил бизнес и особо не лез в него — молодые лучше знают свое дело. А я бы занимался цветочками.

8. Как ты отдыхаешь? Что делаешь кроме работы?


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

Сейчас собираюсь сгонять к родителям в Тбилиси: поесть, поспать, может смотаться в Батуми. Но это не активный отдых, а такой… обязательный. А так у меня в планах Норвегия — хочу посмотреть на фьорды. Дорого, согласен, но я один, поэтому могу себе позволить. И это больше к зиме уже.

9. Расскажи про 3 любимые книги — учебную, научно-популярную и художественную.


  • Думаю, нужно почитать классические книги по хорошему коду. Gang of four (авторы книги Design Patterns — прим. ред.) надо обязательно. Но в целом я особо смысла в учебных книгах не вижу, потому что то, что ты читаешь сегодня, завтра уже устаревает. Проще почитать официальную документацию — будет тот же результат.
  • Научпоп не особо читаю, но стараюсь смотреть на YouTube «Антропогенез», где ребята против альтернативных теорий и пытаются рассказать, как все в науке обстоит на самом деле.
  • Художественная — «Чапаев и пустота», Пелевина. Мне вообще Пелевин нравится.


10. Если прямо у тебя на глазах в ИИ проснется сознание, что ты ему скажешь?


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

Вопрос от предыдущего гостя: если бы твою профессию, дело всей жизни и то, чем ты кормишь близких (семью) в один прекрасный день объявили незаконным, что бы ты сделал?


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

Бонус: задай вопрос другому разрабу


Осознай ты себя бессмертным или не стареющим, преодолевшим стандартные 70 лет раза два — три, как бы ты продолжал жить?

© Habrahabr.ru