- ICSE 2015 - Grady Booch Keynote, The Future of Software Engineering (video) - Amazing review of the history of software engineering and the challenges of the future.
- Thinking for Programmers - Leslie Lamport introduces techniques and tools that help programmers think above the code level to determine what applications and services should do and ensure that they do it.
- NDC 2012 - Robert C. Martin, Professional Software Development - Uncle Bob defines what is professionalism in software development.
- 7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development - Fred Brooks' essay "No Silver Bullet" taught us that no single technique can bring us an order-of-magnitude improvement within a single decade. In spite of this, from his ideas of essential and accidental complication, we can conclude something stunning about the nature of agile software development.
- The Architecture of Open Source Applications
- Rails Conf 2012 Keynote: Simplicity Matters by Rich Hickey (video)
- Keynote: 8 Lines of Code by Greg Young (video) - Greg Young discusses eight lines of very common code finding in them massive numbers of dependencies and difficulties, looking for ways to get rid of them.
- Functional Programming with DDD by Greg Young (video) - Can functional programming be used with DDD? How is event sourcing equals functional programming?
- Functional Patterns in Domain Driven Design applied to Financial Models by Debasish Ghosh (video) - Talks about how DDD principles can be implemented more effectively using functional programming principles.
- Building Scalable Stateful Services by Caitie McCaffrey (video) - Benefits, problems to be solved and real world experience building stateful services.
- Stefan Tilkov: Nano, Micro, Mini, oh my: Modularization for sustainable systems (video) - Concepts for turning a single system into a system of systems, and discussion about the architectural and organizational challenges that arise.
- DDD & Microservices: At Last, Some Boundaries! by Eric Evans (video) - How DDD's Bounded Context helps to model microservices.
- Specification
- Light introduction
- You're Missing the Point of Promises
- JavaScript Promises ... In Wicked Detail
- Q’s Design Rationale
- Flattening Promise Chains - Advanced usage of promises.
- You won’t believe how old TDD is!
- High-Low Testing - The goal is to test at a high, acceptance level and the low, unit level.
- Ian Cooper: TDD, where did it all go wrong (video) - Re-discover Kent's original proposition, discover where key misunderstandings occured and look at a better approach to TDD that supports sofware development instead of impeding it.
- Don't fear the Monad by Brian Beckman (video) - The best explanation of what a Monoid and a Monad are and why on earth they are so useful.
- Professor Frisby's Mostly Adequate Guide to Functional Programming - Functional paradigm in using Javascript. Good explanation of functors, monads and the likes.
- Functional Programming in Javascript by Scott Sauyet
- Composition in Javascript by Scott Sauyet
- Javascript Allonge
- Why Curry Helps
- Fun with the Lambda Calculus by Corey Haines (video) - How to express natural numbers and their laws using lambda calculus in ruby.
- Git from the inside out - An in-depth explanation of how git works.