Building Resilient Frontend Architecture • Monica Lent • GOTO 2019

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ต.ค. 2024

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

  • @Sindoku
    @Sindoku 10 หลายเดือนก่อน +5

    Monica’s presentation skills are some of the best I’ve ever seen in the tech field. This was a near flawless execution. I loved the content as well, very important and informative stuff she was talking about. I definitely took notes!

  • @thonEtMais
    @thonEtMais 3 ปีที่แล้ว +30

    GOTO should make a GOBACKTO playlist with brillant talks that remain valid in time

  • @samzmann
    @samzmann 2 ปีที่แล้ว +15

    "Forbidden dependency test": the concept I've been dreaming about for years, but that I did not know where to look for information!!! Thanks, great talk.

    • @abdulkaderjeelani
      @abdulkaderjeelani 2 ปีที่แล้ว +1

      Do look for architectural fitness functions. That is yet another name !

  • @HappyCheeryChap
    @HappyCheeryChap 4 ปีที่แล้ว +17

    For like 10+ years I had the strong belief that "copy and pasting code means you're probably doing something wrong"... but yeah over time, I've come to the same realisation that sometimes it's just more sensible than creating abstracted dependencies. A lot of the abstractions I wrote in the past never even got used a 2nd time anyway.

  • @harrypehkonen
    @harrypehkonen 3 ปีที่แล้ว +6

    This is the fastest 30-minute video I have ever seen! Felt like ten minutes. Tops!

  • @javascriptduniya1201
    @javascriptduniya1201 2 ปีที่แล้ว +14

    Her presentation skills are awesome.

  • @joaoforja893
    @joaoforja893 4 ปีที่แล้ว +47

    Tremendous talk! All the principles presented are applicable not just to FE development, but to software development in general.

  • @matthewfehskens2327
    @matthewfehskens2327 4 ปีที่แล้ว +88

    "Technical debt on a subscription model" hits far too close to home

  • @dorinm4653
    @dorinm4653 2 ปีที่แล้ว +2

    Over-engineering is huge problem in Software Development community. Great presentation and very good way to highlight those problems

  • @sirAlexander_T
    @sirAlexander_T 4 ปีที่แล้ว +25

    Brilliant talk Monica! and great delivery! transcends front-end. Addresses software engineering in general.

  • @daniela.sorianoii2034
    @daniela.sorianoii2034 10 หลายเดือนก่อน +1

    I love this talk. Everything makes sense as an FE dev

  • @arpielen
    @arpielen 2 ปีที่แล้ว +6

    Amazing talk! I wish I was there to give her an stand ovation 👏🏼

  • @kuti1643
    @kuti1643 ปีที่แล้ว +4

    Really like the part about internal dependency management, lot of people in the FE space don't think about this. I found that following a kind of modified version of domain driven architecture works very well for me. I also followed some "what can import from where" type of rules in the past, bu I wasn't aware of a tool that can actually enforce those rules in a JS project, very good to know that there is such a thing, will definitely use it next time.

  • @bitbrain3468
    @bitbrain3468 4 ปีที่แล้ว +3

    Argh.. I wish there was a "here's what you should watch/view/read next" to go along with this. This is EXACTLY the kind of thing I need to know right now. So thank you for a wonderful talk Ms. Lent. Just wish I could find *more* :D

  • @johndavid3114
    @johndavid3114 2 ปีที่แล้ว +2

    She is spot on about everything she mentions.

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

    I generally don't like these kind of talks, but this was a very good one

  • @shfunky
    @shfunky 2 ปีที่แล้ว +1

    Fantastic talk. Still holds up to this day.

  • @andreasfinke1801
    @andreasfinke1801 4 ปีที่แล้ว +3

    Just before I watched this talk, I was just thinking about the folder structure of my project. Thanks for this.

  • @alexbennett5647
    @alexbennett5647 ปีที่แล้ว +1

    Best talk I've heard in a while!

  • @danielt63
    @danielt63 4 ปีที่แล้ว +7

    I remember when XP first introduced DRY to the world. One reuse meant copy/paste, two reuses meant copy/paste but seriously think about making a shared component. A shared component isn't a given until you have the third reuse opportunity. Somehow over the years, it changed to making the shared component on the first reuse instead of waiting for the second or third one.

    • @l-cornelius-dol
      @l-cornelius-dol 4 ปีที่แล้ว +1

      DRY long predates XP. But the "third use" principle is a good one to balance things out.

  • @arsenalprince4
    @arsenalprince4 4 ปีที่แล้ว +11

    Oh wow, she is a good speaker. Love the talk!

  • @greenkodex
    @greenkodex 4 ปีที่แล้ว +19

    I think she does herself a disservice with the "Frontend" label. Everything she's said applies to system wide architecture. Great talk!

    • @Ziviani
      @Ziviani 2 ปีที่แล้ว +2

      Exactly! I'm not into frontend development but I'm glad I have "misclicked" on this. Great presentation.

  • @fullc0depurple
    @fullc0depurple 3 ปีที่แล้ว +1

    This pragmatic approach is really touching to me.

  • @francoisconsigny9106
    @francoisconsigny9106 2 ปีที่แล้ว

    This was a good reminder ! Thank you Monica Lent.
    A lot of frontend developper are like "this does the same thing so i made a component folder that shares the component. I just put a condition if its in this or in this page".
    Backend are like "Dude, you are just telling me there a not doing the same thing" haha .
    And i still dont understand why in Mobile App you use Observables and stuff. Doing module app and you dont do the same in frontend. I have some doubt of the benifit of Redux on webapp for the frontend community developpers.
    Cheers guys

  • @kylonguyen-we5mx
    @kylonguyen-we5mx 8 หลายเดือนก่อน +1

    What a brilliant lady!

  • @anonymouscoder3557
    @anonymouscoder3557 3 ปีที่แล้ว +1

    Great presentation, Address a lot of issues between Decoupling > Dry, Explains when to choose what. Clearly explains that there is no silver bullet when it comes to "best practices". EOD "it depends" is the final answer.

  • @DodaGarcia
    @DodaGarcia ปีที่แล้ว +2

    The component having an existential crisis cracked me up 😂 "Where am I??"

  • @RajasegarChandiran
    @RajasegarChandiran 4 ปีที่แล้ว +5

    "Migration is the name of the game. If you are not migrating in FE you're left behind." - l love that.

  • @mohamedhassanwd6434
    @mohamedhassanwd6434 4 ปีที่แล้ว +2

    A great presentation Monica, I really like the way you deliver the info and the way you present. Hope to see great talks for you again 😘

  • @GUIGOLA777
    @GUIGOLA777 4 ปีที่แล้ว +1

    This is infotainment. Monica is brilliant!

  • @shubhkarmansingh5668
    @shubhkarmansingh5668 3 ปีที่แล้ว +5

    "Senior engineer or whatever it is we call 19 year olds these days"
    Killer joke 😂😂
    Now you have my attention !!!

  • @coderitual_
    @coderitual_ 4 ปีที่แล้ว +11

    Big plus for copy & paste code if needed. Bad abstraction is worse than no abstraction.

  • @iampervaze
    @iampervaze 4 ปีที่แล้ว +2

    I agree to a greater extent to what you said. My manager always insists on keeping things decoupled to such a level that the change over time does not impact other business areas.

    • @jinxblaze
      @jinxblaze 4 ปีที่แล้ว +2

      It is quite opposite to how my company works xD it's all a coupled mess and terrible APIs. Ui code literally has Java class names in the if blocks of javascript. Quitting soon

    • @iampervaze
      @iampervaze 4 ปีที่แล้ว

      Sounds like an old monolith you have been working on, but hey, software development is a complex world, no matter how much you want to steer away from this kinda stuff, you end up working on it, one time or the other :)

  • @ranjitadhana9532
    @ranjitadhana9532 4 ปีที่แล้ว +3

    Very accurate and real observations. A very interesting talk. Thanks a lot. 🙋

  • @praveensg
    @praveensg 3 ปีที่แล้ว +1

    A+ content and A++ delivery

  • @sct848
    @sct848 2 ปีที่แล้ว +1

    Great talk! Thanks for the tips.

  • @wusaby-ush
    @wusaby-ush ปีที่แล้ว +1

    This was great really

  • @qwertt14
    @qwertt14 3 ปีที่แล้ว +2

    amazing lecture, kudos Monica!

  • @QiMU01
    @QiMU01 2 ปีที่แล้ว

    Constraining the dependency import architecture rings true to me. I made an eslint plugin for whitelisting and blacklisting dependencies for folders in the app for the company I am working for. It really is helpful.

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

    I agreeeeeee... As Sandi Metz use to say: Duplication is cheaper than the wrong abstraction.

  • @detaaditya6237
    @detaaditya6237 2 ปีที่แล้ว +1

    Boundary enforcement is really interesting. I never thought of it. Might try it on my next project

  • @quyettran424
    @quyettran424 2 ปีที่แล้ว

    Shared components are not just about DRY, but also consistency and synchronization in updates. I think this is more important.

  • @thepetesmith
    @thepetesmith 3 ปีที่แล้ว +1

    She is brilliant wow

  • @WesDoyle
    @WesDoyle 3 ปีที่แล้ว +3

    excellent talk. decoupled > dry is wonderfully succinct.

  • @shoaibbhimani7831
    @shoaibbhimani7831 ปีที่แล้ว

    Thank you Monica very interesting Talk

  • @inthemidstofitall
    @inthemidstofitall 4 ปีที่แล้ว +3

    Very helpful, not just for front-end development. Thank you!

  • @shivankchopra8552
    @shivankchopra8552 3 ปีที่แล้ว +1

    Great talk! Thanks for the video!

  • @rajdeepchandra9807
    @rajdeepchandra9807 3 ปีที่แล้ว +1

    Great talk. In our React code base we use madge for circular dependency checks. It is very helpful and helped us avoid regression issues in our large codebase.

    • @MrHamsterbacke756
      @MrHamsterbacke756 2 ปีที่แล้ว +1

      Never heard of Madge. thank you for the tip.

  • @abdallahgamal5092
    @abdallahgamal5092 3 ปีที่แล้ว +1

    Really amazing talk , monica you know really how to speak really nicely thanks I learned alot

  • @emmanuelugwuoke967
    @emmanuelugwuoke967 2 ปีที่แล้ว +1

    Great talk!🎊

  • @laurelineparis5407
    @laurelineparis5407 3 ปีที่แล้ว +1

    I seriously loved it :) thanks

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

    Nx has a very neat way of restricting dependency rules

  • @illuminach8279
    @illuminach8279 2 ปีที่แล้ว +1

    Great presentation!

  • @BryonLape
    @BryonLape 2 ปีที่แล้ว

    Twenty years ago, I wrote my Perl object oriented and my Javascript with prototypes. Confused the crap out of everyone else. People still try hard to avoid the prototyping aspects of Javascript.

  • @gompro
    @gompro 4 ปีที่แล้ว +4

    such a great presentation! love it

  • @forsh2966
    @forsh2966 ปีที่แล้ว +1

    god damn, this was awesome

  • @alvincrespo
    @alvincrespo 4 ปีที่แล้ว +4

    Fantastic talk! Thank you!

  • @lenaggar
    @lenaggar 4 ปีที่แล้ว +7

    this an amazing talk ❤️

  • @tejbirring9673
    @tejbirring9673 2 ปีที่แล้ว +1

    A very well thought out talk relevant to areas of software engineering beyond frontend. Takes me back to embedded days.

  • @Doombuggie41
    @Doombuggie41 4 ปีที่แล้ว +4

    Loved this talk! However, I don't feel that monorepos are very out of reach anymore. Yarn workspaces makes things like this so easy!

    • @TheAndre2131
      @TheAndre2131 2 ปีที่แล้ว

      now we're using Nx, and it works like a charm

  • @rituroy6598
    @rituroy6598 2 ปีที่แล้ว +1

    Great talk👍🏻

  • @tadeoriverosk
    @tadeoriverosk 4 ปีที่แล้ว +1

    One of the best talks, love the ideas and the way of presenting them!

  • @razik91
    @razik91 2 ปีที่แล้ว +1

    Great talk! 🙂

  • @SaifUlIslam-di5xv
    @SaifUlIslam-di5xv 3 ปีที่แล้ว +1

    Amazing talk.

  • @YBWang-pi9qq
    @YBWang-pi9qq 2 ปีที่แล้ว +1

    29:06 constraints for more resilient architecture
    - dependence inward
    - code reuse might not help
    - enforce boudaries

  • @bardhan.abhirup
    @bardhan.abhirup 2 ปีที่แล้ว

    this was brilliant!

  • @nsambataufeeq1748
    @nsambataufeeq1748 3 ปีที่แล้ว +1

    great talk,thanks

  • @Kilo.November
    @Kilo.November 4 ปีที่แล้ว +6

    Monica bringin that sassy attitude while droppin insights!

  • @sergioavalos
    @sergioavalos ปีที่แล้ว +1

    I like the structure of the talk and content, but I'm not a fan of the passive-agressive and bit sarcastic tone from the speaker. Small note, I did enjoy it and will recommend it

  • @NabeelIbrahimcp
    @NabeelIbrahimcp 3 ปีที่แล้ว +1

    Really awesome explanation

  • @woodmelui326
    @woodmelui326 3 ปีที่แล้ว +1

    Why rewrite the code? Sometimes, it is because "YOU THINK" you have a "BETTER" solution

  • @manishtripathy1549
    @manishtripathy1549 3 ปีที่แล้ว +1

    Great talk! Wish I could hit like 10 times.

  • @phanvanhoa
    @phanvanhoa 4 ปีที่แล้ว +1

    I come here for the topic. I'm a simple developer. Everything she said is absolutely right :v

  • @semrana1986
    @semrana1986 3 ปีที่แล้ว

    existential crisis for a component behaving like a dangling pointer is so true

  • @LonliLokli
    @LonliLokli 4 ปีที่แล้ว +1

    It's really good topic, great thanks for it!

  • @alexanderdreith6794
    @alexanderdreith6794 4 ปีที่แล้ว +4

    I think there are some great thoughts here from a pure code standpoint, but all the decision flow was discussed as one way. Like new business requirements fracturing a generic shared component. But I also like to look at things like that in a reverse flow of thought.
    Sometimes a designer has created a piece of UI that is complicating the code of a shared component and rather than saying "then we should split this code" you should consider if it's a smell that the designer is breaking pattern of the design system. Why should a one-off coded component be created to meet a one-off design need rather than the design using the already provided component? Sometimes it's necessary, but I think using the introduction of complexity to an architecture can be a good canary for why it's happening rather than just blind implementation.

  • @KevinBoosten
    @KevinBoosten 4 ปีที่แล้ว +1

    Great talk!

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

    Just because someone speaks so beautifuly, I does make sense all the time.

  • @edarioq
    @edarioq 4 ปีที่แล้ว +2

    Angular gives us good architecture right out of the box...

    • @nishantsingh
      @nishantsingh 2 ปีที่แล้ว +1

      That's the comment i was looking for.

  • @PaulSebastianM
    @PaulSebastianM 4 ปีที่แล้ว

    She knows her stuff... can't believe she's that young.

  • @OfferoC
    @OfferoC 4 ปีที่แล้ว +2

    Great talk, thank y0u.

  • @faisalhakim5920
    @faisalhakim5920 3 ปีที่แล้ว +1

    good talk

  • @moraisgabas
    @moraisgabas ปีที่แล้ว +1

    Great

  • @ricardoferreirades
    @ricardoferreirades 4 ปีที่แล้ว +1

    I liked it!

  • @SamuelKarani
    @SamuelKarani 4 ปีที่แล้ว +1

    OOP/Functional constraints/benefits isn't always mutually exclusive

  • @l-cornelius-dol
    @l-cornelius-dol 4 ปีที่แล้ว +1

    Excellent talk. Both in content and presentation.

  • @daCorasla
    @daCorasla 4 ปีที่แล้ว +1

    Great talk! :)

  • @edarioq
    @edarioq 4 ปีที่แล้ว

    Good talk thanks.

  • @akay64x2
    @akay64x2 4 ปีที่แล้ว +1

    Truth has been spoken :D

  • @owenizedd2830
    @owenizedd2830 2 ปีที่แล้ว

    This actually very similar to what dan abramov was talking about in his wet codebase talk

  • @uwontlikeit
    @uwontlikeit 4 ปีที่แล้ว

    can someone tell GOTO channel about the timecodes?

  • @Oswee
    @Oswee 4 ปีที่แล้ว

    Excelent talk! :)

  • @driziiD
    @driziiD 4 ปีที่แล้ว +2

    nice talk

  • @nasheomirro8102
    @nasheomirro8102 2 ปีที่แล้ว

    Ironically, the way I found this video is by searching up "react architecture"

  • @zourdy697
    @zourdy697 3 ปีที่แล้ว +1

    damn she is cool, I wish I had a co-worker like her

  • @psnZYKRON
    @psnZYKRON 4 ปีที่แล้ว +2

    This whole talk feels like a personal attack 😂

  • @trunghieuhoang3839
    @trunghieuhoang3839 4 ปีที่แล้ว

    Great talk and she is graceful too

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

    goddamn good

  • @rickvian
    @rickvian 2 ปีที่แล้ว

    "big ball of mud" also known by italiano as "big ball of spaghetti" code

  • @adbeats4119
    @adbeats4119 4 ปีที่แล้ว

    Nice