Любые процессы разработки должны быть явными

Картинка взята отсюда Очевидные вещи нужно проговаривать Так говорил мой тимлид, закончивший юрфак, но ушедший в айти. Говорил он так о процессах разработки: свод правил, по которым работает команда. Этакий кодекс программиста отдела N. Этот свод правил должен быть публичным и каждый должен знать, где его прочесть. Но зачем нужно описывать то, что и так всем известно? Давайте обсудим. Правила работы в команде есть всегда, даже если они нигде не описаны и никем не проговорены. Так складывается исторически, что Ваня лучше знает платежи, Петя - как настроить тестовое окружение, а Юля - что делать, если нашел баг. И тот, кто уходит в отпуск, начинает получать сообщения в мессенджеры: “сорри что пишу, но …..”. В такой среде легко допустить ошибку, особенно новичкам. Еще хуже, когда даже не знаешь, кого можно спросить в критичный момент. ...

February 26, 2023 · 7 min · Maxim Gorbatyuk

Совету начинающему тимлиду

Disclaimer У меня есть опыт руководства командой, которая находилась в одной локации. Советы актуальны и для распределенных команд, однако для них стоит учесть разные таймзоны. Когда я пишу “разработчики”, я имею в виду не только программистов, но и тестировщиков, аналитиков, дизайнеров и всех, кто выполняет задачи бизнеса и помогает строить продукт. 1. Ты - не разработчик Время, когда можно было несколько часов подряд кодить, закончилось. Теперь твоя личка в распоряжении ПМа, продакта, бизнес-аналитика, тестировщиков и разработчиков. У тимлида всегда хотят что-то узнать, посоветоваться с ним, согласовать решение, пожаловаться на товарища. Молодому тимлиду нужно быть готовым к этому и расставлять приоритет. ...

January 3, 2023 · 6 min · Maxim Gorbatyuk

Тайм-менеджмент для студентов

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

November 2, 2022 · 8 min · Maxim Gorbatyuk

Почему открытые зарплатные вилки – это хорошо

Открытые зарплатные вилки – это когда каждый миддл знает, сколько зарабатывают миддлы и другие грейды в той компании, где он работает. Условно говоря, получает специалист 1500$, но он знает, что вилка его уровня составляет от 1200$ до 2000$. Но просто взять и рассказать всем про деньги, которые они могут получать, нельзя. Мало знать возможности, нужно еще и понимать, как достигнуть ее. Для того, чтобы работники знали путь достижения нового грейда, компании нужно привести в порядок бизнес-процессы. ...

June 6, 2022 · 5 min · Maxim Gorbatyuk

Conflicts lead to high-quality products

RU version of this blogpost is here Only conflicts of interest lead projects to make progress. The project may be any: it-product, building houses, or society and state regime. In systems where its elements keep being static, life stops. Everyone is satisfied with everything he has at the moment. First of all, I should declare what is “conflict of interests”. A conflict of interest is a dispute where the interests of two or more stand against each other to reach one common cause. Meanwhile, people do not get personal about those conflicts. They know that the dispute is needed to find the right ways and approaches. ...

May 9, 2022 · 5 min · Maxim Gorbatyuk

Конфликт в проекте – качественный продукт

EN version of this blogpost is here Только здоровый конфликт ведет к развитию системы, будь то айти-проект, строительство дома или устройство государства и общества. В системе, где элементы находятся в состоянии спокойствия, движение останавливается. Все довольны всем, что имеют на данный момент. Для начала стоит прояснить, что такое “здоровый конфликт”. Здоровый конфликт (далее “конфликт”) - это противостояние двух противоположных интересов для достижения результата между ними где-то посередине, и при этом участники конфликта не переходят в прямую конфротацию. Люди понимают, что конфликт нужен для достижения результата и не переходят на личности. ...

May 8, 2022 · 4 min · Maxim Gorbatyuk

Как создавать эффективные баг-репорты

Хороший баг-репорт – понятный, прозрачный, содержит в себе все, что потребуется для решения проблемы в проекте. Написать такой нетрудно. При составлении важно выложить всю необходимую информацию из своей головы в тикет в Jira, и тогда вопросы разработчики не будут спрашивать “очевидные вещи”. Баг-репорты составлять — тоже навык, который нужно развивать. Уметь донести свою мысль до другого человека - полезный навык не только для тестировщиков, но и разработчиков тоже. Проектные менеджеры — разработчикам, фронтендеры — бэкендерам, тестировщики — всем. Если junior-разработчик хочет перейти на следующую ступень карьеры, то он ему пригодится этот навык. Для сеньоров он must-have. ...

December 28, 2021 · 3 min · Maxim Gorbatyuk

How to integrate Identity Server into your web application

Let’s imagine you have a web application built as a monolith and you want to introduce microservices. Or you may have several clients connected to your backend solution: mobile app, SPA, devices, etc. One of the first tasks that you have to solve is integrating authentication and authorization. In my opinion, one of the simplest ways is integrating SSO (Single-Sign-On system) into your application. There is an open-source ready-to-use product IdentityServer4 which implements OpenID Connect and OAuth2.0 frameworks. The solution is built using .NET core 3.1 and is easy to modify according to your business rules. Also, it is an out-of-box solution ready to deploy. Therefore, you don’t have to develop and set up a custom authentication system. ...

December 26, 2021 · 3 min · Maxim Gorbatyuk

Do not forget about Async postfix

There is a recommendation: to write a postfix “…Async” at the end of async methods in .NET. I always follow this rule, and also I recommend everyone to do this as well as I do. In this article, I want to share my thoughts on why this is an important rule when you deal with asynchronous programming. You can call the async method without await and it will not throw any error In my opinion, it is a problem that .NET allows us to call an asynchronous method without the await keyword and without awaiting a result as well. and no compile error will be thrown. Also, a runtime error will not be thrown as well. Therefore, you should mark async methods with “…Async” postfix to help yourself and your teammates not miss possible errors in the production. ...

December 12, 2021 · 2 min · Maxim Gorbatyuk

Главная задача тимлида на проекте

Что значит быть тимлидом Таким вопросом задаются многие разработчики: и те, кто хочет стать тимлидом, и те, кто уже. После полутора лет работы в качестве тимлида у меня сформировалось некое понимание своей роли в проекте и компании. На мой взгляд, главная и едва ли не единственная задача тимлида на проекте – сделать максимально возможное, чтобы поставить продукт вовремя. Звучит легко, однако за этой формулировкой стоит такой огромный спектр задач, что можно легко запутаться. Попробую раскрыть тему, что обычно я делаю для того, чтобы поставить продукт вовремя. Что можно включить в перечень задач, достигая которые выполняется главная? ...

August 18, 2021 · 3 min · Maxim Gorbatyuk