Technical Neglect - Kevlin Henney - NDC London 2024

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ม.ค. 2025

ความคิดเห็น •

  • @gewusst-vim9583
    @gewusst-vim9583 7 หลายเดือนก่อน +10

    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.

  •  9 หลายเดือนก่อน +25

    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
    @markozagar 8 หลายเดือนก่อน +21

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

  • @DavidisWarpd
    @DavidisWarpd 9 หลายเดือนก่อน +24

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

    • @ForgottenKnight1
      @ForgottenKnight1 9 หลายเดือนก่อน +21

      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 8 หลายเดือนก่อน +2

      ​@@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
    @goldnutter412 9 หลายเดือนก่อน +4

    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.

  • @nickbarton3191
    @nickbarton3191 8 หลายเดือนก่อน +2

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

  • @ForgottenKnight1
    @ForgottenKnight1 9 หลายเดือนก่อน +16

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

  • @KibbleWhite
    @KibbleWhite 8 หลายเดือนก่อน +2

    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.

  • @bhbr-xb6po
    @bhbr-xb6po หลายเดือนก่อน

    13:30 of course the code needs maintenance on runtime. It is literally called garbage collection

  • @Rx7man
    @Rx7man 8 หลายเดือนก่อน +2

    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

  • @pauljohnsonbringbackdislik1469
    @pauljohnsonbringbackdislik1469 8 หลายเดือนก่อน

    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

  • @nandoflorestan
    @nandoflorestan 8 หลายเดือนก่อน +4

    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 8 หลายเดือนก่อน +4

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

    • @nandoflorestan
      @nandoflorestan 8 หลายเดือนก่อน

      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 8 หลายเดือนก่อน +4

      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 :)

  • @philipoakley5498
    @philipoakley5498 8 หลายเดือนก่อน +2

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

  • @b.6603
    @b.6603 9 หลายเดือนก่อน +4

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

    • @pepijnkrijnsen4
      @pepijnkrijnsen4 8 หลายเดือนก่อน +9

      This must be your first Kevlin Henney talk.

  • @bhbr-xb6po
    @bhbr-xb6po หลายเดือนก่อน

    8:25 ah, so the Crusades and Punic wars happened after 1936, got it ;)

  • @philipoakley5498
    @philipoakley5498 8 หลายเดือนก่อน

    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".

  • @alvaromoe
    @alvaromoe 8 หลายเดือนก่อน +4

    All the 1s faded to 0s 😂

    • @Rx7man
      @Rx7man 8 หลายเดือนก่อน +2

      the curly braces fell to the bottom of the file

    • @StephenButler-sg5hm
      @StephenButler-sg5hm 7 หลายเดือนก่อน +1

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

  • @haruwan4118
    @haruwan4118 8 หลายเดือนก่อน +2

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

  • @vrjb100
    @vrjb100 9 หลายเดือนก่อน +7

    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.

  • @vrjb100
    @vrjb100 9 หลายเดือนก่อน +1

    Bad oop design leads to cheap ravioli objects

    • @Rick104547
      @Rick104547 9 หลายเดือนก่อน

      expensive* ravioli

    • @kahnfatman
      @kahnfatman หลายเดือนก่อน

      In the toilet there are objects too

  • @mihaiungureanu3370
    @mihaiungureanu3370 8 หลายเดือนก่อน

    A good example of metaphor, proper use of a dictionary and kickable pillows...
    th-cam.com/video/MVMGSocUv2w/w-d-xo.html

  • @shellcatt
    @shellcatt 5 หลายเดือนก่อน

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

  • @b.6603
    @b.6603 9 หลายเดือนก่อน +15

    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 9 หลายเดือนก่อน +4

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

    • @ddanielsandberg
      @ddanielsandberg 8 หลายเดือนก่อน +4

      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.