Что такое Технический долг (Technical debt) и к чему приводит его накопление?

  Рет қаралды 39,130

Sergey Nemchinskiy

Sergey Nemchinskiy

Күн бұрын

Пікірлер: 138
@kiwicraft5928
@kiwicraft5928 3 жыл бұрын
Кот - Тимлид это огонь)
@Kadabra1981
@Kadabra1981 3 жыл бұрын
А попугай - ПМ.
@katafalk101
@katafalk101 3 жыл бұрын
Лол, знаю одну контору, которая свое мобильное приложение 3 раза переписывала с нуля, потому что предыдущая версия была не поддерживаема))) Хз как у них получалось на это бюджет выбивать.
@undefined-n5v
@undefined-n5v 3 жыл бұрын
Да очень просто. Выкатывали фичи требуемые заказчиком в приемлемое время, заказчик доволен, пользователи довольны, и хочется дальше, прибыль мутится
@СчастливыйЧеловек-х9с
@СчастливыйЧеловек-х9с 3 жыл бұрын
На 1с писали наверно.
@BOPOH-e2v
@BOPOH-e2v 3 жыл бұрын
@@СчастливыйЧеловек-х9с на 1С получается весьма стабильный продукт, если с самого начала с умом подходить к вопросу.
@undefined-n5v
@undefined-n5v 3 жыл бұрын
@@BOPOH-e2v так про любой продукт можно сказать ))
@hustle_juno
@hustle_juno 3 жыл бұрын
@@BOPOH-e2v хаха
@rozbrat
@rozbrat 3 жыл бұрын
спасибо, как всегда очёнь ёмко
@Yuregg
@Yuregg 3 жыл бұрын
Насколько я понимаю технический долг берут под такие проценты, что директора всех банков зарыдают.
@Ardolynk
@Ardolynk Жыл бұрын
Спасибо, вспомнил как ставил на будильник крик "Пошёл на работу говно чистить!" из знаменитого фильма ;-)
@javavlogger9409
@javavlogger9409 3 жыл бұрын
3:35 Правильно говорить: Тест Дривен Девелопмент
@deniangler
@deniangler Жыл бұрын
Давным-давно был менеджером тиражного ПП. Сперва разрабатывал архитектуру единолично, всё было вылизано и красиво, удобно расширялось. Потом дали небольшую команду разработчиков. ПП продавался, постепенно добавляли функционал. И вот я ушёл в отпуск на месяц. По приходу обратно, оказалось, что была потребность внести новый функционал и его внесли так, что стройная концепция была разрушена и дальнейшее развитие было уже возможно только заплатками. После этого я отказался от проекта и ушёл из отдела разработки.
@alexanderlogunov5147
@alexanderlogunov5147 3 жыл бұрын
О, реклама обновилась)
@FarSetChannel
@FarSetChannel 3 жыл бұрын
Шутка младшего финансиста компании "Долг - это всегда плохо, особенно когда источник этого долга в зеркале".
@yurimikhaylov8543
@yurimikhaylov8543 3 жыл бұрын
Технический долг - хороший термин. Теперь понятно почему в чужом коде #влом разбираться... никто не любит долги отдавать =))
@kirillsushilnikov9614
@kirillsushilnikov9614 3 жыл бұрын
гыгыгы, он платежом красен
@maxlich9139
@maxlich9139 3 жыл бұрын
Время собирать камни)))
@John_Connor
@John_Connor 3 жыл бұрын
Да что там говорить, даже Python 3 не совместим с Python 2, потому что наговнокодили в своё время. Ещё пример: стек TCP/IP был переписан в Windows Vista практически с нуля. Ясное дело, не просто так, а потому что в Windows XP и раньше наговнокодили до достижения полного п..ца.
@Viktorres1
@Viktorres1 3 жыл бұрын
Спасибо, Сергей! Вот подумал. Сижу. Рефакторю...
@Federation1323
@Federation1323 3 жыл бұрын
Сидят Сергей Немчинский и его помощник Николай Иванович, пьют чай, в кабинете у помощника. Приходит к ним новый студент. Студент читает табличку на двери, заходит, но не знает, кто есть кто, и говорит Сергею Немчинскому: -Здравствуйте, Николай Иванович! Помощник вскакивает и радостно говорит: -Наконец-то тебя зовут не Сергей Немчинский!
@max_mgtow
@max_mgtow 3 жыл бұрын
Хороший анекдот😆👏
@supervichka7764
@supervichka7764 3 жыл бұрын
Шикарный анекдот!
@kirillsushilnikov9614
@kirillsushilnikov9614 3 жыл бұрын
Ждем следующий анекдот, где Сергей начинает не от Адама и Евы, а начинает "плясать от печки".
@nuclear-abracadabra
@nuclear-abracadabra 3 жыл бұрын
У нас техническим долгом называется список запросов на изменение, который ожидает бизнес.
@LLDevLab
@LLDevLab 3 жыл бұрын
Я пожалуй не соглашусь с утверждением о том, что технический долг - проблема программистов. Это так, до того момента, пока фичи релизятся относительно быстро. А когда заказчик дает команде простое задание, грубо говоря «добавить поле на форму», а из-за технического долга программист эстимирует эту «фичу» в 2 месяца работы, которые заказчик должен оплатить, вот тут технический долг оказывается проблемой заказчика. К сожалению большинство заказчиков этого не понимают...
@Epenckorn
@Epenckorn 3 жыл бұрын
Типичная ошибка. Во-первых, если проект разрабатывала та же команда, что и выкатила за такую "фичу" 2 месяца, то я бы не стал называть эту команду "командой разработчиков", а, как сказал бы наш зав.кафедры "Компьютерной математики и программирования" - "шабаш кнопкодавов". И в данном случае этот долг - именно их проблема. Во-вторых, при том же условии, в толковой команде, тимлид с мозгами в оценку затрат на каждую новую фичу закладывает время, потраченное командой на рефакторинг предыдущей фичи, произведённый уже после её релиза. Таким образом, команда свою плату получает с полна, не сталкивается с неисправимым геморроем каждый раз, заказчик не охреневает от внезапно взлетевших запросов команды и получает рабочий и причёсанный функционал. В-третьих, если разработчик получает от заказчика неизвестный проект и видит, что тот сделан через жопу марсианского саблезубого единорога, то долг этого разработчика перед самим собой - обратить на это внимание заказчика и настоять на разработке проекта с нуля, оперируя тем, что в текущем состоянии проект поддерживать невозможно в принципе. Если заказчик откажется от этого предложения, то долг разработчика - отказаться от проекта и пожелать заказчику удачи. Да, в таком случае долг становится проблемой заказчика, но заказчик быстро найдёт дятлов, на кого эту проблему скинуть. Благо - среди непобитых жизнью фрилансеров конкуренция не утихнет никогда.
@LLDevLab
@LLDevLab 3 жыл бұрын
@@Epenckorn К сожалению для заказчика, не все можно отдать на фриланс. Лично наблюдал такую ситуацию: заказчик купил у "шабаша кнопкодавов" (кстати, очень хорошее описание :D ) систему. Исходным код этой системы заказчику не продали, только бинарники. В такой ситуации заказывать новые фичи можно только у разработчиков, и технический долг в таком проекте - это 100% проблема заказчика.
@user-Leonidovich
@user-Leonidovich 3 жыл бұрын
Заметьте, Сергей говорит о том, чья это "ценность" - хороший код. Чья это "проблема", и кто ее создал - зависит, наверно, от дипломатии, кто на кого спихнет
@maxlich9139
@maxlich9139 3 жыл бұрын
Очередное интересное видео от Сергея!
@maksympetryshak2213
@maksympetryshak2213 3 жыл бұрын
у вас не працює сторінка з курсом, про який йде мова на початку відео
@Anvaro
@Anvaro 3 жыл бұрын
Крутая реклама получилась)
@alexandrapersukova
@alexandrapersukova 3 жыл бұрын
Спасибо😊
@Kadabra1981
@Kadabra1981 3 жыл бұрын
Работал на проекте где юниттесты не писали ввиду срочности, поначалу было прикольно а вот под конец проекта просто жесть как плохо.
@maxlich9139
@maxlich9139 3 жыл бұрын
Тоже работал в такой фирме. И там ни на одном проекте не писали юнит-тесты. И опять-таки из-за отсутствия времени. Но приложения были маленькие, поэтому прокатывало и так
@ivan_lebedev
@ivan_lebedev 3 жыл бұрын
Юнит тестов мало, надо также интеграционные и функциональные
@SoccerSorcerer
@SoccerSorcerer 3 жыл бұрын
@@ivan_lebedev более того, плохое покрытие тестами и/или написание их "на отцепись" это из-за ложно положительных результатов иногда даже хуже, чем их отсутствие
@digbyorion4383
@digbyorion4383 Жыл бұрын
Серёга, звук есть. Это у меня были "баги".
@maximdervis8601
@maximdervis8601 3 жыл бұрын
Спасибо
@ShakarimSapa
@ShakarimSapa 3 жыл бұрын
Как сказал один умный человек: "Ходить по воде и разрабатывать программное обеспечение по спецификации легко - если они заморожены". А если в кратце: читайте книги о разработке (Роберт Мартин или Мартин Фаулер например) и не забывайте о тестах. А еще лучше - вообще стоит рассмотреть перспективу смены парадигмы и изучить функциональное программирование, такой код и тестируется легче (ибо детерменированность и чистые функции) и, как правило, читается легче и работает быстрее (ибо OTP, параллельные вычисления, лямбда счисления).
@maksk5017
@maksk5017 3 жыл бұрын
Реклама хорошая, даже перематывать не стал, только музыка лишняя, ИМХО.
@__Dark_Horse__
@__Dark_Horse__ 3 жыл бұрын
Обычно бывает два состояния: 1) Какого хера оно не работает? 2) Какого хера оно работает?
@Epenckorn
@Epenckorn 3 жыл бұрын
Проблема: "Оно должно работать. Оно только что работало. Какого хера перестало?" Причина: Магия Рефакторинг... Проблема: "Оно не должно работать. Каким макаром работает?" Причина: Магия Ревью.... Проходит неделя Ревью.... Приходит новый человек и бегло просматривает код, задаёт пару вопросов. Обнаружена причина: В цикле проверяется нестрогое неравенство. Не поставлены скобки в сложном условии - ломается бульчарт. Вывод - "мишка Тедди - рулит"
@FarSetChannel
@FarSetChannel 3 жыл бұрын
Сергей. Расскажите ради некоторых "Лидов" про важность тестирования.
@VanyaRelsoUkladchik
@VanyaRelsoUkladchik 3 жыл бұрын
А так же, ради некоторых "Лидов", расскажите про ненужность излишнего тестирования.
@FarSetChannel
@FarSetChannel 3 жыл бұрын
@@VanyaRelsoUkladchik не путайте излишнее и избыточное.
@VanyaRelsoUkladchik
@VanyaRelsoUkladchik 3 жыл бұрын
@@FarSetChannel Вот-вот, излишнее и избыточное, лол.
@FarSetChannel
@FarSetChannel 3 жыл бұрын
@@VanyaRelsoUkladchik ясно... Тогда Сергею точно нужно пояснить про тестирование, как про один из процессов разработки систем, ради агрессивных масс.
@digbyorion4383
@digbyorion4383 Жыл бұрын
Серёга, накапливается - это значит; Скрэмблер или Накопитель-повторитель из ДК или в ДК, где ДК - Дискретный канал.
@alexandrkalabin2489
@alexandrkalabin2489 3 жыл бұрын
Спасибо Вам!
@maxkiner4059
@maxkiner4059 3 жыл бұрын
Вот нам как раз пришлось писать платформу с нуля, посчитали что написать с нуля будет быстрее, чем рефакторить тот ад, благо клиент вошел в положение и апрувнул :)
@Stalker-of6bn
@Stalker-of6bn 3 жыл бұрын
Сергей, скажите плиз, а практиковали ли Вы TDD сами и/или в команде? Каково влияние этой методологии&дисциплины на технический долг и эстимации?
@SergeyNemchinskiy
@SergeyNemchinskiy 3 жыл бұрын
да, использовал
@Stalker-of6bn
@Stalker-of6bn 3 жыл бұрын
@@SergeyNemchinskiy Спасибо за ответ. Может планируете видео-обзор по этой теме?
@SergeyNemchinskiy
@SergeyNemchinskiy 3 жыл бұрын
@@Stalker-of6bn там надо тренинг делать :)
@Stalker-of6bn
@Stalker-of6bn 3 жыл бұрын
@@SergeyNemchinskiy :) Согласен. Тема (не)ожиданно обширная.
@johnconstantine6331
@johnconstantine6331 3 жыл бұрын
Что за ноутбук у Вас, если не секрет?
@k12370rty
@k12370rty 3 жыл бұрын
на практике рефакторинг через какое-то время это по сути новый проект.. не имею в виду исправление старого.. просто по тоже стареет и уже на новой платформе новый проект вот и отрефакторили)
@xarvaksis
@xarvaksis 3 жыл бұрын
Кек. Спасибо большое)) Очень приятно слушать)
@MasterSergius
@MasterSergius 3 жыл бұрын
К созданию своего ютуб-канала?
@timurdanilenko3582
@timurdanilenko3582 3 жыл бұрын
Для простоты (не посвященным) есть аналогия по строительству секретного комплекса на острове. Не совсем про тех долг, но оч похоже. Периодически смотрю всякие конференции, где спикеры рассказывают как GitFow работает, как собираются сборки (автоматически), как проводиться кодревью (автоматический), как на все и вся есть тесты и т.д. И только у меня вопрос: я живу на Земле, а они на другой планете? Я тоже туда хочу(
@Epenckorn
@Epenckorn 3 жыл бұрын
Ну, что тут сказать... Либо Вы невнимательно слушаете, о чём там говорят. Либо спикеры рассказывают (по одной из двух причин) не всё про git-flow. Ибо, если там всё так идеально, сферично и вакуумно, то на кой тогда обязательной веткой является ветка hotfix.
@timurdanilenko3582
@timurdanilenko3582 3 жыл бұрын
@@Epenckorn Это был сарказм. В реальном мире полноценная организация работы отдела разработки (ветками, кодревью и тестами) очень мало. Мне таких, чтоб все сразу было, не встречались, хотя слышал от бывших коллег, что на новом месте что-то из этого есть (не все конечно).
@Epenckorn
@Epenckorn 3 жыл бұрын
@@timurdanilenko3582 Да, не просёк сразу)
@igorsmart8078
@igorsmart8078 3 жыл бұрын
@@timurdanilenko3582 практически во всех проектах что я работал фичи создаются по гит флоу. То есть на каждую фичу там или багу отдельная ветка которая мерджится в мастер или девелоп.
@igorsmart8078
@igorsmart8078 3 жыл бұрын
ну и ci cd почти везде сейчас юзается, правда с нормальными тестами сложнее. Нормальные тесты с хорошим покрытием есть не всегда.
@ВалераДементьев-н6з
@ВалераДементьев-н6з 3 жыл бұрын
Какая разница работает ли ваш код, главное что бы у вас была работа :)
@SerTur72
@SerTur72 3 жыл бұрын
Я думаю грамотные люди сначала пишут какой-то мало мальский план, что делает пошагово программа, которую надо разработать. А потом все остальное. Немчинский скромный парень
@Pafel0684
@Pafel0684 2 жыл бұрын
Когда я стану программистом? Уже кучу роликов просмотрел, и всё равно на каждом собесе мне задают какие-то странные вопросы ответы на которые я не знаю.
@s.k.6563
@s.k.6563 3 жыл бұрын
-Здравствуйте, мои дорогие! -Здравствуйте, Сергина Немчивицкая!
@romangargosow
@romangargosow 3 жыл бұрын
3 вещи в мире не меняются. Огонь, вода и то, что Сергея Немчинского зовут Сергеем Немчинским ))
@vm3027
@vm3027 3 жыл бұрын
Огонь погаснет, вода испарится, а Сергей Немчинский так и останется Сергеем Немчинским!
@msetracer
@msetracer 3 жыл бұрын
Зашел проверит зовут ли ещё автора Сергей Немчинский.
@dr1n
@dr1n 3 жыл бұрын
Отлисно сказано, а за чей счёт банкет (рефакторинг)?) Есть же варианты - смерть проекта, смена проекта :)
@Alex11Fox
@Alex11Fox 3 жыл бұрын
Играл я в Сталкера, долговцы хорошие как бы пацаны!
@itforall89
@itforall89 3 жыл бұрын
const Sergey Nemchinsky == Sergey Nemchinsky
@lyloo6577
@lyloo6577 3 жыл бұрын
Давайте уточним, отсутствие технического долга - это ценность не программистов, а их руководителя - тимлида. Именно он имеет возможность влиять на принимаемые решения, а программисты в большинстве своем делают таску так как им ее поставит руководитель.
@СопроматАлександрович
@СопроматАлександрович 3 жыл бұрын
Возник вопрос. Если накопится огромный тех долг, и придется переписывать все заново, то кого будут за это наказывать ? Только тимлида или только прогеров или всех сразу ?
@Laertid
@Laertid 3 жыл бұрын
Кого придется. Зависит от технической прошаренности директорского состава, от того, у кого язык подвешен лучше, от репутации всех участников как профессионалов. Но ответственен по должности, выходит, руководитель команды разработчиков. В принципе, я согласен, он ответственен за разрабатываемые продукты перед топменеджерами и владельцами компании.
@СопроматАлександрович
@СопроматАлександрович 3 жыл бұрын
@@Laertid А если ПМы сами дают нереальные сроки ? Тогда кто виноват ? А если команда, которая оставила после себя тех долг, уже давно ушла из проекта, тогда кто виноват ?
@Laertid
@Laertid 3 жыл бұрын
@@СопроматАлександрович глава команды разработчиков должен вникать в работу ПМов в достаточной степени, чтобы быть в курсе этих неправильных сроков. А также временами собирать обратную связь от всех своих сотрудников. Если накосячившей команды уже нет, то ок - наказывать некого, но виноват по-прежнему руководитель той команды, даже если он уже не работает. Наказание ради "Лишь бы кого наказать" - плохая практика.
@denisab85
@denisab85 3 жыл бұрын
Блин, где бы найти этот ролик на английском, чтобы своему тимлиду отправить?!
@0imax
@0imax 3 жыл бұрын
Пусть смотрит с субтитрами))
@0imax
@0imax 3 жыл бұрын
Кстати, забавно с автогенерёнными субтитрами смотреть видео на специфические темы: про науку или программирование. Например, "вторпродукт" гугл "на слух" переводит как fluorine product))) "Наговняли" тоже забавно распознаётся))
@GtaSaKompanion
@GtaSaKompanion 3 жыл бұрын
Тот момент, когда сел дорабатывать код какого-то криворукого недопрограммиста, но потом оказалось, что это твоя старая программа.
@NiD0UA
@NiD0UA 3 жыл бұрын
Однако. На сколько меня должно было напрячь, что меня любит мужик с бородой? :)
@kek2489
@kek2489 3 жыл бұрын
0:22 Сергей, сообщите, пожалуйста, когда вы перестанете быть Сергеем Немчинским. Просто интересны обстоятельства перемены
@TestSub1000
@TestSub1000 3 жыл бұрын
Борода зафиналилась
@prostaknaivnyj5976
@prostaknaivnyj5976 3 жыл бұрын
cls echo 1. прогер никому ничего никогда не должен echo 2. и так сойдёт if 2 not true then 3 echo 3. это не баг, а фича(!) debt > nul exit
@vpetrunichkin
@vpetrunichkin 3 жыл бұрын
Даж детям рассказал, что в новом видосе Немчинского не одного «рили» «сириосли», так держать!)
@SoulPervert
@SoulPervert 3 жыл бұрын
тимлиды ща обиделись?)
@adhamkhaytbaev16
@adhamkhaytbaev16 3 жыл бұрын
Вас разве до сих пор зовут Сергей Немчинский????
@ЦарицаПробкаЯнкаСупер
@ЦарицаПробкаЯнкаСупер 3 жыл бұрын
да толку 20 лет под мусорную вот придет ИИ... и вообще кто умеет делает, остальные- учат программированию
@AlexAlex-hh5im
@AlexAlex-hh5im 3 жыл бұрын
Слабоватое видео. Нет конкретики/причин/психологии проблемы/решения. Одна вода. Мне кажется тут на порядок лучше раскрыта суть kzbin.info/www/bejne/gpaZlJ9mh9-Yb6c и kzbin.info/www/bejne/oKuTk6eco9x1kKc
@ConfidenceGold
@ConfidenceGold 3 жыл бұрын
If (speaker.name().equals("Сергей Немчинский") { ContinueWatching(); } else { Unsubscribe(); }
贝贝帮果果剪头发! #斗罗大陆#贝贝 #果果 #唐老六 #shorts
00:33
唐舞桐与唐老六
Рет қаралды 4,8 МЛН
Муж внезапно вернулся домой @Oscar_elteacher
00:43
История одного вокалиста
Рет қаралды 5 МЛН
А я думаю что за звук такой знакомый? 😂😂😂
00:15
Денис Кукояка
Рет қаралды 1,2 МЛН
ТВОИ РОДИТЕЛИ И ЧЕЛОВЕК ПАУК 😂#shorts
00:59
BATEK_OFFICIAL
Рет қаралды 5 МЛН
What is Technical Debt? (as a software developer)
7:20
Be A Better Dev
Рет қаралды 18 М.
Великовозрастный программист. Стоит ли идти в IT в 40 лет
8:17
Дилетант широкого профиля
Рет қаралды 15 М.
⚡️NEWS | FIRST INTERCONTINENTAL MISSILE STRIKE | LENIN'S SHALASH BURNED DOWN
6:49
Ходорковский LIVE
Рет қаралды 122 М.
Минимум математики для Айтишников
16:12
贝贝帮果果剪头发! #斗罗大陆#贝贝 #果果 #唐老六 #shorts
00:33
唐舞桐与唐老六
Рет қаралды 4,8 МЛН