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

Перфекционизм [https://teletype.in/@uxlive/overthinking]—ближайший друг прокрастинации. Я часто страдаю желанием сделать все "как надо", но неожиданные препяствия, возникающие на этапе делания как надо а не как попало часто тормозят работу, убивают мотивацию и приводят к затягиванию сроков и перерасходу бюджета. Рассмотрим мой недавний микропроект с ClickHouse. Задача была довольно простая—взять данные из одного места и положить в другое. Всё. Что...

ClickHouse. Нюансы

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

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

На одном из самых старых проектов которые я разрабатываю начала тупить отчетность. Как только я поставил клиенту BI (напоминаю, это было самое быстрое и самое эффективное [https://www.rozhkov.me/metabase/] решение задачи которое я когда-либо делал), то аналитики сразу начали городить кучу дашбордов и отчетов. В основном все работало бодро, но некоторые запросы изрядно тупили. Проблему довольно долго удавалось игнорировать, но в какой-то момент данных...

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

Среди разработчиков распостранено мнение, что не имеет значения на какую компанию работать: продуктовую, сервисную, аутстафф, стартап, не-ІТ. Лишь бы платили денег и желательно побольше. Согласно опросу ДОУ [https://dou.ua/lenta/articles/portrait-2020/?from=doufp], 65% разработчиков заняты в аутсорсе, остальные—в продукте и стартапах. Рискну предположить, что в "настоящем" продукте работает гораздо меньше 35%—под "настоящим" я понимаю компанию которая была...

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

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

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

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

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

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

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

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

daliy rozhok №4: Жора

Дайджест канала @daily_rozhok [https://t.me/daily_rozhok]. На этой неделе я рассказываю про Жору — моего товарища который имеет все шансы стать бездомным. Как становятся бомжами. Жора [https://www.rozhkov.me/daily/how-to-become-homeless-1/] — интро. Знакомимся с Жорой. Как становятся бомжами. Такси [https://www.rozhkov.me/daily/how-to-become-homeless-2/] — Жора пытается заработать деньги в такси. Как становятся бомжами. Деньги и подарки [https://www.rozhkov.me/daily/how-to-become-homeless-3/...

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

Пяток лет назад я попал на серию статей Егора Бугаенко об организации работы в распределённой команде. Одной из ключевых особенностей этой системы был запрет на любые коммуникации вне гитхаб тикетов [https://www.yegor256.com/2014/04/17/how-xdsd-is-different.html#no-informal-communications] . Проблема потерянных пакетов, отсутствия документации и незафиксированных договорённостей мне очень знакома. Позже эту же идею, поощрение структурированного текстового общения я увидел в блогах малоизвестной...

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

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

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

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

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

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

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

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

IDE против текстового редактора

Основной мой рабочий инструмент—IntelliJ IDEA. В нем я делаю вcё. Основной аргумент сторонников работы в текстовых редакторах—это минимализм, простота, скорость. По поводу производительности всего что сделано на электроне есть вопросы. А вот с минимализмом и простотой сложнее. Для работы мне нужно несколько вещей: собственно редактор с хорошим автокомплитом и навигацией, дебаггер для java/ruby/python, инструмент для доступа к базам данных, возможность запускать приложения...

Архитектура современных веб-приложений на примере adopt.com.ua. CMS. Мониторинг. Аналитика

Так как у меня нет тестов кроме линтеров, то нужно быть готовым быстро фиксить ошибки на проде. Для этого используются логгеры и трекеры ошибок. Логгер я не использую, так как у меня пока что нечего логировать особо. А вот для трекинга ошибок я пользуюсь отличным сервисом Sentry [https://sentry.io/]. Как он работает? Вы подключаете SDK в своё приложение, и при возникновении любой ошибки она будет...