Channel
Interviewed Person
Guillermo Rauch
Подробнее о конференции HolyJS: https://jrg.su/EM4wwV — — This talk will share everything we've learned about the spectrum of approaches for creating and scaling JavaScript websites and applications.

Theo - t3․gg
Interviewed: Theo Browne (t3dotgg)
[Music] you you thank you so much for that fantastic introduction and thanks for the
organizers thank you to Tania and Dimitri for having me here thank you so much it's a wonderful city is a wonderful opportunity so as per my introduction I'm the founder of Zeit and something we're on a mission to do is to empower the front end developer we want front-end developers to build and deploy powerful and fast applications so it's really great to be here at holy j/s
because we think that javascript has been the fundamental technology that has enabled this transition towards client rich powerful web applications andreas is the lingua franca of the internet it is really the a great time to be here today and it's a really great technology to develop an expertise in but when it comes to developing and deploying applications with JavaScript we've been
faced with a lot of complexity over time so you've probably heard of solutions like static rendering a static site generation dynamic rendering server-side rendering streaming there's a whole slew of technologies involved when it comes to choosing and deploying and developing the right application so when do I need to do is client-side rendering where do I need to do server-side rendering how about a pre rendering like static site
generation when do I use each of these techniques so when I was writing this talk I thought about a paper that has been very influential in a software industry it's called there is no silver bullet and when they think about a silver bullet in case you don't know the reference silver bullet it was the magical technology that would kill a world wall for a vampire or a monster but we're not gonna talk about this silver bullet which doesn't exist and neither does the software one so we're
gonna talk about essence and accident in software engineering so this paper is super simple and actually very approach it's not a paper with formulas or proofs or anything like that it just talks about this idea that there's not a single technology or feature or software application or methodology that'll make you an order of magnitude better meaning
there's no such thing as 10x technologies or 10x engineers for that matter and one of the things that this paper talks about is essential difficulty and accidental difficulty so us all here in this room because we deal with Jay s and node modules and all that stuff we love accidental difficulty so I'm going to talk a little bit about that so essential it difficulty or
sometimes essential complexity its inherent to the problem that you're solving so if you were implementing an algorithm or data structures it's really easy to understand what the essential complexity is because you start thinking about that space trade-offs in terms of memory allocation or you start thinking about how many cycles of computing spending on solving this problem accidental on the other hand it's not something that is required to solve the