Боже, джаву храни!

Не так давно я писал об нарушении обратной совместимости как главном грехе разработчика. У меня есть несколько Ruby приложений которые уже давно живут в продакшене. Версия ruby, которую я использовал, 2.5, перестала поддерживаться, и всех попросили переехать на 2.7. Однако сделать это было не так просто. Бампнув версию и попытавшись запустить я получил кучу ошибок. Я отложил это дело до лучших дней и недавно...

Кассовый разрыв

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

Как оверсинкинг и перфекционизм мешают мне заканчивать проекты

Перфекционизм—ближайший друг прокрастинации. Я часто страдаю желанием сделать все "как надо", но неожиданные препяствия, возникающие на этапе делания как надо а не как попало часто тормозят работу, убивают мотивацию и приводят к затягиванию сроков и перерасходу бюджета. Рассмотрим мой недавний микропроект с ClickHouse. Задача была довольно простая—взять данные из одного места и положить в другое. Всё. Что может быть проще? После завершения PoC клиент...

ClickHouse. Нюансы

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

Когда олимпиадники могут. ClickHouse

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

Аутсорс нация

Среди разработчиков распостранено мнение, что не имеет значения на какую компанию работать: продуктовую, сервисную, аутстафф, стартап, не-ІТ. Лишь бы платили денег и желательно побольше. Согласно опросу ДОУ, 65% разработчиков заняты в аутсорсе, остальные—в продукте и стартапах. Рискну предположить, что в "настоящем" продукте работает гораздо меньше 35%—под "настоящим" я понимаю компанию которая была создана у нас и содержит основную часть рабочей силы у нас. Потому...

Кадило крутится лавеха мутится

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

Комьюнити решает

Люблю играть в арена-шутеры. Quake и подобные игры. Но вот незадача — таких как я очень мало. В шутаны катает немного людей, а среди тех, кто катает — очень много киберкотлет, с которыми нет никакого смысла играть. Зато очень много людей играет в доту. Или в лол. Или в вов. Или в ксго. Там стабильно высокий онлайн и серьезное коммьюнити. Можно без проблем найти себе соперников по уровню,...

Мои карьерные ошибки—долго засиживаться на одном месте

Если бы я перечислял все косяки в карьерном развитии, то первым бы шла длительная работа на одном месте. Человек вообще склонен сопротивляться изменениям, и это очень часто вредит в стратегической перспективе. Вот так и я сидел на жопе ровно, пока часики тикали, а потом оглянуться не успел—годы прошли, время потрачено впустую, деньги не заработаны. Моим первым проектом на первой работе была штука, которая никому не...

ІТ или не ІТ компания?

Мой старый босс мне говорил такие слова: "надо работать в компании, кешфлоу которой завязан на программный продукт. В банках деньги зарабатывают те кто впаривают кредиты а не те кто делают бэкоффис систему. В банках программист это человек второго сорта, после собственно банкира. Поэтому в банки не ходи". Была ли это ловкая манипуляция чтобы я не ушел в люксофт на проект ubs или действительно правда—мы уже...

daliy rozhok №4: Жора

Дайджест канала @daily_rozhok. На этой неделе я рассказываю про Жору — моего товарища который имеет все шансы стать бездомным. Как становятся бомжами. Жора — интро. Знакомимся с Жорой. Как становятся бомжами. Такси — Жора пытается заработать деньги в такси. Как становятся бомжами. Деньги и подарки — Жора едет за тридевять земель с подарком даме сердца. Как становятся бомжами. Лень — Жора не спешит. Как становятся бомжами. Помощь — ищу способы помочь...

Сложности текстовой коммуникации

Пяток лет назад я попал на серию статей Егора Бугаенко об организации работы в распределённой команде. Одной из ключевых особенностей этой системы был запрет на любые коммуникации вне гитхаб тикетов. Проблема потерянных пакетов, отсутствия документации и незафиксированных договорённостей мне очень знакома. Позже эту же идею, поощрение структурированного текстового общения я увидел в блогах малоизвестной конторы Arkency и более известной конторы Basecamp. С тех пор меня не...

Как я деплоймент скрипты на JS писал

В одном из стартапов где я работал, я полностью занимался инфраструктурой. Вначале вся наша микросервисная история деплоилась на Elastic Beanstalk, потом решили переехать на ECS. Для CI/CD зарядили Jenkins и кучу баш-скриптов, осталось научиться деплоить это в прод. Я взялся за эту задачу и зачем-то решил что все деплоймент скрипты у меня будут на JS. Ну как зачем. Я думал что сделаю полноценную ChatOps систему...

Веб-скрапинг. Инструменты

Для скрапинга можно использовать всё что угодно. Вам нужно лишь сделать запрос, получить содержимое и дальше его разобрать. Теоретически, скрапинг можно делать на bash + какой-то программой для работы с xml. Библиотеки для работы с сетью и парсинга html есть во всех языках. Можете брать любой. Однако скрапинг помимо собственно запроса и обработки включает еще кучу всяких вещей. Вам нужно ходить по ссылкам и желательно делать это...

Веб-скрапинг

Интернет—бездонный океан информации. Часто она не структурирована и требует подготовки, чтобы быть полезной. Множество продуктов строят свою бизнес-модель на сборе и обработке данных. Веб-скрапинг—это автоматизированный сбор информации с сайтов и других источников: публичных API, файлов с данными и так далее. Скрапинг нужен везде и всегда. Первый раз я столкнулся с этим в 2010, когда мы были совладельцами маленькой сети зоомагазинов и нужно было искать...

Оновлення бібліотек на проектах

"Rotting software" це серйозна проблема. Вибухове зростання індустрії генерує таке ж зростання кількості інструментів розробки та пришвидшує старіння існуючих рішень. В 2015 для розробки стартапа ми взяли мікросервіси та Spring Cloud Netflix. До 2017 половину з цього стеку сам Netflix перевів у maintenance режим, а деякі рішення просто задепрекейтив у себе та залишив напризволяще. Ми ще не встигли вийти в продакшн, а одна з ключових підсистем...