Search
Write a publication
Pull to refresh
13
0

Software Developer

Send message

Ты добавил всего две строчки. Почему на это ушло два дня?

Reading time3 min
Views64K
На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

  • строки кода = усилие
  • строки кода = значение
  • все строки кода равны

Ничто из этого не является истинным.

Почему исправление, которое кажется таким простым, заняло два дня?
Читать дальше →

Скрам умер. Да здравствует канбан

Reading time7 min
Views53K
Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные встречи, планирование, ретроспективные совещания, спринты и так далее. В конце концов, я пользовался на практике тем, чему меня учили.



Но через несколько лет я начал кое-что замечать: в последние дни спринта все бросаются доделывать всё то, чем занимались в предыдущие две недели, стремясь избежать переноса задач на будущее. Часто те, кто так поступали, брали на себя ненужный риск.

Почему? Разве какие-то задачи не могут подождать до следующей недели? Так ли важно доделать абсолютно всё до выходных? Нет, не так уж это и важно. А всё это происходит из-за того, что «Переносы задач — это плохо».
Читать дальше →

The state of soft skills

Reading time9 min
Views16K
Так сложилось, что софт-скиллы довольно сильно помогли мне в карьере. Например, спустя всего 9 месяцев работы в Rambler, куда я приходил простым frontend-разработчиком, мне предложили стать руководителем группы, потому что мой руководитель увидел во мне потенциал и достаточный уровень развития необходимых гибких навыков.

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

Поэтому я решил попробовать доказать тезис, что soft skills важнее для успехов в карьере, чем hard skills. И чтобы не быть субъективным и ссылаться только на собственный опыт, я изучил материалы по теме, провел собственный опрос, проанализировал ответы с использованием небольшого количества математики и теперь хочу поделиться результатами.
Читать дальше →

Microsoft ♥️ Python

Reading time14 min
Views11K
Традиционно считается, что Microsoft хорошо поддерживает языки программирования на платформе .NET: C# или F#. Но это не совсем так — облако Azure поддерживает целый спектр языков, среди которых Python занимает почетное место. А если речь заходит о машинном обучении, то Python здесь любимчик.



Какие сервисы в Microsoft ориентированы на Python, как их использовать и почему Microsoft и Python вместе навсегда, расскажет Дмитрий Сошников (@shwars).

Дмитрий Сошников работает в Microsoft 13 лет, 10 из которых — технологическим евангелистом. В Microsoft Дмитрий защищает пользователей продуктов для разработчиков от разработчиков продуктов в роли Cloud Developer Advocate. Когда возникают проблемы с продуктами компании, ему можно пожаловаться (идеально в виде issue на GitHub). Дмитрий не только посочувствует, но и передаст жалобу разработчикам компании.


Надо помолчать

Reading time3 min
Views56K
Нет, не пРомолчать, просто помолчать. Недолго, максимум — несколько минут. Нет, не чтобы собраться с мыслями. И не всем. Сейчас объясню.

Надо помолчать

UPD. Перевел этот текст на английский.

На работе я часто обсуждаю сложные задачи с коллегами. Например, про дизайн языка в Котлине или про стратегию продукта в Альтере. И мне приходят в голову решения. Часто очень быстро, прямо сразу. И много лет я просто сразу их и высказывал. Потому что я придумал решение, и рад, и горжусь, потому что так же быстрее найдем решение, что мое решение мне нравится, потому что хочется, чтобы все видели, как я быстро соображаю, и т.д. А теперь я стараюсь так не делать. Стараюсь помолчать пару минут, чтобы остальные успели высказать свои идеи.

Почему я так делаю? Потому что со временем я заметил, что иначе я мешаю остальным
Читать дальше →

Три дороги для программиста: эксперт, руководитель, основатель

Reading time15 min
Views25K

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

С разрешения Сергея мы публикуем все три видео и их текстовую расшифровку.

Читать дальше →

Созвоны не решают никаких проблем. Они нужны только людям, которые не умеют писать код

Reading time6 min
Views97K


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


Я подумал — ну окей, так, наверное, бывает не всегда. С тех пор прошло лет 5, я не раз менял работу, но везде и всегда созвоны были пустой тратой времени.

Читать дальше →

Снимаем колёса и он в домике

Reading time7 min
Views61K
В конце есть краткое содержание.

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

Получается примерно такая структура в каждом ларьке: управляющий, нормальный шиномонтажник, и куча бомжей. Управляющий занимается оплатой и организацией труда, с клиентами разговаривает, спорные ситуации разруливает. Шиномонтажник делает всю сложную работу – балансировку, перебортовку, контроль момента закручивания гаек и т.д.

А бомжи тупо снимают и ставят колёса. И, вроде, еще умеют их в мойку засовывать.

Схема простая. Приезжает человек переобуться, без предварительной записи. Видит – уже много машин стоит, и все вроде в работе. Расстраивается – придется развернуться и уехать, искать дальше… Но не тут-то было – подбегает управляющий, говорит – рады вас видеть, то сё, ща переобуем. Гена, Коля, тащите домкрат, обслуживайте клиента!

Подбегают бомжи и снимают одно или два колеса. Ну и всё, клиент в домике.
Читать дальше →

Не надо следовать JavaScript-трендам

Reading time7 min
Views20K
Однажды, когда у вас выдался не самый светлый день, вы увидели новый твит о том, как пользоваться хуками React. Но по какой-то причине ваша компания или ваша команда ещё не перешли на хуки. Или, может быть, вы ими пользуетесь, но не таким способом, который можно было бы назвать «трендовым». Возможно, вы применяете Vue.js или Angular, но React-хуки лезут буквально отовсюду, вы видите сообщения о них так часто, что возникает такое ощущение, будто скоро о них «заговорит» даже микроволновка.

Так как день у вас был не очень удачным, вы начали задаваться вопросом о том, всё ли благополучно с вашим кодом. Может, стоить зарефакторить тот кусок программы, который вы только что прошли? После того, как вы перестали задавать себе вопросы о своём коде, у вас заработала фантазия, вы стали представлять себе то, как хуки будут смотреться в вашей кодовой базе.

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


Обложка выдуманной книги: «Переписываем фронтенд каждые шесть недель»
Читать дальше →

Эх, айти, куда ж ты котишься? 

Reading time20 min
Views72K
Ну что, Хабр, прошло полгода какого-то очень неприятного 2020, до конца десятилетия ещё чуть-чуть — и уже сегодня я могу сказать: это десятилетие прежде всего стало золотым веком IT-сферы. Накопленный опыт, новые эксперименты и крутое железо сделали своё дело. Казалось, что айти стало новым рок-н-роллом, но как-то быстро оно приблизилось к тому, чтобы стать новой попсой. Все хотят в айти, неважно кем: менеджерами всего и по всему, переводчиками, деврелами, пиарщиками, копирайтерами, ну и собственно программистами, тестировщиками, инженерами. А отрасль тем временем сильно видоизменяется. Предлагаю вам поговорить о нас, о нашем айти и о том, куда всё катится. 

Читать дальше →

CQRS, UI, основаный на заданиях, Источники событий… ах

Reading time4 min
Views15K
Ремарка от меня. Подобрать терминологию было непросто, поэтому готов в процессе редактировать перевод, чтобы улучшить понимание текста.

Многие заблуждаются в отношении того, что собой представляет CQRS. Они рассматривают CQRS как архитектуру, хотя он таковым не является. CQRS – это простой шаблон, имеющий много архитектурных возможностей. CQRS не является конечной согласованностью, событийностью, или обменом сообщениями, это не модель для чтения и записи, и не использование источников событий. Я попробую несколькими абзацами описать, что такое CQRS, а потом рассмотрю, какое отношение он имеет к другим шаблонам.
Читать дальше →

Типы CQRS

Reading time5 min
Views29K
CQRS — довольно хорошо изученный паттерн. Часто можно слышать, что вы либо следуете CQRS, либо нет, имея ввиду что это что-то вроде бинарного выбора. В этой статье я бы хотел показать, что существует спектр вариаций этого понятия, а также как разные типы CQRS могут выглядеть на практике.
Читать дальше →

Functional C#: работа с ошибками

Reading time6 min
Views30K
В этой части мы рассмотрим как иметь дело со сбоями и ошибками ввода в функциональном стиле.

Читать дальше →

Functional C#: Primitive obsession (одержимость примитивами)

Reading time6 min
Views29K
Это вторая статья из миницикла статей про функциональный C#.

Читать дальше →

Functional C#: Non-nullable reference types (ненулевые ссылочные типы)

Reading time5 min
Views20K
Третья статья в серии «Функциональный C#».

Читать дальше →

Что делать, если в вашей команде появился «эффективный» менеджер?

Reading time12 min
Views186K

Пару лет назад друзья скинули очень забавный комикс под названием “Сова — эффективный менеджер”. Я посмеялась, подумала, что смешно, такого же не бывает, как классно утрированы ситуации. Но очень скоро этот комикс стал моей реальностью — в нашей команде появился он: “эффективный” менеджер, и стало не до смеха.


Итак, с этого момента начинается вызов для продакт/проджект менеджера и команды. В ходе этой истории все стороны понесли огромные потери: и инвестор, и продукт, и команда. Но главное, что из подобных ситуаций выход есть, а масштабы бедствия можно локализовать и сократить.


Читать дальше →

Магические сигнатуры методов в C#

Reading time9 min
Views31K

Представляю вашему вниманию перевод статьи The Magical Methods in C# автора CEZARY PIĄTEK.


Есть определенный набор сигнатур методов в C#, имеющих поддержку на уровне языка. Методы с такими сигнатурами позволяют использовать специальный синтаксис со всеми его преимуществами. Например, с их помощью можно упростить наш код или создать DSL для того, чтобы выразить решение проблемы более красивым образом. Я встречаюсь с такими методами повсеместно, так что я решил написать пост и обобщить все мои находки по этой теме, а именно:


  • Синтаксис инициализации коллекций
  • Синтаксис инициализации словарей
  • Деконструкторы
  • Пользовательские awaitable типы
  • Паттерн query expression
Читать дальше →

Утерянная диссертация Денниса Ритчи

Reading time11 min
Views20K
image

Многие из вас, дорогие читатели, слышали о Деннисе Ритчи. В конце 1960-х он оставил аспирантские исследования в области прикладной математике в Гарварде ради должности в Bell Telephone Laboratories, где и проработал всю жизнь. Вскоре после поступления на работу в Labs Ритчи объединил свои усилия с Кеном Томпсоном для создания фундаментальной пары, породившей весь последующий цифровой мир: операционной системы Unix и языка программирования C. Томпсон вёл разработку ОС, а Ритчи занимался созданием C, на котором Томпсон переписал Unix. В то время Unix стал основой для большинства операционных систем, из которых строился наш цифровой мир, а язык C стал (и по-прежнему остаётся) одним из самых популярных языков для создания ПО, приводящего этот мир в движение.


Создатели Unix Кен Томпсон и Деннис Ритчи. Источник фотографии неизвестен.

На личных веб-страницах Ритчи сайта Labs (которые до сих пор поддерживает текущий владелец Nokia), он описывает в характерном ему сухом и уничижительном стиле своё путешествие в академический мир компьютерных наук:

«Я… получил степень бакалавра и учёную степень в Университете Гарварда, где студентом занимался физикой, а аспирантом — прикладной математикой… Темой моей докторской диссертации 1968 года были подрекурсивные иерархии функций. Опыт моей студенческой учёбы убедил меня, что я недостаточно умён для физика, и что компьютеры — это довольно любопытно. Мой аспирантский опыт убедил меня, что я недостаточно умён, чтобы стать специалистом в теории алгоритмов, и что мне больше нравятся процедурные, а не функциональные языки»1.
Читать дальше →

Ускорение старения современных технологий

Reading time12 min
Views21K
Когда меня просят дать интервью, или когда приглашают выступить с рассказом о моей работе по модернизации устаревших систем, то, и так происходит всегда, все хотят говорить о мейнфреймах и о COBOL. Я так думаю, что собеседники ждут от меня хороших баек о тяготах возни со старыми системами. Эти байки интересно послушать программистам, которым о подобных вещах беспокоиться не приходится, так как их профессиональные навыки построены на современных технологиях.


Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity