работа

работа

О работе.

Пет-проект для портфолио миддла и сеньера

Какие могут быть варианты развития маленького чат-бота? В исходном тексте я описал инфраструктурные вещи—усложнение всего, кроме логики бота. Что делать, если хочется программировать, а не фуллстечить, девопсить и разбираться с кубернетесами? Бот работает только в телеграме. Скорее всего, там отсутствует прослойка логики обработки диалогов. Что, если понадобится добавить еще один мессенджер? Для этого нужно добавлять абстракции—диалог, кнопка, событие от мессенджера, контекст пользователя. Выделение такого...

Пет-проект для джуниора. За сколько времени его нужно сделать?

Джуниор должен управиться с базовым чатботом за рабочую неделю, 40 часов чистого времени. Чем я руководствуюсь при такой оценке? Во-первых, 40 часов—это очень много. Это 5 дней напряженной работы, 10 дней обычной офисной работы или 20(!) дней по 2 часа в день. Колоссальное количество времени. Во-вторых, у меня уже есть эмпирические данные: Когда я брал к себе в шлюпку первого джава-джуна, то дал тестовое задание—...

Пет-проект для портфолио джуниора. Реализация

Рассмотрим реализацию квиз-чатбота на примере джавы. Большинство java-вакансий содержат Spring/Hibernate. Этот фреймворк уже давно доминирует на рынке, и если вы его изучите, то потом легко сможете перейти на другой, потому что концепции везде одинаковые. Предположим, что вы уже умеете писать хелловорлд на джаве и знаете все базовые конструкции языка. Как начать делать чатбота? Найти существующих ботов, посмотреть как они работают, чтобы иметь представление о конечном...

Пет-проект для портфолио джуниора. Идея

Меня попросили предложить идею пет-проекта для портфолио джава джуна без опыта. Такой, цитирую, "чтобы при подаче заявки в резюме прикладывать гитхаб и это делало его интересным кандидатом?". Дальше буду говорить о веб-разработке, но принципы применимы к чему угодно. Я скептически отношусь к гитхабу в резюме. Не говорю за других нанимающих менеджеров, но я никогда не видел интересных проектов—обычно это круды типа PetClinic из туториалов спринга....

Работа, которая мне не нравится 2/∞

Есть вид задач, суть которых заключается в том, что нужно кого-то переиграть. Например, я много работал со скрапингом данных, это вообще популярная тема. Как вы можете догадаться, не все ресурсы любят, когда их скрапят, и стараются защититься—например ставят себе проверку на клиентский js, подключают сервисы антискрапинга (incapcula), блокируют по IP (самое простое что может быть), делают нечитаемые классы для стилей чтобы труднее было писать xpath...

Отзывчивость

Замечали ли вы когда-нибудь, насколько приятнее работать с банкоматами в который установлен древний софт на ncurses? Они моментально срабатывают на любое нажатие клавиши, не тупят при переходах между экранами. Новые терминалы, на которых (вероятно) открывается что-то типа электрона нереально медленные по сравнению со старыми. Как по мне интерфейсная отзывчивость сильно недооценена. Впрочем я не о программах. Большинство действительно нужной работы, которую я делаю, работается за очень...

Rabbit hole

Это выражение в английском языке примерно обозначает сложности, которые возникают после того как начинаешь решать вроде бы простую проблему и проваливаешься как Алиса в кроличью нору. Думаю что каждому инженеру знакомо то чувство, когда чинишь маленький баг а через день приходишь в сознанение с наполовину отрефакторенным проектом. Такие норы часто непонятны менеджерам и бизнес людям, для которых задача "добавить кнопочку" выглядит работой на 1 час а...

Собеседования в фаангах

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

Главные грехи разработчиков: обратная несовместимость

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

Бесполезная работа

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

Доменные эксперты

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

Печеньки в офисе

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

О парттайм работе

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

Metabase

Самое быстрое, самое эффективное и самое оттягиваемое решение, которое я когда либо принимал для клиентских проектов это установка BI системы. Серьезно, сколько времени за несколько лет я потратил на кастомную выгрузку данных или допиливание существующих отчетов? Десятки часов, не меньше. Почему так делал? Потому что я не очень продуктивен, вот почему. Все это время у меня в бэклоге висела задача "поставить BI". Висела, висела,...

Почему исполнители падают на мороз

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

Сарафанное радио

Считаю что одним из лучших показателей того, что вы двигаетесь в правильном направлении является то, что вас зовут старые коллеги/клиенты/боссы на свои новые проекты. Это помимо, естественно, получения денег. У меня было много ситуаций, когда я, как мне казалось, подводил работодателя или клиента, не успевал сделать в срок, выдавал не супер-качественный продукт. Если сидишь без явного фидбека типа "Вова ты красавчик" то...