We often have the tendency to over engineer our software. We want to use the latest packages, integrate with the hip services, and adopt those shiny patterns. I’m here to say, “you aren’t gonna need it”. YAGNI is a principle of eXtreme Programming that states "a programmer should not add functionality until necessary". In this talk we’ll take a look at what that means when writing code and how you can start practicing YAGNI to write better software.

Comments

Comments are closed.

Matt Trask at 17:21 on 9 Feb 2018

Ive seen bits and pieces of this talk but I am glad I saw the whole thing. Jason did a great job breaking down the examples, why code was added or not added in the example, and how it fits in with the day job.

Chad Grigsby at 10:23 on 10 Feb 2018

I think it’s pretty hard to make a point on this since it’s mostly subjective exactly what you’re gonna need or not, but at least you made it fun and certainly stated succinctly! Loved the talk, thanks!

The code examples really helped with the point. I liked how he showed the progression of code and make an argument for each piece that was changed.

It's always interesting to see a non-just-engineering view of an engineering problem. I really enjoyed the talk.

Glenn Kimble at 10:51 on 10 Feb 2018

Probably my favorite talk of the day. Jason did a great job I thought keeping the audience fully engaged from start to finish. This topic is a tricky one because it's easy to overlook how important it is. I thought Jason's code examples and stories did about as good of a job as you possibly could of in helping to drive the point home.

Excluding the keynotes, this is probably my favorite talk of Day 1. I came to this presentation looking for tidbits of knowledge as I feel like I'm a bit on the more extreme end of YAGNI already, and I realized I certainly had more room to go. I absolutely enjoyed his approach of "If you want to go all the way with YAGNI, you could just serve up a static json file" - I didn't even think of this approach but it certainly is the farthest. Definitely good info! If you haven't already heard of JMac - go ahead and look him up online. He's full of great info from twitter tips to free workshops on writing cleaner code!

Scott Hardie at 17:01 on 11 Feb 2018

Great talk! I loved the sense of humor. You did what I wish every presenter had done: You showed real-world examples with actual code that could run in production. This made your points so much clearer. Thank you!

Learning YAGNI is generally a multi-year process for most developers. I think it's in the programmer's nature to want to make the most robust and feature heavy software since it's something they can be proud of. This talk really goes into the cons of doing such, and the benefits of pragmatic, simple changes that can be iterated upon to create the software that the business needs.

Jason really explained the benefits of doing the minimal, effective and ultimately correct amount of work one step at a time. Great talk!