DevTernity Conference
DevTernity Conference
  • 154
  • 1 048 960

Відео

🚀 Client-side Machine Learning (Nikhila Ravi )
Переглядів 2386 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com #machinelearning #deeplearning #node.js DevTernity (www.devternity.com) is the top 3 international software development conference in Europe. We focus on the core skills paramount to your success - code design, software architecture and leadership. Start preparing for the role of software architect, engineering leader or CTO...
Right and Responsibilities of a Delivery Team (Sandro Mancuso)
Переглядів 1996 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
🚀 "Good Enough" Architecture (Stefan Tilkov)
Переглядів 8156 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com In this presentation, we’ll take a look at some of the ways we can determine whether the development efforts we’re undertaking suffer from too much or too little focus on architecture. We’ll examine a number of real-world examples that are intended to inspire either admiration or terror, and try to find some recipes of how w...
🚀 DevTernity 2021: Adam Tornhill - Prioritizing Technical Debt as if Time and Money Matters
Переглядів 3596 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com Many codebases contain code that is overly complicated, hard to understand, and hence expensive to change and evolve. Prioritizing technical debt is a hard problem as modern systems might have millions of lines of code and multiple development teams no one has a holistic overview. In addition, there's always a trade-off betw...
Decremental Development (Kevlin Henney)
Переглядів 4,6 тис.6 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
Domain-Driven Refactoring (Jimmy Bogard)
Переглядів 5116 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
What I Wish I Knew When I Started Designing Systems (Jakub Nabrdalik)
Переглядів 6366 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
From Legacy to Solid Code (Bartłomiej Słota)
Переглядів 2516 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
War Is Peace, Freedom Is Slavery, Ignorance Is Strength, Scrum Is Agile (Allen Holub)
Переглядів 8576 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
Qualities of a Highly Effective Architect (Venkat Subramaniam)
Переглядів 3336 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
Acceptance Testing for Continuous Delivery - Dave Farley
Переглядів 5616 місяців тому
Acceptance Testing for Continuous Delivery - Dave Farley
Unit Testing Done Right (Jakub Pilimon)
Переглядів 4596 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
The Effective Developer (Sven Peters)
Переглядів 3006 місяців тому
❗️ATTENTION ❗️ Registration to DevTernity is running: 👉 devternity.com
Functional Programming in Kotlin - Hadi Hariri
Переглядів 2646 місяців тому
Functional Programming in Kotlin - Hadi Hariri
Leadership Guide for the Reluctant Leader - David Neal
Переглядів 1446 місяців тому
Leadership Guide for the Reluctant Leader - David Neal
The 7 Pillar Developer - Cory House
Переглядів 1846 місяців тому
The 7 Pillar Developer - Cory House
Clean Code: Eternal Practices - Jakub Pilimon
Переглядів 2196 місяців тому
Clean Code: Eternal Practices - Jakub Pilimon
Reasons and Ways to Improve Code Quality - Venkat Subramaniam
Переглядів 3926 місяців тому
Reasons and Ways to Improve Code Quality - Venkat Subramaniam
Improving Ebay's Development Velocity - Randy Shoup
Переглядів 1156 місяців тому
Improving Ebay's Development Velocity - Randy Shoup
Code? - Kevlin Henney
Переглядів 1,4 тис.6 місяців тому
Code? - Kevlin Henney
Domain Modeling Made Functional - Scott Wlaschin
Переглядів 1,7 тис.6 місяців тому
Domain Modeling Made Functional - Scott Wlaschin
Clean Architecture - Robert (Uncle Bob) Martin
Переглядів 3,8 тис.6 місяців тому
Clean Architecture - Robert (Uncle Bob) Martin
Unlocking The Awesome Power of Refactoring - J.B. Rainsberger
Переглядів 1616 місяців тому
Unlocking The Awesome Power of Refactoring - J.B. Rainsberger
The Secrets of the Fastest Java Developers on Earth - Victor Rentea
Переглядів 4026 місяців тому
The Secrets of the Fastest Java Developers on Earth - Victor Rentea
Effective Microservice Communication and Conversation Patterns - Jimmy Bogard
Переглядів 1936 місяців тому
Effective Microservice Communication and Conversation Patterns - Jimmy Bogard
Everything You Should Know About Web Development in 2022 - Stefan Judis
Переглядів 2246 місяців тому
Everything You Should Know About Web Development in 2022 - Stefan Judis
Beyond Microservices: Streams, State and Scalability - Gwen Shapira
Переглядів 1076 місяців тому
Beyond Microservices: Streams, State and Scalability - Gwen Shapira
Building Careers With Empathy - Scott Hanselman
Переглядів 1106 місяців тому
Building Careers With Empathy - Scott Hanselman
Simple and Powerful Things That Work For Me - Jakub Nabrdalik
Переглядів 4726 місяців тому
Simple and Powerful Things That Work For Me - Jakub Nabrdalik

КОМЕНТАРІ

  • @mcdaddy000
    @mcdaddy000 3 дні тому

    "600 line service classes" - I would much rather read through a (cohesive) single 600 line class, than six abstracted 100 line classes

  • @Brian-ro7st
    @Brian-ro7st 9 днів тому

    Good tidbits here, but much of this amounts to “don’t write bad or fragile tests” and “don’t do testing wrong,” which is about as helpful as “well, don’t write tightly coupled or fragile code.” The overarching narrative I just don’t think is particularly valuable.

  • @jayoolong279
    @jayoolong279 14 днів тому

    Such a good talk, I am sad that there wasn't enough time!!

  • @tactics40
    @tactics40 14 днів тому

    Cute move to use "inclusion" to mean something other than its usual meaning of discriminating against straight white men.

  • @JDogB-tc3lx
    @JDogB-tc3lx 25 днів тому

    long winded blow hard. geez I wonder if he ever gets anything done...

  • @PaulSebastianM
    @PaulSebastianM 26 днів тому

    I think it's ironical that OO was invented to properly model domains and the real world and has been the main approach for doing that for decades, yet FP has been doing a better job of this for equally the same amount of time, but almost nobody uses it.

  • @eukaryote0
    @eukaryote0 Місяць тому

    They didn't teach to do it fullscreen back in 60s

  • @AI-took-my-job
    @AI-took-my-job Місяць тому

    Great talk! Direct, honest and from experience! Thanks a lot Sandro!

  • @monsieurwieselle
    @monsieurwieselle Місяць тому

    Good talk. But the buzzing sound of the recording was almost unbearable. Please filter it out before uploading such a bad recording.

  • @Joe333Smith
    @Joe333Smith Місяць тому

    He's absolutely right about not testing one class or function in isolation. You test a functionality. This was always super obvious to me. But he spelled out the reasons in a little bit more detail whereas I kind of just implicitly felt it.

  • @this-is-bioman
    @this-is-bioman Місяць тому

    I hadn't expected any real world examples and you didn't disappoint me 😊 there's nothing practical in this presentation. Lots of claims and big words and absolutely no solutions to anything. That's why nobody is doing TDD. It's just impractical and a huge waste of time.

  • @user-ri5lw8qy5k
    @user-ri5lw8qy5k Місяць тому

    I literally treat this guy as my UNCLE! It's always a pleasure to listen to Uncle Bob - thanks for publishing this talk :)

  • @7th_CAV_Trooper
    @7th_CAV_Trooper Місяць тому

    There's no way you're slower with TDD. You can spend your time writing tests or you can spend your time fixing your crappy code and supporting your pissed off customers. Also, making changes rippling through tests sounds like bad design. AKA skill issue.

    • @Sammysapphira
      @Sammysapphira 24 дні тому

      You don't seem to understand what TDD is if you think not doing it means you don't write tests for your code.

    • @7th_CAV_Trooper
      @7th_CAV_Trooper 24 дні тому

      @@Sammysapphira you have a reading comprehension problem. I said you can spend time debugging code like a noob, or you can write tests like an adult and not waste time debugging.

  • @SeanJung-rx1vo
    @SeanJung-rx1vo 2 місяці тому

    I applied a valid type by referring to the video. The code has become more readable. thank you

  • @alexandreg3933
    @alexandreg3933 2 місяці тому

    Excellent and insightful talk

  • @htx80nerd
    @htx80nerd 2 місяці тому

    Thought this was about Terry Davis, never mind.

  • @bgseenivasababu7191
    @bgseenivasababu7191 2 місяці тому

    Is there any project which is easily maintained by others without TDD. I don't think so. Robert clearly told that without TDD approach programmer will encounter lack of productivity within a day. I don't think you can ignore TDD easily unless the project is not already done by someone.

  • @Baelrog666
    @Baelrog666 2 місяці тому

    Footsteps sounds are very annoying.

  • @cezartorescu
    @cezartorescu 2 місяці тому

    60 mins of bullshit. Get a life 😂😂😂😂

  • @mozhdehnouri
    @mozhdehnouri 2 місяці тому

    The one of the best I ever seen

  • @victorserranobargues
    @victorserranobargues 3 місяці тому

    Amazing I have learned many new things

  • @harikrishification
    @harikrishification 3 місяці тому

    Thank you for sharing this fantastic presentation! I'm thoroughly intrigued by the scientific process involved in developing mental models for predicting the future. Dave adeptly linked this science with effective leadership and decision-making, which was truly impressive.

  • @denniszhz
    @denniszhz 3 місяці тому

    This is mind-blowing. Simple logic yet super powerful! This video should be viewed by millions! Dave should be teaching this at larger platforms. I would sacrifice a lot to work for such a true leader!

  • @XeonProductions
    @XeonProductions 3 місяці тому

    Maybe the reason I hate TDD so much is that I've always been on projects that are rapidly changing with poorly defined requirements. I very seldom encounter a project where I have good enough requirements to write tests BEFORE writing the code. I've also worked on projects where the leads are obsessed with code coverage and code smells, even though the code was still a bug ridden mess. I've spent more time writing tests, refactoring tests, debugging tests, and researching how to write tests than I ever did writing any of the code. The time and cost savings just wasn't there, and still isn't there. In my experience my untested code has been no more buggy than my tested code. You then have the massive bloat that comes along with making every single dependency in a class injectable (interface hell) so that it can be "easily testable", even though most of the dependencies you are injecting will NEVER need to have an alternative implementation during the lifetime of the code. You then have the problem of poorly written tests by inexperienced or low skilled developers, which will throw up false positives or falsely show that something is passing giving you a false sense of security.

  • @Salantor
    @Salantor 3 місяці тому

    I am waiting for a day that someone will convince me that TDD is a good way of wriring web FE code, especially dor frameworks. From my perapective it is a royal pain in the ass.

  • @Kenbomp
    @Kenbomp 3 місяці тому

    Ivar Jacobson

    • @Kenbomp
      @Kenbomp 3 місяці тому

      14:29

    • @Kenbomp
      @Kenbomp 3 місяці тому

      It's not that humans are bad at making it fast it's that they are bad at it in 7billion different ways

  • @TheJimNicholson
    @TheJimNicholson 3 місяці тому

    I have a vision in my head of having Alan speak to the IT leadership in my organization, but I always end up thinking it would have to look like that scene from Kubrick's "A Clockwork Orange" where they have the protagonist tied to a chair with devices that force him to keep his eyes open and watch the re-programming.

  • @hasan0770816268
    @hasan0770816268 4 місяці тому

    notes to self books: programmer anarchy, spike and stabilize, lean software development (all do away with tdd) test driven development by example kent beck refactoring by martin fowler refactoring to patterns by kerievesky ------ TLDR do not bake implementation details into tests as this makes refactoring difficult. refactoring is changing the internals of code not the public interface. the majority of tests must be unit tests as they are fast and automatic. 58:58

  • @natanloterio
    @natanloterio 4 місяці тому

    valid points, others not so valid. For instance, the use of `Either` results chained to a `fold` function seems an unnecessary overhead since you already have the conditional operator `when`. Besides being counterintuitive when reading from left to right, it makes it harder to read the code.

  • @96merluzzo
    @96merluzzo 4 місяці тому

    yeah this talk was a wonderful discovery.

  • @ryanhewitt9902
    @ryanhewitt9902 4 місяці тому

    There are not enough comments here - this was a well put together presentation! My question is: Can I use this technique in a Lisp-like language? I like the idea of thinking with algebraic types in order to get a birds' eye view, and wonder if I can apply this sort of thinking to languages lacking algebraic union types and compilers.

    • @lukaszkalnik
      @lukaszkalnik 13 днів тому

      In pure Lisp not really, but there seem to be libraries for this, e.g. cl-algebraic-data-type

  • @user-wr4jm5og3b
    @user-wr4jm5og3b 4 місяці тому

    Very commendable presentation given it was held during an earthquake... Even the cameraman was holding it together (barely)

  • @arunmarapally6969
    @arunmarapally6969 4 місяці тому

    Thank you guys for recording it.

  • @danielbartley516
    @danielbartley516 4 місяці тому

    The sniffling m’kay. FFS

  • @core2extremist368
    @core2extremist368 5 місяців тому

    The suggestion to "just go read Kent Beck's Test-Driven Development: By Example" is amazing. GOAT suggestion. READ IT. It explains what the tests are *actually* for, and has full examples of how to use the process. And, surprise surprise, it's TOTALLY different than what my team was doing. Short summary: *start by writing tests from the client's perspective:* like `assert(Currency.dollars(5).times(2) == Currency.dollars(10))`. Then write the code to implement the tests. That's it! It's hard to write the tests? Refactor the code so they're easy to write. Writing tests is really annoying because there's lots of duplication? Refactor. Spending lots of time making elaborate mocks to test internals? Stop! You're doing it wrong. *Good tests == getting the right answer means your implementation is right.* THIS is what lets you refactor easily - if your refactored code passes all the tests, then it's right. In Gang of Four terms: do NOT peek behind the public facade! Just test the facade. Leave the details where they belong: as hidden details. It's not the details you care about: it's whether you get the right answer!

  • @alerya100
    @alerya100 5 місяців тому

    Scott Wlaschin is a god tier teacher !

  • @jacmkno5019
    @jacmkno5019 5 місяців тому

    If the trigger is a requirement, those come in very different shapes and flavors. "I need a software that makes some money for me online". What test would you start writing for that?. Prototype driven development is what really happens. All those other philosophies are only childs of particular situations that arise during development. Impossible to generalize as far as their followers usually try to do...

  • @jacmkno5019
    @jacmkno5019 5 місяців тому

    There is no way to do tests without establishing an interface between the testing system and the system being tested. This interface then has to be maintained. And then it becomes impossible to say if it is true that in most cases this extra maintenance cost is lower or higher than just manually testing the code for relevant cases or all the other intermediate uses of automated testing. Too many variables to explore. Is the same as asking is religion is good or bad. Who knows, but surely you would not want to say something that is likely to offend most religious people in front of an audience that you don't know...

  • @HiddenUsename
    @HiddenUsename 5 місяців тому

    And what were the user stories when IBM was writing DB2? All this "user stories" is crap that Web brought upon us. What's really needed is a smart guy who talks to the users and specs out the features. What you rally need is smart guys. And this is the crux of the issue: all this BS about respect, etc comes from an assumption that you have high quality people on your team. The kind of ppl who signed the Manifesto for Agile Development. Smart and passionate. The reality is far from it. you have to deal with mediocre lazy developers. Which is also doable but the Agile is not the way to make them deliver a decent product. You need a rigid process for that. You need to do it the way the Army does it. And I saw it done in 1990s

    • @nuvotion-live
      @nuvotion-live 5 місяців тому

      Assume you have really smart capable people on a project. What resources do you recommend reading on software development process?

    • @HiddenUsename
      @HiddenUsename 5 місяців тому

      @@nuvotion-live Simon Brown C4 stuff and everything by Coplien. Anything that's not TDD bs push. But thing is, you never have a team of really smart capable ppl, except in rare cases like some startup or Google Go lang team. U need to be able to make average, often mediocre ppl deliver decent product. And it's done with leadership, mentoring, discipline. I saw it done at IBM. The army like approach.

    • @HiddenUsename
      @HiddenUsename 4 місяці тому

      @@nuvotion-live the whole point is that there is no single magic process. the process is established by the senior people on the team, just like a lead surgeon set the process for his team. Read Fred Brooks, he wrote a lot about it. Same goes for the coding standards. No BS like TDD or some other crap like that.

    • @alexanderpodkopaev6691
      @alexanderpodkopaev6691 3 місяці тому

      ​@avsync-live anything published before 2010 should work if uou have real professionals, as they would be capable to choose approach and adjust it to needs. As one ex-M$ project manager wrote, all software development books describe dancing around developers while they wrote code. And yes, it does much more sense if all you've got is mediocrity.

    • @HiddenUsename
      @HiddenUsename 3 місяці тому

      @@alexanderpodkopaev6691 if uou have real professionals, And this is the key! What the last 10 years have been is an attempt to make mediocre ppl deliver something via a process rooted in maximizing FUN for those mediocrities.

  • @rogerdeutsch5883
    @rogerdeutsch5883 5 місяців тому

    “The most effective organizations are learning organizations. Learning is The Work.” 38:35 Wish more orgs knew this and understood the truth of it. Fantastic talk

  • @edgeeffect
    @edgeeffect 5 місяців тому

    I'm a pathetic Kevin Henney fanboy and I understand that I **DO** have issues in this particular area... but I find myself wishing he actually did do that 50 hour version. ;)

  • @gzoechi
    @gzoechi 5 місяців тому

    For me the biggest advantage is that wtiting tests pushes me into the view of the user (caller) of the code. This helps to get it right the first time.

  • @edwardlloyd1655
    @edwardlloyd1655 5 місяців тому

    Promo sm

  • @JitendraAanadani
    @JitendraAanadani 5 місяців тому

    👍

  • @PaulSebastianM
    @PaulSebastianM 5 місяців тому

    6 years and we've not made any progress. And how many years since those books were written?

  • @foobarz-coding
    @foobarz-coding 5 місяців тому

    I was doing unit test for the last 2 weeks in my current job for the first time . I was mocking to dependecies of the class and also spying on the implemntation . I knew that I'm doing something wrong . Nice Lecture Now I understand how to go . what do you thing guy about mocking repositories with in Memory database for Unit test ?

  • @PaulSebastianM
    @PaulSebastianM 5 місяців тому

    What do you do if other devs complain that your refactorings "keep changing" the code they have to work with, directly or indirectly?

    • @edgeeffect
      @edgeeffect 5 місяців тому

      Or it's too hard to review your code because you do too much.

    • @PaulSebastianM
      @PaulSebastianM 5 місяців тому

      @@edgeeffect yes! Exactly! Or there's too much to test manually because there's not (enough) automated testing. Even though you have improved the code a lot and fixed some really bad design, allowing faster and safer development in the near future.

    • @ChrisB_Crisps
      @ChrisB_Crisps 4 місяці тому

      That's when one looks for another team/company/project. If these best practices are for, whatever valid reason, seen like that, the one is seen as an unfit cog in the organization. I have seen similar things happen in healthcare systems in eu in conjunction with php and .net

    • @ForgottenKnight1
      @ForgottenKnight1 4 місяці тому

      If the changes are a lot and devs can't follow the thought process, do pair programming or even mob programming. Integrate them in the process so they can digest all the steps, not just the end result.

    • @PaulSebastianM
      @PaulSebastianM 4 місяці тому

      @@ForgottenKnight1 fair and it worked. Problem is only one or two developers were willing to do pair programming.

  • @PaulSebastianM
    @PaulSebastianM 5 місяців тому

    Oh how the world is broken in so many ways. It's astounding that there are still people that try to fix it. Especially knowing how hard it is and how everything and everyone is against you, against learning, against good...

  • @rupture007
    @rupture007 6 місяців тому

    That lanyard rubbing on the mic irritates me just about as much as doing TDD, TDD still wins. I do agree your tests should only test the behavior of a feature, not each method or function in your code.

  • @vorpae
    @vorpae 6 місяців тому

    Great stuff. Very insightful, thank you.