#NDCSydney in 10 Lessons

The Things I Have Learned (in no particular order):

  • #dotnetcore and #aspnetcore both rock; lean and cross-platform
  • ASP.NET Core is incredibly extensible and easy to follow
  • Developing ASP.NET Core in VS Code with “watch run” is like magic; all my JS front-end and C# back-end changes re-load in the browser as soon as I make them with some arcane WebPack magic… just use “yo aspnetcore” for yummy magic goodness.
  • Developing with AWS Lambda is literally child’s-play — interesting in the context of Scott Hanselman’s keynote. The future may well be Thick JS Clients over elastic pools of AWS Lambda invocations triggered by API calls and file uploads.
  • Writing authentication code is hard. Just OpenID Connect all the things and don’t try to be clever.
  • Functional Programming is *now* … jet.com run over 90% of their 700 microservices on F#. Mark Seemann made a great argument why functional programming gives you hexagonal architecture and testability for free. He also showed three FizzBuzz katas to show how functional programming can lead to new insights that can be applied in C# as well.
  • Clojure has an amazingly cool editor that shows immediate evaluation of functional expressions in annotations inside your listing as you type. I want that for VS Code.
  • For happiness at work just: ponder, nap and plank. I cannot really explain.
  • The Technical Debt trap — great talk by Doc Norton. What you call Technical Debt may well be Cruft; Cruft is the code that isn’t even good enough to be called Debt. The trap of Cruft is that it speeds up development, sets expectation of greater velocity that can then only be met by writing more cruft, eventually you end up with a code-base so Crufty that you cannot do anything but re-write it. I hope there is a video somewhere of this talk, because he makes so many more good points that I just cannot capture in a paragraph.
  • Experimentation Mindset — another Doc Norton (he has a new fan); lots of good points about mastery only being attainable through experimentation. And an interesting aside along the way that team sentiment is a leading indicator for Quality and Velocity. My Delivery Lead instincts are conjuring opportunities to capture relevant data in unexpected places.

Really, overall the biggest take-aways are to start stretching the definition and scope of Data to mine for the benefit of the organisation, and to finally take a serious stab at F# because it sounds like there is Much Happiness To Be Found there.