Дебаг: інтерактивність

Часто можна почути думку що дебаг—шкідлива практика, яка відівчає програміста думати. Таке я чув від свого боса на першій роботі, таке можна прочитати в інтернетах, багато хто так каже. Замість дебагу пропонують більше занурюватися у код, робити юніт-тести на свої шматочки функціональності, активно використовувати логування. Дійсно, я неодноразово спостерігав за своїми джунами, що порожнім поглядом дивилися в екран, та механічно натискали F8. Але для...

Дебаг

10 років тому я працював у парі разом із своїм тімлідом над розробкою кешу для БД. Продукт, що ми робили, було неможливо запускати локально. Процес виглядав наступним чином: робиш зміни, збираєш JAR, заливаєш його по FTP на application server, рестартуєш сервер через веб-консоль WebLogic, чекаєш 5 хв, перевіряєш як працює. Незручно та дуже довго, цикл зворотнього зв'язку надзвичайно повільний, робота нефективна. Все ускладнювалося...

О конференциях 4. Качество

Предыдущие части: раз [https://www.rozhkov.me/post/conferences-1], два [https://www.rozhkov.me/post/conferences-2], три [https://www.rozhkov.me/post/conferences-3]. В этом году я посетил больше событий, чем за всю свою предыдущую жизнь. Одна из главных вещей, которую я вынес из всего этого—это то, что качество докладов и умения докладчиков, даже на серьезных, дорогих конференциях, в подавляющем большинстве случаев...

О превосходстве одних технологий над другими

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

Сперва добейся / Болтать — не мешки ворочать

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

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

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

Вендор-лок наоборот

Для тех, кто не знает, "вендор-лок" — это такая тема, когда вы подвязываетесь (в чем угодно) закрытую технологию какого-нибудь производителя, делаете на его платформе какое-то решение, а дальше не можете с него слезть. Самый распространённый пример — использование, например, базы данных Oracle или облака AWS. Вначале может быть все хорошо и радужно, но чем дальше в лес тем толще партизаны, и вот уже...

Рассказать я и сам могу, а вот сделать как?

На всех проектах, в которых я участвую, или которые я делаю сам, я всегда вижу кучу проблем. Более того, я даже знаю как их все можно исправить! Вот один пример: Один из проектов, который живет в активном продакшене уже более двух лет, в основе своей имеет некое API, которое принимает на вход данные от партнёров. Дальше мы эти данные вращаем и асинхронно отдаем результат. И вот,...

Фулл-стек системы управления проектами

Любимая тема при старте проекта — "какой системой будем пользоваться для управления?". Кажется что вот сейчас выберем правильную и хорошую систему и проект сделается сам по себе. На моей первой работе (в 2007) была самописная штука сделанная на базе платформы, которую компания и разрабатывала/продавала (сама платформа — это ERP конструктор для телекомов, тоже очень навороченная). Для заказчиков продавались модуля для работы с сетями, инвентарём и...

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

В любой работе есть 20% интересной и сложной части и 80% рутины и полировки. Вначале ты довольно долго подступаешься к задаче, превозмогаешь, а дальше раз—основная проблема решается и остается только "задеплоить код". Вторая фаза естественно будет занимать гораздо больше времени нежели первая. Basecamp визуализируют это в виде так называемых Hill Charts [https://basecamp.com/features/hill-charts]. Вначале ты долго ползешь на гору,...

Рецензия на книгу Егора Бугаенко "Code Ahead"

Я очень давно хотел закупиться у Егора всеми его книгами, но как-то так получалось, что все митапы и конференции с его участием я пропускал (из рук автора купить книги можно со скидосом в 50%). Но вот, месяц назад Егор анонсировал что он будет в Киеве на конфе QA-чего-то там и потом будет делать митап. Я незамедлительно написал что хочу купить все [https://www....

Обсуждение багов в синхронных чатах

Вчера со мной произошла забавная ситуация. На одном из проектов меня попросили добавить REST API метод. Ничтоже сумнящеся я нафигачил его, отдал фронтенд разработчикам сигнатуру и пошел заниматься своими делами. Через некоторое время мне пишет в личку разработчик, который пилит свою функциональность на базе моего API, говорит "не работает" и прикладывает скриншот из постмана где написано 404. Я быстро смотрю и вижу что там...

Продажа жопочасов

Большинство из нас продает жопочасы. Работа ли это в найме фулл-тайм или парт-тайм активности — практически всегда вопрос денег сводится к месячной (или годовой) ставке или часовому рейту. Все так делают, потому что это удобно. Оценивать работу разработчика и проекты сложно, поэтому никто не хочет задаваться этим вопросом. Легко оценить простую повторяющуюся работу, например укладку плитки. Плиточник берет фиксированную сумму за квадратный метр уложенной плитки...

Resume Driven Development

Один из частых вопросов у любого инженера (и не только) — как и когда учить новое? Технологии (по крайней мере внешне) обновляются довольно быстро, количество инструментов, которыми необходимо владеть для ежедневной работы растёт и нужно все это как-то изучать и применять. Для решения этой проблемы и была придумана методология RDD она же Resume Driven Development. Для начала ответим на вопрос "как?", он же "...

Як спровокувати срач в інтернеті

Є кілька тем, щодо яких у будь-якої людини є думка: * Релігія * Політика * Стосунки Обговорення цих тем відразу провокує срач і в термінальних випадках приводить до «знайду по ІР». Два роки тому у твітер треді про women in tech мені люди без жартів погрожували фізичною розправою, хоча я нічого образливого або радикально-провокуючого не казав. Хочете пошуміти — обирайте одну з цих тем та вперед — гарантовано отримаєте...

Главный язык который должен знать любой разработчик

Помимо английского [https://www.rozhkov.me/post/first-language/]. Язык который пригодится везде и всегда, бекендеру и фронтендеру, и даже не только разработчику, но и тестировщику, бизнес-аналитику, (дев)опсу и вообще кому угодно. Язык который можно сказать в своей базовой форме универсален посреди всех платформ и практически не изменялся десятилетиями. Язык, к вызовам которого сводится 80% всей разработки вообще. Это... SQL! Во времена JavaEE ходили...