Technical Neglect - Kevlin Henney - NDC London 2024

Ғылым және технология

This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com/
Subscribe to our KZread channel and learn every day:
/‪@NDC‬
Follow our Social Media!
/ ndcconferences
/ ndc_conferences
/ ndc_conferences
#code #codebase #architecture #agile #tdd #people #testing #testing #ethics #technology
Many developers evoke the mischievous spirit and day-to-day burden of technical debt to explain the misfortunes and troubles of their codebase and delivery. While unmanaged technical debt weighs down many codebases and exerts drag on their schedules, it is more often an effect than a cause.
In this talk, we will look at what is and is not meant by technical debt - and other metaphors - with a view to properly attributing the root and recurring cause as technical neglect rather than technical debt. Without seeing technical neglect for what it is, we will continue to misattribute our problems to an effect rather than a cause.

Пікірлер: 34

  • @gewusst-vim9583
    @gewusst-vim95832 ай бұрын

    Great talk as always if it's hold by Kevlin Henney! Btw. the best metaphor regarding technical debt is for me "Technical debt is like tetris" with the quote "You can’t win. You can only control how quickly you lose.". For me that really have the best characteristics of a metaphor so far regarding technical debt.

  • 3 ай бұрын

    I hear about experiences of people working with legacy codebases. I have these experiences too. But I also have experiences of creating legacy codebases. I wish you the same.

  • @markozagar
    @markozagar3 ай бұрын

    I agree that names are important. It took me way too long to find that "NDC" is the "Norwegian Developers Conference".

  • @DavidisWarpd
    @DavidisWarpd3 ай бұрын

    Im a big believer in having maintenance weeks between sprints every 3 or 4 sprints. But its a hard sell.

  • @ForgottenKnight1

    @ForgottenKnight1

    3 ай бұрын

    Clean as you go is better, if possible (that is, if you don't have a micromanager) - you might not remember what you did 2 months ago.

  • @sqeaky8190

    @sqeaky8190

    3 ай бұрын

    ​@@ForgottenKnight1 I suspect that not all cleaning can be done as you go, sometimes a needed refactoring is big enough to warrant attention from the team or significant time from a sprint.

  • @goldnutter412
    @goldnutter4123 ай бұрын

    Oh this will be good👏 Love to hear someone say it. Metaphor metaphor metaphor ! all words.. are metaphors ! .. because we have to pass data to each other and create information in our mind - eventually coming to consensus.

  • @ForgottenKnight1
    @ForgottenKnight13 ай бұрын

    "By rejecting incorrect solution" - you mean "by having a human review all the garbage that AI spews out"

  • @nickbarton3191
    @nickbarton31913 ай бұрын

    It's not just new requirements, users find new use cases that we didn't think of nor tested for.

  • @KibbleWhite
    @KibbleWhite2 ай бұрын

    Project managers and non-technical executives should watch this video and do their best to understand what is been explained here. Understanding the implications of technical debt as a future/tomorrow cost is crucial, given that budgetary considerations are either frequently overlooked or abruptly withdrawn, leaving developers unsupported and unaccounted for, resulting in higher staff turnover, compliance challenges, and a failure to swiftly adapt to market dynamics or stay abreast of technological advancements. (I can hear those managers and sales orientated staff right now as I write this and their explanations in my head) This scenario is a frequent issue with significant repercussions and is often underestimated by non-technical managers and executives who perceive themselves as being well-informed by ostensibly engaging with feedback, yet inadvertently demonstrate a disregard for and opposition to such feedback by assigning it reduced significance in their decision-making and final actions.

  • @Rx7man
    @Rx7man3 ай бұрын

    On the technical debt, I think it has to be for a reason... Just like going in debt buying a supercar to drive to work isn't wise when an economy car can do it for far less cost, If you're writing something for a small business that lets say will be happy to have 1000 hits a day on their website, is it really worth doubling the development time (cost) to get everything the most optimized and use O(logN) functions instead of 0(2n) functions? should Facebook have started with it's current infrastructure? Be aware of the borrowing, borrow with a good reason

  • @philipoakley5498
    @philipoakley54983 ай бұрын

    kickable stuff: => software as 'mental illness/health'. (cf broken leg)

  • @alvaromoe
    @alvaromoe3 ай бұрын

    All the 1s faded to 0s 😂

  • @Rx7man

    @Rx7man

    3 ай бұрын

    the curly braces fell to the bottom of the file

  • @StephenButler-sg5hm

    @StephenButler-sg5hm

    2 ай бұрын

    All your 1s and 0s are still there, we're just no longer sure what order they're supposed to be in.

  • @pauljohnsonbringbackdislik1469
    @pauljohnsonbringbackdislik14693 ай бұрын

    1:03:55 Just switch to a green-field project and happily rise from 5% of coding time to over 50%. I did it few years ago and I consider this the best choice of my life. The other route was heading towards 4th burnout. Thanks but no

  • @philipoakley5498
    @philipoakley54983 ай бұрын

    the 'AI' (embedding of rote learning) tradecraft getting worse also happens the other way when tradespeople will simply offer the current 'fashionable' solution (that they can provide) to the customer problem without any thought or study of the real customer situation. Such as 'injected damp proof courses' just because there a bit of mould, which was actually caused by condensation, such is the "coding mechanic".

  • @haruwan4118
    @haruwan41183 ай бұрын

    A bit long-winded this time around, but not bad.

  • @shellcatt
    @shellcatt2 күн бұрын

    Dunno how many times I lost this guy before he even got to his point, whatever it was.

  • @nandoflorestan
    @nandoflorestan3 ай бұрын

    The issue with all lectures of Henney's is that they are all structured on tangents. I rarely feel he is working towards his goal. Rather, he has a number of pretty random thoughts on each of a list of words.

  • @philipoakley5498

    @philipoakley5498

    3 ай бұрын

    The power of metaphor! Tangents tie you to the other realities.

  • @nandoflorestan

    @nandoflorestan

    3 ай бұрын

    Sure, but the content if this lecture, for instance, is rather trivial. I am all for metaphors, but what I meant was, the thought seems to meander aimlessly.

  • @alvaromoe

    @alvaromoe

    3 ай бұрын

    I see what you mean, but I take it differently. The reason why I love his talks is exactly because he makes you think about "mundane" topics that you wouldn't otherwise stop for a second to analyze. Metaphors, naming, spacing, etc. It's food for thought. I don't expect to apply any of this directly on a project, instead it shows that he cares about his craft so much to think about it in an almost-philosophical way: What is a name? Why do we name things? What is a good name? And I aspire to that, to not being the programmer that simply solves the problem, but the one that has a reason behind every line of code. It may be wrong, but I didn't just blindly vomit code on to my text editor (even if it happens to work). I should have a reason behind every name, every abstraction, every indirection, every metaphor. And for that you need to think about these things in an almost-philosophical way. My 2c :)

  • @b.6603
    @b.66033 ай бұрын

    Wondering at what timestamp he stops talking about metaphors and talks about actual software development

  • @pepijnkrijnsen4

    @pepijnkrijnsen4

    3 ай бұрын

    This must be your first Kevlin Henney talk.

  • @vrjb100
    @vrjb1003 ай бұрын

    AI is based on obsoleted language versions, sorry my llm is based on angular 12 and older... not much of help for angular 17. Generated code is not good enough.

  • @JeremyAndersonBoise

    @JeremyAndersonBoise

    3 ай бұрын

    Angular is not a language.

  • @mihaiungureanu3370
    @mihaiungureanu33703 ай бұрын

    A good example of metaphor, proper use of a dictionary and kickable pillows... kzread.info/dash/bejne/f4qBqbWok7jcYto.html

  • @vrjb100
    @vrjb1003 ай бұрын

    Bad oop design leads to cheap ravioli objects

  • @Rick104547

    @Rick104547

    3 ай бұрын

    expensive* ravioli

  • @b.6603
    @b.66033 ай бұрын

    Software developer beware 🐉 You're not the target audience of this talk I have no idea if this guy has something of value to contribute with the concept of software neglect... because he spent the first 20 min impressing managers by explaining with metaphors what any software developer already knows This is a sales pitch not a presentation on a concept. Not worth your time.

  • @ForgottenKnight1

    @ForgottenKnight1

    3 ай бұрын

    His condescending attitude towards developers does not help his case either.

  • @ddanielsandberg

    @ddanielsandberg

    3 ай бұрын

    And yet, most developers thinks that refactoring means spending a week (or two) doing a partial rewrite. Or thinks that CI/CD means to have a build server, or that testing is "QA", I could go on... That developers understand the metaphores is not true at all.

Келесі