Ответ
Мой тимлид сказал бы, что я — надежный и проактивный разработчик, который фокусируется на качестве и долгосрочной поддерживаемости кода. Он отметил бы мою привычку не просто закрывать задачи, но и думать о последствиях, предлагая улучшения архитектуры и предотвращая технический долг.
Конкретные примеры:
- Чистый код и рефакторинг: Я активно выношу дублирующуюся логику, превращая её в переиспользуемые компоненты или стратегии.
// Вместо цепочки if-else или switch public interface IShippingCalculator { decimal Calculate(Order order); } public class ShippingCalculatorFactory { private readonly Dictionary<string, IShippingCalculator> _calculators; public decimal CalculateCost(string provider, Order order) => _calculators[provider].Calculate(order); } - Ответственность за сроки: Я реалистично оцениваю задачи, разбиваю их на подзадачи и коммуницирую о возможных рисках заранее.
- Командная работа: Я конструктивно участвую в код-ревью, задаю вопросы по дизайну и всегда готов помочь коллегам разобраться в сложных частях кодовой базы.
Ответ 18+ 🔞
А, ну вот, опять про эту ебучую самооценку в резюме. Типа, напиши про себя так, чтобы звучало скромно, но при этом все поняли, что ты — бог кода и спаситель проекта. Ладно, попробую на своем языке, а то эти шаблонные фразы «проактивный» и «фокусируюсь на качестве» уже в печенках сидят.
Если бы мой тимлид, тот еще циник, про меня рассказывал, он бы, наверное, так и сказал: «Да, этот товарищ — тот ещё зануда, но, блядь, полезный». Не потому что я задачи просто в лоб закрываю, а потому что я вечно лезу с вопросами: «А че это у нас тут в трёх местах один и тот же пиздец скопирован?», «А что будет, если завтра приедет ещё один тип доставки, мы опять на switch на пол-экрана будем расширять?».
Ну, типа, конкретика:
-
Про чистый код и мою манию. Меня реально бесит, когда я вижу один и тот же кусок логики, размазанный по десяти файлам. У меня прям чешутся руки это вынести куда-то, завернуть в интерфейс и сделать так, чтобы потом не ебаться. Вот смотри, вместо того чтобы плодить эти бесконечные
if (provider == "X") ... else if (provider == "Y"), я лучше потрачу час и сделаю фабрику стратегий. Да, сразу может и дольше, но зато потом, когда приедет новый провайдер «Z», его добавление — это не поиск всех мест в коде, а просто новая реализация интерфейса. И все довольны, кроме того, кому лень было архитектуру думать.// Вот смотри, было вот это говно везде: // if (provider == "A") cost = order.Weight * 10; // else if (provider == "B") cost = 100 + order.Weight * 5; // А стало вот так, и новые штуки добавляются в одно место: public interface IShippingCalculator { decimal Calculate(Order order); } public class ShippingCalculatorFactory { private readonly Dictionary<string, IShippingCalculator> _calculators; public decimal CalculateCost(string provider, Order order) => _calculators[provider].Calculate(order); // И всё, блять! } -
Про сроки. Я не из тех, кто сходу бодро рапортует «да я это за два часа сделаю!», а потом неделю героически ночами сидит. Я сначала сяду, разберу задачу на куски, посмотрю, где подводные камни, и приду скажу: «Слушай, тут в оценке я накосячил, потому что обнаружил, что наш старый апи вообще не умеет в эту фичу, надо или костыль пилить, или его дорабатывать. Так что вместо двух дней — четыре, иначе будет пиздец». Честность, блядь, она в долгосрочной перспективе времени экономит овердохуища.
-
Про командную работу. На код-ревью я не просто ставлю лайк или пишу «ок». Если вижу кривой дизайн или потенциальную проблему — спрошу: «А почему вот так? А что будет, если тут приедет
null? Может, лучше вот так переделать, а?». И наоборот, если ко мне приходят с вопросом «чё-то не работает, я уже три часа бьюсь» — я не отмахиваюсь. Сяду, помогу разобраться, потому что понимаю: чем быстрее все в проекте будут понимать, как что устроено, тем меньше потом мне самому придется расхлёбывать чужой непонятный код. Это, в общем-то, эгоизм просвещённый, но он работает.
Короче, я не гонюсь за тем, чтобы закрыть таск и забыть. Я стараюсь сделать так, чтобы через полгода, возвращаясь к этому коду, я не хотел послать нахуй того, кто его писал. И в идеале, чтобы этот «кто-то» был не я сам.