Fail often. Do stupid sh*t. Learn. Repeat. (or... F*ckup(s) Driven Development)

zajkowskimarcin

mzajkowski

zajkowskimarcin

Did any of you kill someone by the code || app written?

*Kittens killed by __ every time when you __ doesn't count!

Thank you!

@zajkowskimarcin  /  marcin.zajkowski@thecogworks.com

Uff.. we're fine.

Let's go back to failing, 5!

Safety Critical Systems

(when software is a matter of life and death)

Good engineering

is not just code.

Slower can be faster.

MVP

Fail often.

Source: 2005 Nail Report

@ QCon London 2009

I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

int i = 0; // I can't be null
int? i = null; // I can be null!
string s;
string? t;

t = null;
int i = t.Length; // Warning

if(t != null) {
    int j = t.Length; // No warning - smart compiler!
}

if(!t.IsNullOrWhiteSpace()) {
    int l = t.Length; // Warning!
    int m = t!.Length; // I'm smarter than compiler, and DAMNIT, I don't have null here for sure! :>
}
string s; // Should never be null
string? s1; // Can be null

s?.Length; // Check this one for null, please!
s!.Length; // Don't check this, I'm smarter than you :)

Do stupid sh*t.

throw CustomException();

Test.

Learn.

The most

important lesson...

Repeat.

Fail often. Do stupid sh*t. Learn. Repeat. (or... F*ckup(s) Driven Development)

zajkowskimarcin

mzajkowski

zajkowskimarcin

Did any of you kill someone by the code || app written?

*Kittens killed by __ every time when you __ doesn't count!

Fail often.

Marcin Zajkowski

Umbraco MVP, Trainer & Certified Master @ The Cogworks

 

 

 

CTO / CKO @ WOW School

Marcin @ umbraCoffee (Friday's 12:30 on YT)

Blogger @ udfnd.pl

zajkowskimarcin

mzajkowski

zajkowskimarcin

socialmediaforbusyprogrammers.com

Thank you!

@zajkowskimarcin  /  marcin.zajkowski@thecogworks.com

Questions? Afterparty!

Fail often. Do stupid sh*t. Learn. Repeat. (or... Fuckup(s) Driven Development)

By Marcin Zajkowski

Fail often. Do stupid sh*t. Learn. Repeat. (or... Fuckup(s) Driven Development)

We all make mistakes, right? Do we all learn from them? Can we learn from other people mistakes? YES! Open Source is a powerful 'toy' in our hands, so let's use it! We all need to stop being imposters and just admit we're not ideal here. The story will show which mistakes I and we as a company made in the recent history and how we learned from them (and ton of other people mistakes - Umbraco included :)) to deliver high quality solutions for our Clients. Keywords: Fuckups, mistakes, imposters syndrome, quality, code, refactoring, calm down

  • 3,077