Лол, знаю одну контору, которая свое мобильное приложение 3 раза переписывала с нуля, потому что предыдущая версия была не поддерживаема))) Хз как у них получалось на это бюджет выбивать.
@undefined-n5v3 жыл бұрын
Да очень просто. Выкатывали фичи требуемые заказчиком в приемлемое время, заказчик доволен, пользователи довольны, и хочется дальше, прибыль мутится
@СчастливыйЧеловек-х9с3 жыл бұрын
На 1с писали наверно.
@BOPOH-e2v3 жыл бұрын
@@СчастливыйЧеловек-х9с на 1С получается весьма стабильный продукт, если с самого начала с умом подходить к вопросу.
@undefined-n5v3 жыл бұрын
@@BOPOH-e2v так про любой продукт можно сказать ))
@hustle_juno3 жыл бұрын
@@BOPOH-e2v хаха
@rozbrat3 жыл бұрын
спасибо, как всегда очёнь ёмко
@Yuregg3 жыл бұрын
Насколько я понимаю технический долг берут под такие проценты, что директора всех банков зарыдают.
@Ardolynk Жыл бұрын
Спасибо, вспомнил как ставил на будильник крик "Пошёл на работу говно чистить!" из знаменитого фильма ;-)
@javavlogger94093 жыл бұрын
3:35 Правильно говорить: Тест Дривен Девелопмент
@deniangler Жыл бұрын
Давным-давно был менеджером тиражного ПП. Сперва разрабатывал архитектуру единолично, всё было вылизано и красиво, удобно расширялось. Потом дали небольшую команду разработчиков. ПП продавался, постепенно добавляли функционал. И вот я ушёл в отпуск на месяц. По приходу обратно, оказалось, что была потребность внести новый функционал и его внесли так, что стройная концепция была разрушена и дальнейшее развитие было уже возможно только заплатками. После этого я отказался от проекта и ушёл из отдела разработки.
@alexanderlogunov51473 жыл бұрын
О, реклама обновилась)
@FarSetChannel3 жыл бұрын
Шутка младшего финансиста компании "Долг - это всегда плохо, особенно когда источник этого долга в зеркале".
@yurimikhaylov85433 жыл бұрын
Технический долг - хороший термин. Теперь понятно почему в чужом коде #влом разбираться... никто не любит долги отдавать =))
@kirillsushilnikov96143 жыл бұрын
гыгыгы, он платежом красен
@maxlich91393 жыл бұрын
Время собирать камни)))
@John_Connor3 жыл бұрын
Да что там говорить, даже Python 3 не совместим с Python 2, потому что наговнокодили в своё время. Ещё пример: стек TCP/IP был переписан в Windows Vista практически с нуля. Ясное дело, не просто так, а потому что в Windows XP и раньше наговнокодили до достижения полного п..ца.
@Viktorres13 жыл бұрын
Спасибо, Сергей! Вот подумал. Сижу. Рефакторю...
@Federation13233 жыл бұрын
Сидят Сергей Немчинский и его помощник Николай Иванович, пьют чай, в кабинете у помощника. Приходит к ним новый студент. Студент читает табличку на двери, заходит, но не знает, кто есть кто, и говорит Сергею Немчинскому: -Здравствуйте, Николай Иванович! Помощник вскакивает и радостно говорит: -Наконец-то тебя зовут не Сергей Немчинский!
@max_mgtow3 жыл бұрын
Хороший анекдот😆👏
@supervichka77643 жыл бұрын
Шикарный анекдот!
@kirillsushilnikov96143 жыл бұрын
Ждем следующий анекдот, где Сергей начинает не от Адама и Евы, а начинает "плясать от печки".
@nuclear-abracadabra3 жыл бұрын
У нас техническим долгом называется список запросов на изменение, который ожидает бизнес.
@LLDevLab3 жыл бұрын
Я пожалуй не соглашусь с утверждением о том, что технический долг - проблема программистов. Это так, до того момента, пока фичи релизятся относительно быстро. А когда заказчик дает команде простое задание, грубо говоря «добавить поле на форму», а из-за технического долга программист эстимирует эту «фичу» в 2 месяца работы, которые заказчик должен оплатить, вот тут технический долг оказывается проблемой заказчика. К сожалению большинство заказчиков этого не понимают...
@Epenckorn3 жыл бұрын
Типичная ошибка. Во-первых, если проект разрабатывала та же команда, что и выкатила за такую "фичу" 2 месяца, то я бы не стал называть эту команду "командой разработчиков", а, как сказал бы наш зав.кафедры "Компьютерной математики и программирования" - "шабаш кнопкодавов". И в данном случае этот долг - именно их проблема. Во-вторых, при том же условии, в толковой команде, тимлид с мозгами в оценку затрат на каждую новую фичу закладывает время, потраченное командой на рефакторинг предыдущей фичи, произведённый уже после её релиза. Таким образом, команда свою плату получает с полна, не сталкивается с неисправимым геморроем каждый раз, заказчик не охреневает от внезапно взлетевших запросов команды и получает рабочий и причёсанный функционал. В-третьих, если разработчик получает от заказчика неизвестный проект и видит, что тот сделан через жопу марсианского саблезубого единорога, то долг этого разработчика перед самим собой - обратить на это внимание заказчика и настоять на разработке проекта с нуля, оперируя тем, что в текущем состоянии проект поддерживать невозможно в принципе. Если заказчик откажется от этого предложения, то долг разработчика - отказаться от проекта и пожелать заказчику удачи. Да, в таком случае долг становится проблемой заказчика, но заказчик быстро найдёт дятлов, на кого эту проблему скинуть. Благо - среди непобитых жизнью фрилансеров конкуренция не утихнет никогда.
@LLDevLab3 жыл бұрын
@@Epenckorn К сожалению для заказчика, не все можно отдать на фриланс. Лично наблюдал такую ситуацию: заказчик купил у "шабаша кнопкодавов" (кстати, очень хорошее описание :D ) систему. Исходным код этой системы заказчику не продали, только бинарники. В такой ситуации заказывать новые фичи можно только у разработчиков, и технический долг в таком проекте - это 100% проблема заказчика.
@user-Leonidovich3 жыл бұрын
Заметьте, Сергей говорит о том, чья это "ценность" - хороший код. Чья это "проблема", и кто ее создал - зависит, наверно, от дипломатии, кто на кого спихнет
@maxlich91393 жыл бұрын
Очередное интересное видео от Сергея!
@maksympetryshak22133 жыл бұрын
у вас не працює сторінка з курсом, про який йде мова на початку відео
@Anvaro3 жыл бұрын
Крутая реклама получилась)
@alexandrapersukova3 жыл бұрын
Спасибо😊
@Kadabra19813 жыл бұрын
Работал на проекте где юниттесты не писали ввиду срочности, поначалу было прикольно а вот под конец проекта просто жесть как плохо.
@maxlich91393 жыл бұрын
Тоже работал в такой фирме. И там ни на одном проекте не писали юнит-тесты. И опять-таки из-за отсутствия времени. Но приложения были маленькие, поэтому прокатывало и так
@ivan_lebedev3 жыл бұрын
Юнит тестов мало, надо также интеграционные и функциональные
@SoccerSorcerer3 жыл бұрын
@@ivan_lebedev более того, плохое покрытие тестами и/или написание их "на отцепись" это из-за ложно положительных результатов иногда даже хуже, чем их отсутствие
@digbyorion4383 Жыл бұрын
Серёга, звук есть. Это у меня были "баги".
@maximdervis86013 жыл бұрын
Спасибо
@ShakarimSapa3 жыл бұрын
Как сказал один умный человек: "Ходить по воде и разрабатывать программное обеспечение по спецификации легко - если они заморожены". А если в кратце: читайте книги о разработке (Роберт Мартин или Мартин Фаулер например) и не забывайте о тестах. А еще лучше - вообще стоит рассмотреть перспективу смены парадигмы и изучить функциональное программирование, такой код и тестируется легче (ибо детерменированность и чистые функции) и, как правило, читается легче и работает быстрее (ибо OTP, параллельные вычисления, лямбда счисления).
@maksk50173 жыл бұрын
Реклама хорошая, даже перематывать не стал, только музыка лишняя, ИМХО.
@__Dark_Horse__3 жыл бұрын
Обычно бывает два состояния: 1) Какого хера оно не работает? 2) Какого хера оно работает?
@Epenckorn3 жыл бұрын
Проблема: "Оно должно работать. Оно только что работало. Какого хера перестало?" Причина: Магия Рефакторинг... Проблема: "Оно не должно работать. Каким макаром работает?" Причина: Магия Ревью.... Проходит неделя Ревью.... Приходит новый человек и бегло просматривает код, задаёт пару вопросов. Обнаружена причина: В цикле проверяется нестрогое неравенство. Не поставлены скобки в сложном условии - ломается бульчарт. Вывод - "мишка Тедди - рулит"
@FarSetChannel3 жыл бұрын
Сергей. Расскажите ради некоторых "Лидов" про важность тестирования.
@VanyaRelsoUkladchik3 жыл бұрын
А так же, ради некоторых "Лидов", расскажите про ненужность излишнего тестирования.
@FarSetChannel3 жыл бұрын
@@VanyaRelsoUkladchik не путайте излишнее и избыточное.
@VanyaRelsoUkladchik3 жыл бұрын
@@FarSetChannel Вот-вот, излишнее и избыточное, лол.
@FarSetChannel3 жыл бұрын
@@VanyaRelsoUkladchik ясно... Тогда Сергею точно нужно пояснить про тестирование, как про один из процессов разработки систем, ради агрессивных масс.
@digbyorion4383 Жыл бұрын
Серёга, накапливается - это значит; Скрэмблер или Накопитель-повторитель из ДК или в ДК, где ДК - Дискретный канал.
@alexandrkalabin24893 жыл бұрын
Спасибо Вам!
@maxkiner40593 жыл бұрын
Вот нам как раз пришлось писать платформу с нуля, посчитали что написать с нуля будет быстрее, чем рефакторить тот ад, благо клиент вошел в положение и апрувнул :)
@Stalker-of6bn3 жыл бұрын
Сергей, скажите плиз, а практиковали ли Вы TDD сами и/или в команде? Каково влияние этой методологии&дисциплины на технический долг и эстимации?
@SergeyNemchinskiy3 жыл бұрын
да, использовал
@Stalker-of6bn3 жыл бұрын
@@SergeyNemchinskiy Спасибо за ответ. Может планируете видео-обзор по этой теме?
на практике рефакторинг через какое-то время это по сути новый проект.. не имею в виду исправление старого.. просто по тоже стареет и уже на новой платформе новый проект вот и отрефакторили)
@xarvaksis3 жыл бұрын
Кек. Спасибо большое)) Очень приятно слушать)
@MasterSergius3 жыл бұрын
К созданию своего ютуб-канала?
@timurdanilenko35823 жыл бұрын
Для простоты (не посвященным) есть аналогия по строительству секретного комплекса на острове. Не совсем про тех долг, но оч похоже. Периодически смотрю всякие конференции, где спикеры рассказывают как GitFow работает, как собираются сборки (автоматически), как проводиться кодревью (автоматический), как на все и вся есть тесты и т.д. И только у меня вопрос: я живу на Земле, а они на другой планете? Я тоже туда хочу(
@Epenckorn3 жыл бұрын
Ну, что тут сказать... Либо Вы невнимательно слушаете, о чём там говорят. Либо спикеры рассказывают (по одной из двух причин) не всё про git-flow. Ибо, если там всё так идеально, сферично и вакуумно, то на кой тогда обязательной веткой является ветка hotfix.
@timurdanilenko35823 жыл бұрын
@@Epenckorn Это был сарказм. В реальном мире полноценная организация работы отдела разработки (ветками, кодревью и тестами) очень мало. Мне таких, чтоб все сразу было, не встречались, хотя слышал от бывших коллег, что на новом месте что-то из этого есть (не все конечно).
@Epenckorn3 жыл бұрын
@@timurdanilenko3582 Да, не просёк сразу)
@igorsmart80783 жыл бұрын
@@timurdanilenko3582 практически во всех проектах что я работал фичи создаются по гит флоу. То есть на каждую фичу там или багу отдельная ветка которая мерджится в мастер или девелоп.
@igorsmart80783 жыл бұрын
ну и ci cd почти везде сейчас юзается, правда с нормальными тестами сложнее. Нормальные тесты с хорошим покрытием есть не всегда.
@ВалераДементьев-н6з3 жыл бұрын
Какая разница работает ли ваш код, главное что бы у вас была работа :)
@SerTur723 жыл бұрын
Я думаю грамотные люди сначала пишут какой-то мало мальский план, что делает пошагово программа, которую надо разработать. А потом все остальное. Немчинский скромный парень
@Pafel06842 жыл бұрын
Когда я стану программистом? Уже кучу роликов просмотрел, и всё равно на каждом собесе мне задают какие-то странные вопросы ответы на которые я не знаю.
3 вещи в мире не меняются. Огонь, вода и то, что Сергея Немчинского зовут Сергеем Немчинским ))
@vm30273 жыл бұрын
Огонь погаснет, вода испарится, а Сергей Немчинский так и останется Сергеем Немчинским!
@msetracer3 жыл бұрын
Зашел проверит зовут ли ещё автора Сергей Немчинский.
@dr1n3 жыл бұрын
Отлисно сказано, а за чей счёт банкет (рефакторинг)?) Есть же варианты - смерть проекта, смена проекта :)
@Alex11Fox3 жыл бұрын
Играл я в Сталкера, долговцы хорошие как бы пацаны!
@itforall893 жыл бұрын
const Sergey Nemchinsky == Sergey Nemchinsky
@lyloo65773 жыл бұрын
Давайте уточним, отсутствие технического долга - это ценность не программистов, а их руководителя - тимлида. Именно он имеет возможность влиять на принимаемые решения, а программисты в большинстве своем делают таску так как им ее поставит руководитель.
@СопроматАлександрович3 жыл бұрын
Возник вопрос. Если накопится огромный тех долг, и придется переписывать все заново, то кого будут за это наказывать ? Только тимлида или только прогеров или всех сразу ?
@Laertid3 жыл бұрын
Кого придется. Зависит от технической прошаренности директорского состава, от того, у кого язык подвешен лучше, от репутации всех участников как профессионалов. Но ответственен по должности, выходит, руководитель команды разработчиков. В принципе, я согласен, он ответственен за разрабатываемые продукты перед топменеджерами и владельцами компании.
@СопроматАлександрович3 жыл бұрын
@@Laertid А если ПМы сами дают нереальные сроки ? Тогда кто виноват ? А если команда, которая оставила после себя тех долг, уже давно ушла из проекта, тогда кто виноват ?
@Laertid3 жыл бұрын
@@СопроматАлександрович глава команды разработчиков должен вникать в работу ПМов в достаточной степени, чтобы быть в курсе этих неправильных сроков. А также временами собирать обратную связь от всех своих сотрудников. Если накосячившей команды уже нет, то ок - наказывать некого, но виноват по-прежнему руководитель той команды, даже если он уже не работает. Наказание ради "Лишь бы кого наказать" - плохая практика.
@denisab853 жыл бұрын
Блин, где бы найти этот ролик на английском, чтобы своему тимлиду отправить?!
@0imax3 жыл бұрын
Пусть смотрит с субтитрами))
@0imax3 жыл бұрын
Кстати, забавно с автогенерёнными субтитрами смотреть видео на специфические темы: про науку или программирование. Например, "вторпродукт" гугл "на слух" переводит как fluorine product))) "Наговняли" тоже забавно распознаётся))
@GtaSaKompanion3 жыл бұрын
Тот момент, когда сел дорабатывать код какого-то криворукого недопрограммиста, но потом оказалось, что это твоя старая программа.
@NiD0UA3 жыл бұрын
Однако. На сколько меня должно было напрячь, что меня любит мужик с бородой? :)
@kek24893 жыл бұрын
0:22 Сергей, сообщите, пожалуйста, когда вы перестанете быть Сергеем Немчинским. Просто интересны обстоятельства перемены
@TestSub10003 жыл бұрын
Борода зафиналилась
@prostaknaivnyj59763 жыл бұрын
cls echo 1. прогер никому ничего никогда не должен echo 2. и так сойдёт if 2 not true then 3 echo 3. это не баг, а фича(!) debt > nul exit
@vpetrunichkin3 жыл бұрын
Даж детям рассказал, что в новом видосе Немчинского не одного «рили» «сириосли», так держать!)
@SoulPervert3 жыл бұрын
тимлиды ща обиделись?)
@adhamkhaytbaev163 жыл бұрын
Вас разве до сих пор зовут Сергей Немчинский????
@ЦарицаПробкаЯнкаСупер3 жыл бұрын
да толку 20 лет под мусорную вот придет ИИ... и вообще кто умеет делает, остальные- учат программированию
@AlexAlex-hh5im3 жыл бұрын
Слабоватое видео. Нет конкретики/причин/психологии проблемы/решения. Одна вода. Мне кажется тут на порядок лучше раскрыта суть kzbin.info/www/bejne/gpaZlJ9mh9-Yb6c и kzbin.info/www/bejne/oKuTk6eco9x1kKc
@ConfidenceGold3 жыл бұрын
If (speaker.name().equals("Сергей Немчинский") { ContinueWatching(); } else { Unsubscribe(); }