#Awesome talks
There are a lot of screencasts, recordings of user group gatherings and conference talks available online. I try to commit myself watching at least two new talks every week, and I've been doing this for quite some time now. I created this list of online talks that I really enjoyed watching. I'll also be updating this list whenever I've watched another awesome talk that is worthy enough. Suggestions are always appreciated through a pull request. So without further ado ..
(In no particular order)
#####Software Development
- The Computer Revolution hasn't happend yet by Alan Kay [1:04:34]
- The Future of Programming by Bret Victor [32:55]
- Inventing on Principle by Bret Victor [54:20]
- Media for Thinking the Unthinkable by Bret Victor [39:32]
- Finding a Way Out by Chris Granger [33:46]
- Programming is terrible - Lessons learned from a life wasted by Thomas Figg [1:06:43]
- Computers are a Sadness, I am the Cure by James Mickens [27:35]
- Are We There Yet? by Rich Hickey [1:10:04]
- Simple Made Easy by Rich Hickey [1:01:26]
- The Web We Lost by Anil Dash [1:10:54]
- Growing a Language by Guy Steele [53:30]
- The Mess We're In by Joe Armstrong [45:49]
- To the Moon! by Russ Olsen [52:43]
- Coding Sucks: Why a Job in Programming Is Absolute Hell by Peter Welch (not shure) [13:32]
- REST Api design by Brian Sletten [1:02:35]
- GZIP is not enough! (partial css and js updates in gmail) by Google? [59:05]
- What makes Python so AWESOME by Raymond Hettinger [1:13:20]
- Busy Java Developer's Guide to Scala: Thinking by Ted Neward [1:04:23]
- Up, Up, and Out: Scaling Software with Akka by Victor Klang [1:06:03]
- Google Cloud Platform Live: Keynote by Urs Hölzle [1:22:09]
#####Object-Oriented Programming
- Functional is cool, but do you know OO by Sandro Mancuso [54:41]
- Stop Writing Classes by Jack Diederich [27:29]
#####Functional Programming
- Functional Principles for Object-Oriented Developers by Jessica Kerr [51:13]
- Adventures in Functional Programming by Jim Weirich [50:34]
- Deconstructing Functional Programming by Gilad Bracha [48:33]
- Living in a Post-Functional World by Daniel Spiewak [45:46]
- Extreme Cleverness: Functional Data Structures in Scala by Daniel Spiewak [39:24]
- Tangible Functional Programming by Conal Elliott [56:24]
- Faith, Evolution, and Programming Languages by Phillip Wadler [1:06:53]
- Don't fear the Monad by Dr. Brian Beckman [1:07:10]
- Functional Programming Design Patterns by Scott Wlaschin [1:49:10]
- Domain modelling with the F# type system by Scott Wlaschin [1:03:40]
#####Software Design
- Architecture the Lost Years by Robert C. Martin [1:06:39]
- DDD: putting the model to work by Eric Evans [58:48]
- Unleash Your Domain by Greg Young [54:43]
- Strategic Design by Eric Evans [54:40]
- Reliability, Availability, and Scalability by Udi Dahan [1:11:09]
- Implementing Micro Service Architectures by Fred George [54:40]
- Immutability Changes Everything by Pat Helland [45:19]
- Crafting Wicked Domain Models by Jimmy Bogard [1:03:03]
- The Actor Model[ ]by Hewitt, Meijer and Szyperski [42:34]
- How To Design A Good API and Why it Matters by Josh Bloch [1:00:18]
- The Joys and Pains of a Long Lived Codebase by Jeremy D Miller [1:02:30]
- Microservices by Martin Fowler [26.25]
- Stewardship: The Sobering Parts by Brian Goetz [1:03:30]
#####Web Development
- Crockford on JavaScript by Douglas Crockford [10:00:00]
- Go To There and Back Again by Douglas Crockford [49:06]
- Introduction to Node.js by Ryan Dahl [58:19]
- WAT by Gary Bernhardt [4:17]
- The Birth & Death of JavaScript by Gary Bernhardt [29:22]
- Hey Underscore, You're Doing It Wrong! by Brian Lonsdorf [36:30]
- Community.js by Chris Williams [21:39]
- An End to Negativity by Chris Williams [27:25]
- Is Node.js Better by Brian Ford [41:42]
- Life is Terrible: Let's Talk About the Web by James Mickens [32:07]
#####Test-Driven Development
- TDD, where did it all go wrong by Ian Cooper [1:00:37]
- Holistic testing by Jimmy Bogard [1:00:33]
- Boundaries by Gary Bernhardt [33:44]
- Is TDD Dead? - Part 1 by Martin Fowler, Kent Beck, and David Heinemeier Hansson (DHH) [30:28]
- The Transformation Priority Premise by Robert C. Martin [53:43]
#####Methodologies
- The Land that Scrum Forgot by Robert C. Martin [45:41]
- Demanding Professionalism in Software Development by Robert C. Martin [45:03]
- The Mistake at the Heart of Agile (and how to get past it) by Michael Feathers [53:58]
- Spotify Engineering Culture - Part 1 by Spotify Training & Development [13:12]
- Spotify Engineering Culture - Part 2 by Spotify Training & Development [13:27]
- Adopting Continuous Delivery by Jez Humble [47:22]
- The Death of Agile by Dave Thomas [47:47]
#####Cognitive Development
- A Lecture on Creativity by John Cleese [10:37]
- The Meaning of Life by Derek Sivers [18:54]
- Becoming an Outlier: Career Reboot for the Developer Mind by Cory House [59:12]
#####Computer History
- A Brief History of Graphics by Stuart Brown [46:00]
#####Miscellaneous
- The Myth of the Genius Programmer by Brian Fitzpatrick and Ben Collins-Sussman [55:17]
- Open Source Projects and Poisonous People by Brian Fitzpatrick and Ben Collins-Sussman [57:45]
- Do You Believe in the Users? by Brian Fitzpatrick and Ben Collins-Sussman [50:20]
- The Joys of Engineering Leadership by Brian Fitzpatrick and Ben Collins-Sussman [56:02]
- Programming Well with Others: Social Skills for Geeks by Brian Fitzpatrick and Ben Collins-Sussman [55:29]
- The Art of Organizational Manipulation by Brian Fitzpatrick and Ben Collins-Sussman [56:15]
- You don't need a class if it only has a constructor, and one other method
- Use built-in exceptions when possible instead of creating your own exception class
- If you found out you only had one year to live, you'd make the most of it. If you act like life is infinite, you won't.
- Set tight deadlines for yourself, have a plan and not quite enough time.
- Pursue work that puts you into the "flow", and avoid work that pulls you from this state.
- Don't seek absolute best, stop when you've found something that is good enough.
- Heavy mocking of objects can be harmful, sometimes its best to let tests hit the DB, etc.
- When done well, TDD can aid in refactoring, but heavy mocking can make refactoring impossible