2890 lines
190 KiB
HTML
2890 lines
190 KiB
HTML
<!DOCTYPE html>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<!-- Google Optimize Anti-flicker snippet (recommended) -->
|
||
<style>.async-hide { opacity: 0 !important} </style>
|
||
<style>.promo{background:#222528;position:fixed;z-index:1001!important;left:0;top:0;right:0;max-height:48px;min-height:48px;padding-top:0!important;padding-bottom:0!important}.promo,.promo p{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo p{font-size:.8125rem;line-height:1rem;color:#fff;margin-bottom:0;margin-top:0;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:700}@media only screen and (max-width:650px){.promo p{font-size:.6875rem}}.promo span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.promo a{color:#fff!important;text-decoration:underline!important}.promo a.btn{background:#d0021b;padding:7px 20px;text-decoration:none!important;font-weight:700;margin-left:10px;margin-right:10px;white-space:nowrap;border-radius:5px}@media only screen and (max-width:650px){.promo a.btn{font-size:.6875rem;padding:7px 10px}}.promo.container{padding-top:8px;padding-bottom:8px}@media only screen and (min-width:1050px){.promo.container{padding-top:0;padding-bottom:0}}.promo .actions{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.promo .actions__left{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo .actions__right{-ms-flex-preferred-size:40px;flex-basis:40px;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.promo.hidden{display:none}.promo.show{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.promo.show .container__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.promo.fixed{position:fixed}.promo.show+header.header{margin-top:48px}.header{background:#fff;-webkit-box-shadow:0 1px 0 #dde2e5;box-shadow:0 1px 0 #dde2e5}.header .actions__left,.header__bottom__events{max-width:100%!important;margin:0}.header .header__events-all{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.header .header__events-all .header__event-slot{-webkit-box-flex:1;-ms-flex:1 100%;flex:1 100%;border-right:1px solid #dde2e5;margin-top:3px;margin-bottom:3px;padding-left:15px;text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:5px;min-width:300px}.header .header__events-all .header__event-slot:hover{text-decoration:none!important}.header .header__events-all .header__event-slot img{min-width:40px;height:40px}.header .header__events-all .header__event-slot div{margin-left:10px}.header .header__events-all .header__event-slot span{font-weight:700!important;font-size:.75rem;margin-bottom:0!important;margin-top:0;display:block;line-height:1.125rem;text-align:left}.header .header__events-all .header__event-slot p{font-weight:400;font-size:.625rem;line-height:130%!important;color:#495057!important;margin:0}@media only screen and (min-width:1050px){.header .header__events-all .header__event-slot p{font-size:.625rem}}.header .header__events-all .header__event-slot:first-child{padding-left:0}.header .header__events-all .header__event-slot:last-child{padding-right:0;border-right:0}@media only screen and (min-width:1050px){.header__bottom,.header__middle,.header__top{position:relative;white-space:nowrap}}.header__top{padding:10px 0}@media only screen and (min-width:800px){.header__top{padding:5px 0}}.header__bottom{padding:5px 0;z-index:29;max-width:100%}.header__bottom a{font-size:.8125rem}.header__bottom .trending{margin-left:0;margin-right:0}.header__bottom .actions{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.header__bottom .actions__left{max-width:calc(100% + 8px)}@media only screen and (min-width:800px){.header__bottom .actions__left{max-width:calc(100% + 24px)}}.header__bottom .actions__right{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:none}@media only screen and (min-width:1050px){.header__bottom .actions__right{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__middle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header__middle{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.header__top .actions__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}@media only screen and (min-width:1050px){.header__top .actions__right{max-width:430px}}.no-style.header__nav li:nth-child(3){font-weight:700}.no-style.header__nav li:nth-child(3) a{color:#0e5ef1!important}.header__bottom__events::after{background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),to(#fff));background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 100%);content:'';position:absolute;height:60px;right:10px;width:25px}@media only screen and (min-width:1050px){.header__bottom__events::after{display:none}}.contribute-link{font-weight:400;font-size:.6875rem;color:#000!important;position:relative;padding-left:10px}.contribute-link:hover{color:#00791d!important;text-decoration:none!important}.contribute-link::before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1);left:-1px}.my-0{margin-top:0!important;margin-bottom:0!important}.header__desc.my-0{margin-left:0}.header__bottom__events .actions__left{max-width:100%!important;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;display:block;scroll-behavior:smooth;min-width:100%}.header__bottom__events .actions__left::-webkit-scrollbar{display:none}.header__bottom__events .actions__left:-webkit-scrollbar-thumb{background:#fff}.logo{line-height:1rem}.header{position:relative;z-index:41;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.header .input:focus,.header input[type=password]:focus,.header input[type=text]:focus{border:1px solid #00791d}.header a:not(.button):not(.login__action):not(.active){text-decoration:none;color:#222}.header a:not(.button):not(.login__action):not(.active):hover{text-decoration:underline;color:#222}.header__items{display:none;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (min-width:1050px){.header__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.header__items nav{position:relative;background:0 0;padding:0;left:0;top:0;line-height:inherit;display:block;-webkit-box-shadow:none;box-shadow:none;max-width:100%;max-height:80px}}.header__items>div{width:100%;margin-bottom:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}@media only screen and (min-width:552px){.header__items>div:not(:nth-last-child(-n+2)){margin-bottom:32px}}@media only screen and (min-width:552px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/2 - (32px - 32px * 1/2));flex-basis:calc(99.7% * 1/2 - (32px - 32px * 1/2));max-width:calc(99.7% * 1/2 - (32px - 32px * 1/2));width:calc(99.7% * 1/2 - (32px - 32px * 1/2))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(2n){margin-right:0;margin-left:auto}}@media only screen and (min-width:800px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/4 - (32px - 32px * 1/4));flex-basis:calc(99.7% * 1/4 - (32px - 32px * 1/4));max-width:calc(99.7% * 1/4 - (32px - 32px * 1/4));width:calc(99.7% * 1/4 - (32px - 32px * 1/4))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(4n){margin-right:0;margin-left:auto}}@media only screen and (min-width:1050px){.header__items>div{margin-bottom:0!important;margin-right:0!important;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.header__items .language__switcher{display:none}.header__items .language__switcher .li-nav.active>a,.header__items .language__switcher>li.active>a{color:#fff!important}.header__items .language__switcher .li-nav.active>a:hover,.header__items .language__switcher>li.active>a:hover{color:#fff!important;background:#0e5ef1}.header__items .language__switcher .li-nav:hover>a,.header__items .language__switcher>li:hover>a{color:#fff}.header+main{display:block;min-height:210px;-webkit-transition:margin .15s ease;transition:margin .15s ease;margin-top:0!important}.header--hide .header+main{margin-top:50px}.header--hide .header__toggle{opacity:0;top:20px;visibility:hidden}.header--hide .header__logo{max-height:0}.header--hide .header__middle,.header--hide .header__top{max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;border-color:transparent}.header--hide .header__bottom .vue-portal-target{top:3px;right:0;bottom:auto;left:auto;position:absolute}.header__middle,.header__top{-webkit-transition:all .15s ease;transition:all .15s ease}.header__middle{border-bottom:1px solid rgba(0,0,0,.1);z-index:33}.header__middle .vue-portal-target{width:100%}@media only screen and (min-width:1050px){.header__middle .vue-portal-target{display:none}}@media only screen and (min-width:1050px){.header__middle{line-height:5.75rem;text-align:left;padding:0;z-index:30}.header__middle .widget__heading{display:none}}.header__top>.actions__left{display:none}@media only screen and (min-width:1050px){.header__top>.actions__left{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__top>.actions__right{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.header__top>.actions__right .dropdown__holder{width:calc(100vw - 16px);max-height:80vh}@media only screen and (min-width:600px){.header__top>.actions__right .dropdown__holder{width:auto}}.header__top>.actions__right>*{margin:0}.header__top>.actions__right .search{display:none}@media only screen and (min-width:1050px){.header__top>.actions__right>*{display:-webkit-box;display:-ms-flexbox;display:flex;white-space:nowrap}.header__top>.actions__right .search{display:block}}.header__top .user__login{display:block}.header__top .user__login>.button,.header__top .user__login>button{border-top-right-radius:0;border-bottom-right-radius:0}@media only screen and (min-width:1050px){.header__top{position:relative;right:auto;width:100%}}.header__logo{max-width:165px;position:absolute;top:8px;overflow:hidden;-webkit-transition:all .1s ease;transition:all .1s ease;z-index:32;line-height:2.25rem;height:36px;width:100px;margin-left:50px;-ms-flex-preferred-size:190px;flex-basis:190px}@media only screen and (min-width:800px){.header__logo{top:4px}}@media only screen and (min-width:1050px){.header__logo{position:relative;top:0;overflow:visible;margin-right:20px;margin-left:0;line-height:3.125rem;height:50px}.header__logo>*{width:165px}}@media only screen and (min-width:1280px){.header__logo{margin-right:30px}}.header__desc,.header__more>button{text-transform:capitalize;color:#666;letter-spacing:0;font-size:0;font-weight:400;line-height:1.5rem;vertical-align:top;font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI",system-ui,ui-sans-serif,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-transition:font-size .15s ease-in-out;transition:font-size .15s ease-in-out}@media only screen and (min-width:1050px){.header__desc,.header__more>button{font-size:.6875rem}}.header__desc{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;width:auto}.header__topics{white-space:nowrap;float:right;position:relative}.header__topics *{display:inline-block;vertical-align:top}.header__topics a{font-size:.8125rem}@media only screen and (min-width:1050px){.header__topics{float:none}}.header__more{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:top}.header__more:before{left:-12px}.header__more:after,.header__more:before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1)}.header__more:after{right:-12px}.header__more:hover{cursor:pointer;color:rgba(0,0,0,.75)}.header__user{display:inline-block;vertical-align:top;white-space:nowrap;margin-left:8px}@media only screen and (min-width:1050px){.header__user{margin-left:0}}.header__user>div{display:inline-block;vertical-align:top}.header__user-nav a:not(.button){text-transform:uppercase;font-size:.75rem;font-weight:600}.header__user-nav a:not(.button):not(.active){opacity:.5}.header__user-nav a:not(.button):not(.active):hover{opacity:.75}.header__user-nav a:not(.button):hover{text-decoration:none}.header__user-nav a:not(.button).active{color:#222;cursor:default;text-decoration:none}.header__user-nav a:not(.button):before{margin-right:0}.header__user-nav a:not(.button):not(:last-child){margin-right:16px}@media only screen and (min-width:1050px){.header__user-nav a:not(.button):not(:last-child){margin-right:32px}}@media only screen and (min-width:1050px){.header__user-nav+.header__topics{margin-left:56px}}.header__search{display:none;vertical-align:top;margin-right:0}@media only screen and (min-width:1050px){.header__search{display:inline-block}}.header__search,.header__user{line-height:inherit}.header__nav{border-bottom:1px solid rgba(0,0,0,.1)}@media only screen and (min-width:800px){.header__nav{border-bottom:0}}.header__nav .button{margin-left:0}.header__nav .button__more{margin-right:20px}.header__nav .li-nav,.header__nav>li{-webkit-transition:all .15s ease;transition:all .15s ease}@media only screen and (min-width:1050px){.header__nav .li-nav,.header__nav>li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;position:static;border:none;min-height:65px}.header__nav .li-nav:hover.has--subnav .nav .li-nav,.header__nav .li-nav:hover.has--subnav .nav>li,.header__nav>li:hover.has--subnav .nav .li-nav,.header__nav>li:hover.has--subnav .nav>li{white-space:normal}.header__nav .li-nav:hover.has--subnav .nav__subnav,.header__nav>li:hover.has--subnav .nav__subnav{opacity:1;top:100%;visibility:visible;-webkit-transition-delay:.25s;transition-delay:.25s}.header__nav .li-nav:hover.has--subnav .nav__category,.header__nav>li:hover.has--subnav .nav__category{width:100%}.header__nav .li-nav:hover.has--subnav .nav__category:after,.header__nav .li-nav:hover.has--subnav .nav__category:before,.header__nav>li:hover.has--subnav .nav__category:after,.header__nav>li:hover.has--subnav .nav__category:before{-webkit-transition-delay:.25s;transition-delay:.25s;opacity:1}}@media only screen and (min-width:1080px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1280px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1338px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}.header__nav .li-nav>a,.header__nav>li>a{font-size:.875rem;line-height:1.5rem;padding:12px 0;color:#000;display:inline-block;max-width:100%;position:relative;z-index:61;white-space:normal}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{padding:8px 0 0;font-weight:700}}.header__nav .li-nav>a:after,.header__nav .li-nav>a:before,.header__nav>li>a:after,.header__nav>li>a:before{content:'';position:absolute;bottom:-1px;left:50%;width:0;height:0;opacity:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-style:solid;border-width:0 5px 5px 5px;-webkit-transition:opacity .15s ease-in-out;transition:opacity .15s ease-in-out;border-color:transparent transparent #fff transparent}.header__nav .li-nav>a:before,.header__nav>li>a:before{left:50%;bottom:0;border-width:0 6px 6px 6px;border-color:transparent transparent #f5f7f8 transparent}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1rem}}@media only screen and (min-width:1800px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1.125rem}}.header--open{overflow:hidden}@media only screen and (min-width:600px){.header--open{overflow:visible}}.header--open .content-items{max-height:215px;margin:12px 0 24px}.header--open .search{margin-top:16px;display:block}.header--open .header__toggle:before{z-index:10}.header--open .header__toggle>span:nth-child(1){top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.header--open .header__toggle>span:nth-child(2){opacity:0}.header--open .header__toggle>span:nth-child(3){top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.header--open .header__items,.header--open .header__items .language__switcher{display:-webkit-box;display:-ms-flexbox;display:flex}.header--open .header__top{z-index:100;position:absolute;left:0;right:8px;background:#fff}@media only screen and (min-width:800px){.header--open .header__top{right:20px}}.header--open .header__top .search{display:none}.header--open .header__logo{z-index:101}.header--open .header__middle{padding-top:60px}.header--open .header__bottom{display:none}.header--open .header__container{max-height:90vh;overflow-x:hidden;overflow-y:auto}@media only screen and (min-width:1050px){.header--open .header__container{overflow:visible}}.header .subnav{position:absolute;-webkit-box-shadow:0 5px 25px 1px rgba(0,0,0,.15);box-shadow:0 5px 25px 1px rgba(0,0,0,.15);background:#fff;visibility:hidden;line-height:1.75rem;max-width:100%;width:100%;left:0;opacity:0;overflow:hidden;border:1px solid #f5f7f8;border-radius:2px;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;top:105%;z-index:60;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.header .subnav .subnav__categories{-webkit-box-flex:0;-ms-flex:0 1 280px;flex:0 1 280px;padding:24px 0;background:#f5f7f8;margin-right:0!important}.header .subnav .subnav__categories>li{display:block;font-size:.9375rem;padding:2px 48px 2px 24px}.header .subnav .subnav__categories>li a{display:block;font-weight:700}.header .subnav .subnav__categories>li:hover{background:#e1e1e1}.header .subnav .subnav__heading{margin-bottom:20px}.header .subnav .subnav__content{position:relative;-ms-flex-item-align:start;align-self:flex-start;padding:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header .subnav .subnav__content{padding-left:32px;padding-right:32px;margin:0 auto;-webkit-box-flex:1;-ms-flex:1 1 600px;flex:1 1 600px}}.header .subnav .subnav__content .heading__container{-ms-flex-preferred-size:100%;flex-basis:100%}.header .subnav .subnav__content:before{content:'';position:absolute;left:0;top:0;bottom:-100%;width:1px;background:rgba(0,0,0,.1)}.languagesEdition .active{font-weight:700}.header__more.dropdown:after{content:'';display:inline-block;vertical-align:middle;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;background-repeat:no-repeat;background-position:center;margin-bottom:2px;width:7px;height:7px;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;background-color:#fff!important;background-size:contain}.header__more.dropdown button{color:#000!important;margin-right:-20px;padding-right:20px;z-index:1000}.header__more.dropdown .dropdown__holder{width:165px}.header__more.dropdown .dropdown__content{padding:13px;padding-top:5px;padding-bottom:5px}.header__more.dropdown .languagesEdition li{border-bottom:1px solid #e6e6e6}.header__more.dropdown .languagesEdition li:last-child{border:0}.logo__data{display:none;color:#666;font-size:.6875rem}@media only screen and (min-width:1050px){.logo__data{display:block;line-height:.8125rem}}.container{padding-left:12px;padding-right:12px;margin:0 auto;min-width:320px;-webkit-transition:padding .15s ease-in-out;transition:padding .15s ease-in-out}@media only screen and (min-width:600px){.container{padding-left:16px;padding-right:16px}}@media only screen and (min-width:800px){.container{padding-left:20px;padding-right:20px}}@media only screen and (min-width:1250px){.container{padding-left:60px;padding-right:60px}}@media only screen and (min-width:1400px){.container{padding-left:20px;padding-right:20px}}.container.white{background:#fff}.container__inner{max-width:1290px;margin:0 auto;-webkit-transition:max-width .15s ease-out;transition:max-width .15s ease-out}.search{display:block;position:relative;z-index:33;width:100%;max-width:100%;margin:0}.search:before{position:absolute;top:50%;right:24px;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-right:0;z-index:34}.search__bar{display:block;border-radius:2px;position:relative;z-index:33}.search__bar #search{margin-bottom:0;max-width:100%;background:#fff}.search__go{top:50%;right:0;bottom:0;left:auto;position:absolute;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:32;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;line-height:2.25rem;-webkit-box-shadow:none;box-shadow:none;display:block;background:0 0;border:0;font-size:0}@media only screen and (min-width:600px){.search__go{z-index:35}}.header #search,.search__go:hover{cursor:pointer}.header #search{height:36px;position:relative;max-width:100%;background-color:#f5f7f8!important}@media only screen and (min-width:600px){.header #search{font-size:.8125rem;min-width:165px;max-width:100%;opacity:1}}.header #search:hover{cursor:auto}@media only screen and (min-width:1050px){.header #search{margin-left:auto;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.header #search:focus{min-width:215px}}.header #search:focus{cursor:auto}.header #search .field__desc{display:none}.header #searchForm{width:100%;margin-top:8px}.header #searchForm:before{right:8px}@media only screen and (min-width:600px){.header #searchForm{margin-top:16px}}@media only screen and (min-width:1050px){.header #searchForm{margin-top:0}}</style>
|
||
<script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
|
||
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
|
||
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
|
||
})(window,document.documentElement,'async-hide','dataLayer',4000,
|
||
{'GTM-W9GJ5DL':true});</script>
|
||
|
||
<script type="text/javascript">
|
||
|
||
var loggedIn = false;
|
||
if (loggedIn) {
|
||
var userCountryId = '';
|
||
}
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
|
||
//CookieControl tool recomendation
|
||
// Call the default command before gtag.js or Tag Manager runs to
|
||
// adjust how the tags operate when they run. Modify the defaults
|
||
// per your business requirements and prior consent granted/denied, e.g.:
|
||
gtag('consent', 'default', {
|
||
'ad_storage': 'denied',
|
||
'ad_user_data': 'denied',
|
||
'ad_personalization': 'denied',
|
||
'analytics_storage': 'denied',
|
||
wait_for_update: 500
|
||
});
|
||
gtag('set', 'ads_data_redaction', true);
|
||
gtag('set', 'url_passthrough', true);
|
||
|
||
if((typeof loggedIn != "undefined") && loggedIn){
|
||
window.dataLayer.push({'logged_in': 'true'});
|
||
} else {
|
||
window.dataLayer.push({'logged_in': 'false'});
|
||
}
|
||
|
||
window.dataLayer.push({'show_queryz': ''});
|
||
|
||
gtag('config', 'G-VMVPD4D2JY');
|
||
</script>
|
||
|
||
<!-- Google Tag Manager -->
|
||
<script>
|
||
var gtmProfile="GTM-W9GJ5DL";
|
||
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||
})(window,document,'script','dataLayer', gtmProfile);</script>
|
||
<!-- End Google Tag Manager -->
|
||
|
||
<title>More More More! Why the Most Resilient Companies Want More Incidents - InfoQ</title>
|
||
<link rel="canonical" href="https://www.infoq.com/presentations/postmortem-incidents-resilience/"/>
|
||
<link rel="alternate" href="https://www.infoq.com/presentations/postmortem-incidents-resilience/" hreflang="en"/>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="alternate" href="https://www.infoq.com/presentations/postmortem-incidents-resilience/" hreflang="x-default" />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta http-equiv="pragma" content="no-cache" />
|
||
<meta http-equiv="cache-control" content="private,no-cache,no-store,must-revalidate" />
|
||
<meta http-equiv="expires" content="0" />
|
||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||
<meta name="copyright" content="© 2006 C4Media" />
|
||
|
||
<meta name="google-site-verification" content="0qInQx_1WYOeIIbxnh7DnXlw1XOxNgAYakO2k4GhNnY" />
|
||
<meta name="msapplication-TileColor" content="#ffffff"/>
|
||
<meta name="msapplication-TileImage" content="/styles/static/images/logo/logo.jpg"/>
|
||
<meta property="wb:webmaster" content="3eac1729a8bbe046" />
|
||
<meta content="width=device-width,initial-scale=1" name="viewport">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=10, IE=edge">
|
||
|
||
|
||
<link rel="stylesheet" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style.css"/>
|
||
<link rel="stylesheet" type="text/css" media="print" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/print.css"/>
|
||
<link rel="preload" type="text/css" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_en.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/icons.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<link rel="preload" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_extra.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
||
<noscript>
|
||
<link rel="stylesheet" type="text/css" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_en.css"/>
|
||
<link rel="stylesheet" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/icons.css">
|
||
<link rel="stylesheet" type="text/css" media="screen" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/style_extra.css"/>
|
||
</noscript>
|
||
|
||
<link rel="stylesheet" type="text/css" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/fonts/font.css"/>
|
||
|
||
<link rel="shortcut icon" href="https://cdn.infoq.com/statics_s1_20260910111632/favicon.ico" type="image/x-icon" />
|
||
<link rel="apple-touch-icon" href="https://cdn.infoq.com/statics_s1_20260910111632/apple-touch-icon.png"/>
|
||
|
||
<script type="text/javascript">
|
||
var device='desktop';
|
||
var InfoQConstants = {};
|
||
InfoQConstants.language = 'en';
|
||
InfoQConstants.countryCode = '';
|
||
|
||
|
||
InfoQConstants.scp = 'eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6IioiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE3ODkxODUzMDN9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiMC4wLjAuMC8wIn19fV19';
|
||
InfoQConstants.scs = 'Bzjzks3JE9-~j3ATOkPlTco1amFKZVRFUOdiH0YDtworWdOpEdkeXyW4teeld9eF3L~yUU0adHqzQcspnmvftJ3Q48BrxpaE4in-b2uJ7ohymVdGSUfgGCO0xCOy8R0Nf3mdJQB-OwLkDwjuXVVzgnG6ZqujhFwetoD-twKCnig_';
|
||
InfoQConstants.sck = 'APKAIMZVI7QH4C5YKH6Q';
|
||
InfoQConstants.scd = '.infoq.com';
|
||
InfoQConstants.sct = '7200';
|
||
|
||
|
||
InfoQConstants.pageUrl = (typeof window.location != 'undefined' && window.location && typeof window.location.href != 'undefined' && window.location.href) ? window.location.href : "URL_UNAVAILABLE";
|
||
InfoQConstants.cet='MCYNu6eVBAYhlreF';
|
||
InfoQConstants.userDetectedCountryCode = 'US';
|
||
InfoQConstants.bpadb = '3PoHelVdDuUlnG1iFrPq';
|
||
</script>
|
||
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/combinedJs.min.js"></script>
|
||
<script type="text/javascript">
|
||
|
||
var JSi18n = JSi18n || {}; // define only if not already defined
|
||
JSi18n.error='Error';
|
||
JSi18n.login_unverifiedAccount='Unverified account';
|
||
JSi18n.contentSummary_showPresentations_1='';
|
||
JSi18n.contentSummary_showPresentations_2='';
|
||
JSi18n.contentSummary_showPresentations_3='';
|
||
JSi18n.contentSummary_showInterviews_1='';
|
||
JSi18n.contentSummary_showInterviews_2='';
|
||
JSi18n.contentSummary_showInterviews_3='';
|
||
JSi18n.contentSummary_showMinibooks_1='';
|
||
JSi18n.contentSummary_showMinibooks_2='';
|
||
JSi18n.login_sendingRequest='Sending request ...';
|
||
JSi18n.bookmark_saved='<q> Saved </q>';
|
||
JSi18n.bookmark_error='<q style=color:black;> Error </q>';
|
||
JSi18n.categoryManagement_showpopup_viewAllLink_viewAllPrefix='View All';
|
||
JSi18n.categoryManagement_showpopup_viewAllLink_viewAllSuffix='';
|
||
JSi18n.categoryManagement_showpopup_includeExcludeLink_Exclude='Exclude';
|
||
JSi18n.categoryManagement_showpopup_includeExcludeLink_Include='Include';
|
||
JSi18n.login_invalid_email='Please specify a valid email';
|
||
JSi18n.login_email_not_found = 'No user found with that email';
|
||
JSi18n.content_datetime_format='MMM dd, yyyy';
|
||
|
||
// used by frontend
|
||
JSi18n.FE = {
|
||
labels: {
|
||
follow: "Follow",
|
||
followTopic: "Follow Topic",
|
||
unfollow: "Unfollow",
|
||
unfollowTopic: "Unfollow Topic",
|
||
following: "Following",
|
||
followers: "Followers",
|
||
like: "Like",
|
||
liked: "Liked",
|
||
authors: "Peers",
|
||
users : "Users",
|
||
topics: "Topics",
|
||
hide: "Hide Item",
|
||
hidden: "%s was hidden on your profile page.",
|
||
undo: "Undo",
|
||
showLess: "Show less",
|
||
showMore: "Show more",
|
||
moreAuthors: "And %s more",
|
||
bookmarked: "Content Bookmarked",
|
||
unbookmarked: "Content Unbookmarked",
|
||
characterLimit: "Characters Remaining"
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
var usersInPage = JSON.parse('[{\"id\":\"62671158\",\"ref\":\"author-Monica-Beckwith\",\"url\":\"\/profile\/Monica-Beckwith\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Monica Beckwith\",\"bio\":\"\",\"followers\":1833,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/QhDv7pXEUK1sdLsYArFmnLxecH4rYhAc.jpg\"},{\"id\":\"45723890\",\"ref\":\"author-Rags-Srinivas\",\"url\":\"\/profile\/Rags-Srinivas\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Rags Srinivas\",\"bio\":\"\",\"followers\":356,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/t4nyfgw1THkp4wMZ9EZ59RGJx8Hf9Rk8.jpg\"},{\"id\":\"87551248\",\"ref\":\"author-Steef~Jan-Wiggers\",\"url\":\"\/profile\/Steef~Jan-Wiggers\",\"followedByCurrentUser\":false,\"minibio\":\"Cloud Queue Lead Editor | Domain Architect | Cloud Expert\",\"name\":\"Steef-Jan Wiggers\",\"bio\":\"\",\"followers\":895,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/BhZx03k3Hj0pZVXmTzGqItwZxtJ06oIb.jpg\"},{\"id\":\"80977916\",\"ref\":\"author-Thomas-Betts\",\"url\":\"\/profile\/Thomas-Betts\",\"followedByCurrentUser\":false,\"minibio\":\"Senior Laureate Application Architect at Blackbaud\",\"name\":\"Thomas Betts\",\"bio\":\"\",\"followers\":1171,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/pSqI6HrU3k9rmmVjwS34OHG0bOMYiE6a.jpg\"},{\"id\":\"72028228\",\"ref\":\"author-Sergio-De-Simone\",\"url\":\"\/profile\/Sergio-De-Simone\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"Sergio De Simone\",\"bio\":\"\",\"followers\":777,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/NovciOoQOAYWqYqRQBFo97SuMm0xbUiC.jpg\"},{\"id\":\"126467140\",\"ref\":\"author-Renato-Losio\",\"url\":\"\/profile\/Renato-Losio\",\"followedByCurrentUser\":false,\"minibio\":\"Cloud Expert | AWS Data Hero \",\"name\":\"Renato Losio\",\"bio\":\"\",\"followers\":913,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/ptroF8HdI2vWXm0NDaKeS0JdiPxMOAra.jpg\"},{\"id\":\"126464202\",\"ref\":\"author-Johan-Janssen\",\"url\":\"\/profile\/Johan-Janssen\",\"followedByCurrentUser\":false,\"minibio\":\"Architect at ASML\",\"name\":\"Johan Janssen\",\"bio\":\"\",\"followers\":536,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/Fb4eZ0mtvMf6MhsmBIhsUVueV4xAs2FD.jpg\"},{\"id\":\"39485652\",\"ref\":\"author-Daniel-Bryant\",\"url\":\"\/profile\/Daniel-Bryant\",\"followedByCurrentUser\":false,\"minibio\":\"InfoQ News Manager | Building Platforms at Syntasso\",\"name\":\"Daniel Bryant\",\"bio\":\"\",\"followers\":2751,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/tSe5dczMaSGtRUm18VkTR2tcF4W3SogA.jpg\"},{\"id\":\"63268344\",\"ref\":\"author-Chris-Swan\",\"url\":\"\/profile\/Chris-Swan\",\"followedByCurrentUser\":false,\"minibio\":\"Engineer, Atsign\",\"name\":\"Chris Swan\",\"bio\":\"\",\"followers\":1873,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/8PE76nOujWAoCM8yqLn9Hfv2HqW3VlIP.jpg\"},{\"id\":\"4927376\",\"ref\":\"author-Karsten-Silz\",\"url\":\"\/profile\/Karsten-Silz\",\"followedByCurrentUser\":false,\"minibio\":\"Full-Stack Java Developer\",\"name\":\"Karsten Silz\",\"bio\":\"\",\"followers\":399,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/p6zmOdOcqXiRj09iiZNeDZap7f0IglQW.jpg\"},{\"id\":\"343314\",\"ref\":\"author-Jonathan-Allen\",\"url\":\"\/profile\/Jonathan-Allen\",\"followedByCurrentUser\":false,\"minibio\":\"Software Architect\",\"name\":\"Jonathan Allen\",\"bio\":\"\",\"followers\":1833,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/Wk_C09_mzwK23YkTkKMXResJv3LKUN5D.jpg\"},{\"id\":\"114725059\",\"ref\":\"author-Holly-Cummins\",\"url\":\"\/profile\/Holly-Cummins\",\"followedByCurrentUser\":false,\"minibio\":\"Senior Technical Staff Member, IBM\",\"name\":\"Holly Cummins\",\"bio\":\"\",\"followers\":615,\"imgSrc\":\"https:\/\/cdn.infoq.com\/statics_s1_20260910111632\/images\/profiles\/cRsuGlFgKyGmGfEHvafpMO63CxbrEm22.jpg\"},{\"id\":\"126584322\",\"ref\":\"author-John-Egan\",\"url\":\"\/profile\/John-Egan\",\"followedByCurrentUser\":false,\"minibio\":\"\",\"name\":\"John Egan\",\"bio\":\"\",\"followers\":1,\"imgSrc\":\"\"}]');
|
||
|
||
|
||
|
||
|
||
var topicsInPage = JSON.parse('[{\"name\":\"Architecture & Design\",\"id\":\"6816\",\"url\":\"\/architecture-design\",\"followers\":10383,\"followedByCurrentUser\":false},{\"name\":\"Culture & Methods\",\"id\":\"6817\",\"url\":\"\/culture-methods\",\"followers\":3994,\"followedByCurrentUser\":false},{\"name\":\"Resilience\",\"id\":\"14722\",\"url\":\"\/Resilience\",\"followers\":90,\"followedByCurrentUser\":false},{\"name\":\".NET Core\",\"id\":\"15683\",\"url\":\"\/Net-Core\",\"followers\":8030,\"followedByCurrentUser\":false},{\"name\":\"Incident Response\",\"id\":\"16293\",\"url\":\"\/incident-reponse\",\"followers\":11,\"followedByCurrentUser\":false},{\"name\":\"QCon Plus May 2021\",\"id\":\"18248\",\"url\":\"\/qcon-plus-may-2021\",\"followers\":2,\"followedByCurrentUser\":false},{\"name\":\"Machine Learning\",\"id\":\"5449\",\"url\":\"\/MachineLearning\",\"followers\":14751,\"followedByCurrentUser\":false},{\"name\":\"Microservices\",\"id\":\"15274\",\"url\":\"\/microservices\",\"followers\":22348,\"followedByCurrentUser\":false},{\"name\":\"Architecture\",\"id\":\"1389\",\"url\":\"\/architecture\",\"followers\":3366,\"followedByCurrentUser\":false},{\"name\":\"AI, ML & Data Engineering\",\"id\":\"16690\",\"url\":\"\/ai-ml-data-eng\",\"followers\":6077,\"followedByCurrentUser\":false},{\"name\":\"QCon Software Development Conference\",\"id\":\"597\",\"url\":\"\/qcon\",\"followers\":261,\"followedByCurrentUser\":false},{\"name\":\"QCon Plus\",\"id\":\"18198\",\"url\":\"\/qcon-plus\",\"followers\":11,\"followedByCurrentUser\":false},{\"name\":\"Java9\",\"id\":\"7097\",\"url\":\"\/Java9\",\"followers\":5540,\"followedByCurrentUser\":false},{\"name\":\"DevOps\",\"id\":\"6043\",\"url\":\"\/Devops\",\"followers\":5131,\"followedByCurrentUser\":false},{\"name\":\"Reactive Programming\",\"id\":\"15453\",\"url\":\"\/reactive-programming\",\"followers\":12430,\"followedByCurrentUser\":false},{\"name\":\"Transcripts\",\"id\":\"17662\",\"url\":\"\/transcripts\",\"followers\":21,\"followedByCurrentUser\":false},{\"name\":\"Development\",\"id\":\"6815\",\"url\":\"\/development\",\"followers\":4154,\"followedByCurrentUser\":false},{\"name\":\"InfoQ\",\"id\":\"134\",\"url\":\"\/InfoQ\",\"followers\":95,\"followedByCurrentUser\":false},{\"name\":\"Post-Mortems\",\"id\":\"16291\",\"url\":\"\/post-mortems\",\"followers\":3,\"followedByCurrentUser\":false}]');
|
||
|
||
|
||
var userContentLikesInPage = [];
|
||
var userCommentsLikesInPage = [];
|
||
|
||
|
||
var currentUserId = 2;
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- Latest Version -->
|
||
<script src="https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js" type="text/javascript"></script>
|
||
<script>
|
||
const config = {
|
||
apiKey: '8910ea974a96ffb6f927952b4ae9b9b0cc3e5973',
|
||
product: 'PRO_MULTISITE',
|
||
|
||
// general settings
|
||
consentCookieExpiry: 90,
|
||
encodeCookie: true,
|
||
sameSiteCookie: true, // if false, cookie set as SameSite=None;secure;
|
||
sameSiteValue: ';secure', // either 'Strict', 'Lax', or 'None'
|
||
subDomains: true,
|
||
initialState: 'notify', // 'notify','top','box' require pro licence
|
||
notifyOnce: false,
|
||
setInnerHTML: true,
|
||
|
||
//layout settings
|
||
layout: 'slideout',
|
||
position: 'left',
|
||
theme: 'light',
|
||
acceptButton: true,
|
||
rejectButton: true,
|
||
closeOnGlobalChange: true,
|
||
closeStyle: 'icon',
|
||
toggleType: 'slider',
|
||
notifyDismissButton: true,
|
||
settingsStyle: 'link',
|
||
excludedCountries: ['US'],
|
||
|
||
/*accessibility: {
|
||
disableSiteScrolling: true,
|
||
},*/
|
||
|
||
statement: {
|
||
description: 'For more detailed information about the cookies we use, see our',
|
||
name: 'Cookie Policy',
|
||
url: 'https://www.infoq.com/cookie-policy',
|
||
updated: '01/01/2024',
|
||
},
|
||
|
||
// cookies starting from 'cookie_expire' are from live.infoq.com but since we use the same tool on the same domain we need to specify those too so
|
||
// that infoq.com cookieControl does not delete live.infoq.com cookies(also infoq.com cookies have been specified in live.infoq.com cookieControl configs)
|
||
necessaryCookies: ['RegUserCookie', 'UserCookie', 'IdpCookie', 'ConversionTrackingV2_','PSAdialog','*P13NWN*','topbarSurvey','__bkm','JSESSIONID','mp_','_mixpanel','CloudFront-Key-Pair-Id','CloudFront-Policy','CloudFront-Signature','cookie_expire','discount_promo_closed','discount_promo_code','discount_promo_submitted','exit_survey_popup','referrer_popup','voting_popup_*','AWSALB','AWSALBCORS','aws-waf-token','iq_sub_preview'],
|
||
|
||
optionalCookies: [
|
||
{
|
||
name: 'analytics',
|
||
label: 'Analytics',
|
||
description: 'Analytical cookies help us to improve our website by collecting and reporting information on its usage.',
|
||
cookies: ['_ga', '_ga*', '_gid', '_gat', '__utma', '__utmt', '__utmb', '__utmc', '__utmz', '__utmv'],
|
||
onAccept: function(){
|
||
gtag('consent', 'update', {'analytics_storage': 'granted'});
|
||
},
|
||
onRevoke: function(){
|
||
gtag('consent', 'update', {'analytics_storage': 'denied'});
|
||
}
|
||
},
|
||
{
|
||
name: 'marketing',
|
||
label: 'Advertising',
|
||
description: 'We use advertising cookies to display advertisements to you for our products.',
|
||
onAccept: function(){
|
||
gtag('consent', 'update', {'ad_storage': 'granted', 'ad_personalization': 'granted', 'ad_user_data': 'granted'});
|
||
},
|
||
onRevoke: function(){
|
||
gtag('consent', 'update', {'ad_storage': 'denied', 'ad_personalization': 'denied', 'ad_user_data': 'denied'});
|
||
}
|
||
}
|
||
],
|
||
|
||
text : {
|
||
// main preference panels
|
||
title: '<h3>Our use of cookies</h3>',
|
||
intro: 'We use necessary cookies to make our site work. Functional cookies help enhance the performance and functionality of the site. '+
|
||
'We\'d also like to set analytics cookies to help us improve your experience by measuring how you use the site. '+
|
||
'These will be set only if you accept. ',
|
||
acceptSettings: 'I Accept',
|
||
rejectSettings: 'I Do Not Accept',
|
||
necessaryTitle : '<h3>Necessary Cookies</h3>',
|
||
necessaryDescription : 'Necessary cookies enable core functionality ' +
|
||
'such as page navigation and access to secure areas. '+
|
||
'The website cannot function properly without '+
|
||
'these cookies, and can only be disabled by changing '+
|
||
'your browser preferences.',
|
||
closeLabel: 'Close Cookie Control',
|
||
cornerButton: 'Set cookie preferences',
|
||
// main preference panel controls
|
||
on: 'On',
|
||
off : 'Off',
|
||
thirdPartyTitle : 'Some cookies require your attention',
|
||
thirdPartyDescription : 'Consent for the following cookies could not be '+
|
||
'automatically revoked. Please follow the link(s) '+
|
||
'below to opt out manually.',
|
||
// notification panels (only accessible for pro licences)
|
||
notifyTitle : 'Your choice regarding cookies on this site',
|
||
notifyDescription : 'We use cookies to optimise site functionality and '+
|
||
'give you the best possible experience.',
|
||
accept : 'I Accept',
|
||
reject: 'I Do Not Accept',
|
||
settings : 'Settings',
|
||
},
|
||
branding : {
|
||
removeAbout: true,
|
||
},
|
||
};
|
||
// do not load this for local envs only. for testing on local envs remove/modify this condition
|
||
if(InfoQConstants.pageUrl.indexOf('local')===-1){
|
||
CookieControl.load( config );
|
||
}
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "http://schema.org",
|
||
"@type": "NewsArticle",
|
||
"mainEntityOfPage": {
|
||
"@type": "WebPage",
|
||
"@id": "https://www.infoq.com/presentations/postmortem-incidents-resilience/"
|
||
},
|
||
"headline": "More More More! Why the Most Resilient Companies Want More Incidents",
|
||
"image": ["https://res.infoq.com/presentations/postmortem-incidents-resilience/en/mediumimage/John-Egan-m-1637914541378.jpg"
|
||
],
|
||
"datePublished": "2021-12-03T09:03:00+0000",
|
||
"dateModified": "2021-12-03T09:03:00+0000",
|
||
"author": [
|
||
{
|
||
"@type": "Person",
|
||
"name": "John Egan",
|
||
"url": "https://www.infoq.com/profile/John-Egan/"
|
||
}
|
||
],
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "InfoQ",
|
||
"logo": {
|
||
"@type": "ImageObject",
|
||
"url": "https://assets.infoq.com/resources/en/logo_scrubber_big_4_3.jpg"
|
||
}
|
||
},
|
||
"description": "John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems.",
|
||
"video":
|
||
{
|
||
"@type": "VideoObject",
|
||
"name": "More More More! Why the Most Resilient Companies Want More Incidents",
|
||
"description": "John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems.",
|
||
"thumbnailUrl": [
|
||
"https://res.infoq.com/presentations/postmortem-incidents-resilience/en/mediumimage/John-Egan-m-1637914541378.jpg"
|
||
],
|
||
"uploadDate": "2021-12-03T09:03:00+0000",
|
||
"duration": "PT37M23S",
|
||
"contentUrl": "https://videog.infoq.com/presentations/21-may-resilientcompaniesincidents.mp4"
|
||
},
|
||
"isAccessibleForFree": "False",
|
||
"hasPart":
|
||
{
|
||
"@type": "WebPageElement",
|
||
"isAccessibleForFree": "False",
|
||
"cssSelector" : ".paywallPdf"
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<meta name="ifq:pageType" content="PRESENTATION_PAGE"/>
|
||
<script type="text/javascript">
|
||
InfoQConstants.pageType = 'PRESENTATION_PAGE';
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:type" content="website" />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:image" content="https://res.infoq.com/presentations/postmortem-incidents-resilience/en/headerimage/twitter_card+%2862%29-1637914541378.jpg"/>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="twitter:image" content="https://res.infoq.com/presentations/postmortem-incidents-resilience/en/card_header_image/generatedCard-1637914541378.jpg"/>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<meta property="og:title" content="More More More! Why the Most Resilient Companies Want More Incidents "/>
|
||
<meta property="og:description" content="John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems." />
|
||
<meta property="og:site_name" content="InfoQ"/>
|
||
<meta property="og:url" content="https://www.infoq.com/presentations/postmortem-incidents-resilience/"/>
|
||
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:title" content="More More More! Why the Most Resilient Companies Want More Incidents "/>
|
||
<meta name="twitter:description" content="John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems." />
|
||
|
||
|
||
<link rel="image_src" href="https://res.infoq.com/presentations/postmortem-incidents-resilience/en/headerimage/twitter_card+%2862%29-1637914541378.jpg"/>
|
||
|
||
|
||
|
||
<meta name="keywords" content="postmortem incidents resilience,DevOps,QCon Plus May 2021,QCon Plus,Resilience,Transcripts,QCon Software Development Conference,Post-Mortems,Incident Response,Architecture,InfoQ,"/>
|
||
<meta name="description" content="John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems."/>
|
||
<meta name="tprox" content="1638522180000" />
|
||
|
||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js"></script>
|
||
<script type="text/javascript">
|
||
var slides = new Array('https://imgopt.infoq.com/fit-in/1288x0/filters:quality(80)/presentations/postmortem-incidents-resilience/en/slides/John-1638480200057.JPG'),
|
||
TIMES = new Array(0,2243),
|
||
EXPRESSINSTALL_SWF = 'https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/flash/expressinstall.swf',
|
||
SVMPLAYER_SWF = 'https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/flash/svmplayer.swf',
|
||
isWideScreen = true,
|
||
// i18n text for the to full view/minimize button
|
||
i18nFullScreen = 'Full',
|
||
i18nMinimize = 'Minimize',
|
||
demoTimings = '5,2242';
|
||
var playerSplash = 'https://cdn.infoq.com/statics_s1_20260910111632/styles/static/images/logo/logo_scrubber_16_9.jpg';
|
||
|
||
var vhf = 'cnRtcGU6Ly92aWRlb2YuaW5mb3EuY29tL2NmeC9zdC8=';
|
||
var jsclassref = 'cHJlc2VudGF0aW9ucy8yMS1tYXktcmVzaWxpZW50Y29tcGFuaWVzaW5jaWRlbnRzLm1wNA==';
|
||
</script>
|
||
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/player/PlayerPresentation_mobile.js"></script>
|
||
<script type="text/javascript">
|
||
$(document).ready(function() {
|
||
init();
|
||
});
|
||
</script>
|
||
|
||
|
||
<script type='text/javascript' src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/videoPlayercombinedJsPresentation.js'></script>
|
||
|
||
<script type='text/javascript' src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/video/PresentationUI.js'></script>
|
||
<script type='text/javascript' src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/ui/jquery.tipsy.js'></script>
|
||
<link rel="stylesheet" href="https://cdn.infoq.com/statics_s1_20260910111632/styles/tipsy.css" type="text/css" />
|
||
<script type="text/javascript">
|
||
P.s = 'https://videoh.infoq.com/presentations/21-may-resilientcompaniesincidents.mp4';
|
||
</script>
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/relatedVcr.min.js"></script>
|
||
<script type="application/javascript">
|
||
var communityIds = "1893";
|
||
var topicIds = "6766,6724,3450,6218,593,4908,4910,876,131";
|
||
VCR.loadAllVcrs(communityIds, topicIds);
|
||
</script>
|
||
<script type="text/javascript" src='https://cdn.infoq.com/statics_s1_20260910111632/scripts/subscription.js'></script>
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript" src="https://cdn.infoq.com/statics_s1_20260910111632/scripts/infoq.js"></script>
|
||
|
||
<script type="text/javascript">
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
if (!window || !window.infoq) return
|
||
infoq.init()
|
||
})
|
||
</script>
|
||
|
||
<script defer data-domain="infoq.com" src="https://plausible.io/js/script.file-downloads.hash.outbound-links.pageview-props.tagged-events.js"></script>
|
||
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
|
||
|
||
</head>
|
||
|
||
<body >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- Google Tag Manager (noscript) -->
|
||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W9GJ5DL"
|
||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||
<!-- End Google Tag Manager (noscript) -->
|
||
|
||
<div class="intbt">
|
||
<a href="/int/bt/" title="bt">BT</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
var allCountries = [{"id":3,"name":"Afghanistan"},{"id":244,"name":"Åland"},{"id":6,"name":"Albania"},{"id":61,"name":"Algeria"},{"id":13,"name":"American Samoa"},{"id":1,"name":"Andorra"},{"id":9,"name":"Angola"},{"id":5,"name":"Anguilla"},{"id":11,"name":"Antarctica"},{"id":4,"name":"Antigua and Barbuda"},{"id":12,"name":"Argentina"},{"id":7,"name":"Armenia"},{"id":16,"name":"Aruba"},{"id":15,"name":"Australia"},{"id":14,"name":"Austria"},{"id":17,"name":"Azerbaijan"},{"id":31,"name":"Bahamas"},{"id":24,"name":"Bahrain"},{"id":20,"name":"Bangladesh"},{"id":19,"name":"Barbados"},{"id":35,"name":"Belarus"},{"id":21,"name":"Belgium"},{"id":36,"name":"Belize"},{"id":26,"name":"Benin"},{"id":27,"name":"Bermuda"},{"id":32,"name":"Bhutan"},{"id":29,"name":"Bolivia"},{"id":254,"name":"Bonaire, Sint Eustatius, and Saba"},{"id":18,"name":"Bosnia and Herzegovina"},{"id":34,"name":"Botswana"},{"id":33,"name":"Bouvet Island"},{"id":30,"name":"Brazil"},{"id":104,"name":"British Indian Ocean Territory"},{"id":28,"name":"Brunei Darussalam"},{"id":23,"name":"Bulgaria"},{"id":22,"name":"Burkina Faso"},{"id":25,"name":"Burundi"},{"id":114,"name":"Cambodia"},{"id":46,"name":"Cameroon"},{"id":37,"name":"Canada"},{"id":52,"name":"Cape Verde"},{"id":121,"name":"Cayman Islands"},{"id":40,"name":"Central African Republic"},{"id":207,"name":"Chad"},{"id":45,"name":"Chile"},{"id":47,"name":"China"},{"id":53,"name":"Christmas Island"},{"id":38,"name":"Cocos (Keeling) Islands"},{"id":48,"name":"Colombia"},{"id":116,"name":"Comoros"},{"id":39,"name":"Congo (Democratic Republic)"},{"id":41,"name":"Congo (People\u0027s Republic)"},{"id":44,"name":"Cook Islands"},{"id":49,"name":"Costa Rica"},{"id":43,"name":"Cote D\u0027Ivoire"},{"id":97,"name":"Croatia"},{"id":51,"name":"Cuba"},{"id":253,"name":"Curaçao"},{"id":54,"name":"Cyprus"},{"id":55,"name":"Czech Republic"},{"id":58,"name":"Denmark"},{"id":57,"name":"Djibouti"},{"id":59,"name":"Dominica"},{"id":60,"name":"Dominican Republic"},{"id":213,"name":"East Timor"},{"id":62,"name":"Ecuador"},{"id":64,"name":"Egypt"},{"id":203,"name":"El Salvador"},{"id":87,"name":"Equatorial Guinea"},{"id":66,"name":"Eritrea"},{"id":63,"name":"Estonia"},{"id":68,"name":"Ethiopia"},{"id":72,"name":"Falkland Islands (Malvinas)"},{"id":74,"name":"Faroe Islands"},{"id":71,"name":"Fiji"},{"id":70,"name":"Finland"},{"id":75,"name":"France"},{"id":80,"name":"French Guiana"},{"id":170,"name":"French Polynesia"},{"id":208,"name":"French Southern Territories"},{"id":76,"name":"Gabon"},{"id":84,"name":"Gambia"},{"id":79,"name":"Georgia"},{"id":56,"name":"Germany"},{"id":81,"name":"Ghana"},{"id":82,"name":"Gibraltar"},{"id":88,"name":"Greece"},{"id":83,"name":"Greenland"},{"id":78,"name":"Grenada"},{"id":86,"name":"Guadeloupe"},{"id":91,"name":"Guam"},{"id":90,"name":"Guatemala"},{"id":249,"name":"Guernsey"},{"id":85,"name":"Guinea"},{"id":92,"name":"Guinea-Bissau"},{"id":93,"name":"Guyana"},{"id":98,"name":"Haiti"},{"id":95,"name":"Heard Island and McDonald Islands"},{"id":96,"name":"Honduras"},{"id":94,"name":"Hong Kong"},{"id":99,"name":"Hungary"},{"id":107,"name":"Iceland"},{"id":103,"name":"India"},{"id":100,"name":"Indonesia"},{"id":106,"name":"Iran"},{"id":105,"name":"Iraq"},{"id":101,"name":"Ireland"},{"id":245,"name":"Isle of Man"},{"id":102,"name":"Israel"},{"id":108,"name":"Italy"},{"id":109,"name":"Jamaica"},{"id":111,"name":"Japan"},{"id":250,"name":"Jersey"},{"id":110,"name":"Jordan"},{"id":122,"name":"Kazakhstan"},{"id":112,"name":"Kenya"},{"id":115,"name":"Kiribati"},{"id":243,"name":"Kosovo"},{"id":120,"name":"Kuwait"},{"id":113,"name":"Kyrgyzstan"},{"id":123,"name":"Laos"},{"id":132,"name":"Latvia"},{"id":124,"name":"Lebanon"},{"id":129,"name":"Lesotho"},{"id":128,"name":"Liberia"},{"id":133,"name":"Libya"},{"id":126,"name":"Liechtenstein"},{"id":130,"name":"Lithuania"},{"id":131,"name":"Luxembourg"},{"id":143,"name":"Macau"},{"id":139,"name":"Macedonia"},{"id":137,"name":"Madagascar"},{"id":151,"name":"Malawi"},{"id":153,"name":"Malaysia"},{"id":150,"name":"Maldives"},{"id":140,"name":"Mali"},{"id":148,"name":"Malta"},{"id":138,"name":"Marshall Islands"},{"id":145,"name":"Martinique"},{"id":146,"name":"Mauritania"},{"id":149,"name":"Mauritius"},{"id":238,"name":"Mayotte"},{"id":152,"name":"Mexico"},{"id":73,"name":"Micronesia"},{"id":136,"name":"Moldova"},{"id":135,"name":"Monaco"},{"id":142,"name":"Mongolia"},{"id":246,"name":"Montenegro"},{"id":147,"name":"Montserrat"},{"id":134,"name":"Morocco"},{"id":154,"name":"Mozambique"},{"id":141,"name":"Myanmar"},{"id":155,"name":"Namibia"},{"id":164,"name":"Nauru"},{"id":163,"name":"Nepal"},{"id":161,"name":"Netherlands"},{"id":8,"name":"Netherlands Antilles"},{"id":156,"name":"New Caledonia"},{"id":166,"name":"New Zealand"},{"id":160,"name":"Nicaragua"},{"id":157,"name":"Niger"},{"id":159,"name":"Nigeria"},{"id":165,"name":"Niue"},{"id":158,"name":"Norfolk Island"},{"id":118,"name":"North Korea"},{"id":144,"name":"Northern Mariana Islands"},{"id":162,"name":"Norway"},{"id":167,"name":"Oman"},{"id":173,"name":"Pakistan"},{"id":180,"name":"Palau"},{"id":178,"name":"Palestinian Territory"},{"id":168,"name":"Panama"},{"id":171,"name":"Papua New Guinea"},{"id":181,"name":"Paraguay"},{"id":169,"name":"Peru"},{"id":172,"name":"Philippines"},{"id":176,"name":"Pitcairn"},{"id":174,"name":"Poland"},{"id":179,"name":"Portugal"},{"id":177,"name":"Puerto Rico"},{"id":182,"name":"Qatar"},{"id":183,"name":"Reunion"},{"id":184,"name":"Romania"},{"id":185,"name":"Russian Federation"},{"id":186,"name":"Rwanda"},{"id":193,"name":"Saint Helena"},{"id":117,"name":"Saint Kitts and Nevis"},{"id":125,"name":"Saint Lucia"},{"id":251,"name":"Saint Martin"},{"id":175,"name":"Saint Pierre and Miquelon"},{"id":229,"name":"Saint Vincent and the Grenadines"},{"id":247,"name":"Saint-Barthélemy"},{"id":236,"name":"Samoa"},{"id":198,"name":"San Marino"},{"id":202,"name":"Sao Tome and Principe"},{"id":187,"name":"Saudi Arabia"},{"id":199,"name":"Senegal"},{"id":248,"name":"Serbia"},{"id":189,"name":"Seychelles"},{"id":197,"name":"Sierra Leone"},{"id":192,"name":"Singapore"},{"id":252,"name":"Sint Maarten"},{"id":196,"name":"Slovakia"},{"id":194,"name":"Slovenia"},{"id":188,"name":"Solomon Islands"},{"id":200,"name":"Somalia"},{"id":239,"name":"South Africa"},{"id":89,"name":"South Georgia and the South Sandwich Islands"},{"id":119,"name":"South Korea"},{"id":255,"name":"South Sudan"},{"id":67,"name":"Spain"},{"id":127,"name":"Sri Lanka"},{"id":190,"name":"Sudan"},{"id":201,"name":"Suriname"},{"id":195,"name":"Svalbard and Jan Mayen"},{"id":205,"name":"Swaziland"},{"id":191,"name":"Sweden"},{"id":42,"name":"Switzerland"},{"id":204,"name":"Syria"},{"id":220,"name":"Taiwan"},{"id":211,"name":"Tajikistan"},{"id":221,"name":"Tanzania"},{"id":210,"name":"Thailand"},{"id":209,"name":"Togo"},{"id":212,"name":"Tokelau"},{"id":216,"name":"Tonga"},{"id":218,"name":"Trinidad and Tobago"},{"id":215,"name":"Tunisia"},{"id":217,"name":"Turkey"},{"id":214,"name":"Turkmenistan"},{"id":206,"name":"Turks and Caicos Islands"},{"id":219,"name":"Tuvalu"},{"id":223,"name":"Uganda"},{"id":222,"name":"Ukraine"},{"id":2,"name":"United Arab Emirates"},{"id":77,"name":"United Kingdom"},{"id":224,"name":"United States Minor Outlying Islands"},{"id":226,"name":"Uruguay"},{"id":225,"name":"USA"},{"id":227,"name":"Uzbekistan"},{"id":234,"name":"Vanuatu"},{"id":228,"name":"Vatican City (Holy See)"},{"id":230,"name":"Venezuela"},{"id":233,"name":"Vietnam"},{"id":231,"name":"Virgin Islands (British)"},{"id":232,"name":"Virgin Islands (U.S.)"},{"id":235,"name":"Wallis and Futuna"},{"id":65,"name":"Western Sahara"},{"id":237,"name":"Yemen"},{"id":241,"name":"Zaire"},{"id":240,"name":"Zambia"},{"id":242,"name":"Zimbabwe"}];
|
||
var gdprCountriesIds = [196,194,191,184,179,174,161,148,132,131,130,108,101,99,97,88,77,75,70,67,63,58,56,55,54,37,23,21,14];
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<section data-nosnippet class="section container subscribe-box hidden">
|
||
<div class="container__inner">
|
||
<div class="actions">
|
||
<div class="actions__left">
|
||
<h2>InfoQ Software Architects' Newsletter</h2>
|
||
<span><p>A monthly overview of things you need to know as an architect or aspiring architect.</p>
|
||
|
||
<p><a href="https://www.infoq.com/software-architects-newsletter#placeholderPastIssues">View an example</a></p>
|
||
</span>
|
||
<div class="newsletter__subscribe">
|
||
<form class="form gdpr" name="dataCollectCampaignNewsletterForm" id="dataCollectCampaignNewsletterForm" action="#" onsubmit="dataCollectNewsletter.saveSubscription(); return false;">
|
||
<div class="field newsletter__mail input__text input__no-label input__medium email">
|
||
<label for="email-dataCollectnewsletter-infoq" class="label field__label">Enter your e-mail address</label>
|
||
<input id="email-dataCollectnewsletter-infoq" name="footerNewsletterEmail" placeholder="Enter your e-mail address" class="input field__input" type="email"/>
|
||
<input type="text" name="emailH" id="input_email_h_d" aria-required="false" style="display:none !important" tabindex="-1" autocomplete="off"/>
|
||
<input type="hidden" id="fnt_d" name="fnt_d" value="MCYNu6eVBAYhlreF"/>
|
||
<input type="hidden" id="dataCollectNewsletterType" name="dataCollectNewsletterType" value="regular"/>
|
||
<input type="hidden" id="cmpi_d" name="cmpi_d" value="4"/>
|
||
</div>
|
||
<div class="hidden">
|
||
<span class="input__select field country">
|
||
<label for="input-dataCollect-newsletter-country" class="label field__label">Select your country</label>
|
||
<select id="input-dataCollect-newsletter-country" class="select field__input">
|
||
<option value="" class="select__option">Select a country</option>
|
||
</select>
|
||
<p class="input__message field__desc"></p>
|
||
</span>
|
||
<span class="input__checkbox field hidden">
|
||
<input type="checkbox" id="gdpr-consent-campaign">
|
||
<label for="gdpr-consent-campaign" class="label"><span>I consent to InfoQ.com handling my data as explained in this <a href="https://www.infoq.com/privacy-notice">Privacy Notice</a>.</span></label>
|
||
</span>
|
||
</div>
|
||
<input type="submit" role="button" value="Subscribe" class="button button__medium button__red" onclick="return dataCollectNewsletter.validateEmail('Invalid email address');"/>
|
||
</form>
|
||
<p class="meta">
|
||
<a href="/privacy-notice/" target="_blank">We protect your privacy.</a>
|
||
</p>
|
||
|
||
<span class="success" style="display:none;" id="dataCollectNewsletterMessage"></span>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="actions__right">
|
||
<button aria-label="Close" class="close closeBox button button__unstyled button__icon icon icon__close-black icon--only">Close</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
<script type="text/javascript">
|
||
var dataCollectNewsletter = new Newsletter('Enter your e-mail address',
|
||
'email-dataCollectnewsletter-infoq', 'dataCollectNewsletterType','dataCollectNewsletterMessage', 'fnt_d', 'input_email_h_d', 'input-dataCollect-newsletter-country', 'cmpi_d','popup_all_pages');
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="infoq" id="infoq">
|
||
|
||
<!-- ####### SITE START ######### -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<section class="section container promo hidden">
|
||
<div class="container__inner">
|
||
<div class="actions">
|
||
<div class="actions__left">
|
||
<p>
|
||
<span>QCon San Francisco (Nov 16-20): What's next in AI? What's next in software? Learn from the teams already doing it.</span>
|
||
<a class="btn" href="/url/pb/0dff86f7-3e36-485f-ac4d-20fd0bfba8fc/" target="_blank" rel="nofollow">
|
||
Register Now
|
||
</a>
|
||
</p>
|
||
</div>
|
||
<div class="actions__right">
|
||
<button aria-label="Close"
|
||
class="close button button__unstyled button__icon icon icon__close-white icon--only close-top-promo">Close
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
|
||
|
||
|
||
<header class="header">
|
||
<button aria-label="Toggle Navigation" tabindex="0" class="burger header__toggle button">Toggle Navigation <span></span><span></span><span></span></button>
|
||
<div class="header__container container">
|
||
<div class="container__inner">
|
||
<div data-nosnippet class="actions header__top">
|
||
<div class="actions__left">
|
||
<p class="header__desc my-0">
|
||
Facilitating the Spread of Knowledge and Innovation in Professional Software Development
|
||
</p>
|
||
<div class="button__dropdown dropdown header__more my-0 dropdown__center">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<button aria-label="English edition" class="button button__unstyled button__small">English edition </button>
|
||
<div class="dropdown__holder">
|
||
<!---->
|
||
<div class="dropdown__content">
|
||
<ul class="no-style dropdown__nav languagesEdition">
|
||
<li class="active"><a href="#" onclick="return false;">English edition</a></li>
|
||
<li><a href="https://www.infoq.cn">Chinese edition</a></li>
|
||
<li><a href="/jp/">Japanese edition</a></li>
|
||
<li><a href="/fr/">French edition</a></li>
|
||
</ul>
|
||
</div>
|
||
<!---->
|
||
</div>
|
||
</div>
|
||
<a class="my-0 contribute-link" role="button" href="/write-for-infoq/" title="Write for InfoQ">
|
||
Write for InfoQ
|
||
</a>
|
||
</div>
|
||
<div class="actions__right">
|
||
<div>
|
||
<form id="searchForm" name="search-form" action="/search.action" enctype="multipart/form-data" class="search icon__search icon icon__green">
|
||
<div class="field search__bar input__text input__no-label input__small">
|
||
<label for="search" class="label field__label">Search</label>
|
||
<input name="queryString" type="text" id="search" value="" placeholder="Search" class="input field__input">
|
||
<input type="hidden" name="page" value="1"/>
|
||
<input type="hidden" size="15" name="searchOrder">
|
||
</div>
|
||
<input value="Search" type="submit" class="search__go">
|
||
</form>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="action_button__group">
|
||
<a href="/reginit.action?" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__green button__small">Register</a>
|
||
<a href="/social/keycloakLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__small button__outline">Sign in</a>
|
||
</div>
|
||
|
||
<div class="modal_auth_required">
|
||
<div class="modal_auth_required__actions">
|
||
<h2 class="h2">Unlock the full InfoQ experience</h2>
|
||
<p>Unlock the full InfoQ experience by logging in! Stay updated with your favorite authors and topics, engage with content, and download exclusive resources.</p>
|
||
<a href="/social/keycloakLogin.action?fl=login" onclick="return UserActions_Login.addLoginInfo(this);" class="button button__has-transition">Log In</a>
|
||
<div class="separator"><span>or</span></div>
|
||
<h3 class="h3">Don't have an InfoQ account?</h3>
|
||
<a href="/reginit.action?" onclick="return UserActions_Login.addLoginInfo(this);" class="button__outline button__has-transition">Register</a>
|
||
</div>
|
||
<div class="modal_auth_required__content">
|
||
<ul class="newsletter__features">
|
||
<li><strong>Stay updated on topics and peers that matter to you</strong>Receive instant alerts on the latest insights and trends.</li>
|
||
<li><strong>Quickly access free resources for continuous learning</strong>Minibooks, videos with transcripts, and training materials.</li>
|
||
<li><strong>Save articles and read at anytime</strong>Bookmark articles to read whenever youre ready.</li>
|
||
</ul>
|
||
</div>
|
||
<form id="login-form" data-vv-scope="login" class="login__form form" action="#" data-gtm-form-interact-id="0">
|
||
<input type="hidden" id="loginWidgetOrigin" name="loginWidgetOrigin" value="mainLogin">
|
||
<input type="hidden" name="fromP13N" id="isP13n" value="">
|
||
<input type="hidden" name="fromP13NId" id="p13n-id" value="">
|
||
<input type="hidden" name="fromP13NType" id="p13n-type" value="">
|
||
</form>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="header__middle">
|
||
<div class="logo header__logo">
|
||
<a href="/" class="logo__symbol active">
|
||
Logo - Back to homepage
|
||
</a>
|
||
</div>
|
||
|
||
<div class="content-items">
|
||
<a href="/news/" class="icon icon__news">News</a>
|
||
<a href="/articles/" class="icon icon__articles">Articles</a>
|
||
<a href="/presentations/" class="icon icon__presentations">Presentations</a>
|
||
<a href="/podcasts/" class="icon icon__podcasts">Podcasts</a>
|
||
<a href="/minibooks/" class="icon icon__guides">Guides</a>
|
||
</div>
|
||
<div class="header__items columns">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div>
|
||
<h3 class="widget__heading">Topics</h3>
|
||
<nav class="nav header__nav topics" data-trk-ref="header_personas">
|
||
<div class="has--subnav li-nav">
|
||
<a href="/development/" title="Development" class="nav__category">Development</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/java/" title="Java">Java</a></li>
|
||
<li><a href="/kotlin/" title="Kotlin">Kotlin</a></li>
|
||
<li><a href="/dotnet/" title=".Net">.Net</a></li>
|
||
<li><a href="/c_sharp/" title="C#">C#</a></li>
|
||
<li><a href="/swift/" title="Swift">Swift</a></li>
|
||
<li><a href="/golang/" title="Go">Go</a></li>
|
||
<li><a href="/rust/" title="Rust">Rust</a></li>
|
||
<li><a href="/javascript/" title="JavaScript">JavaScript</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="6815">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in Development</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/presentations/solopreneur-journey">A Solopreneur's Journey: From Engineer to Puzzle Master and Storyteller</a>
|
||
</h4>
|
||
<p class="card__excerpt">Joe Cassavaugh shares his journey from software engineer to successful solopreneur with a $2M+ indie franchise. He explains how he scaled production to 10 games in 5 years, adopted Unity to boost velocity 4-6x, optimized content pipelines, and leveraged refactoring patterns. He discusses key trade-offs between corporate engineering and solopreneurship for senior devs and leaders.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/presentations/solopreneur-journey" class="card__header">
|
||
<img loading="lazy" alt="A Solopreneur's Journey: From Engineer to Puzzle Master and Storyteller" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/solopreneur-journey/en/smallimage/joe-cassavaugh-thumbnail-1788338336404.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/development/" class="button__more button button__large button__arrow arrow__right">All in development</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/architecture-design/" title="Architecture & Design" class="nav__category">Architecture & Design</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/architecture/" title="Architecture">Architecture</a></li>
|
||
|
||
<li><a href="/enterprise-architecture/" title="Enterprise Architecture">Enterprise Architecture</a></li>
|
||
<li><a href="/performance-scalability/" title="Scalability/Performance">Scalability/Performance</a></li>
|
||
<li><a href="/design/" title="Design">Design</a></li>
|
||
<li><a href="/Case_Study/" title="Case Studies">Case Studies</a></li>
|
||
<li><a href="/microservices/" title="Microservices">Microservices</a></li>
|
||
<li><a href="/servicemesh/" title="Service Mesh">Service Mesh</a></li>
|
||
<li><a href="/DesignPattern/" title="Patterns">Patterns</a></li>
|
||
<li><a href="/Security/" title="Security">Security</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="6816">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in Architecture & Design</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/minibooks/next-gen-architecture-ai-era">Next-Gen Architecture Playbook: Insights and Patterns for the AI Era</a>
|
||
</h4>
|
||
<p class="card__excerpt">This eMag examines how architects can lead with clarity in a rapidly evolving engineering world, distilling industry insights into field-tested practices for teams. Together, these stories reveal a core theme: the technology leader’s role is expanding from building systems to guiding how tech behaves and learns, while enabling engineers and organizations to bring out their best.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/minibooks/next-gen-architecture-ai-era" class="card__header">
|
||
<img loading="lazy" alt="Next-Gen Architecture Playbook: Insights and Patterns for the AI Era" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/minibooks/next-gen-architecture-ai-era/en/smallimage/thumb-image-emag-next-gen-architecture-playbook-1787922032442.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/architecture-design/" class="button__more button button__large button__arrow arrow__right">All in architecture-design</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/ai-ml-data-eng/" title="AI Infrastructure" class="nav__category">AI Infrastructure</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/bigdata/" title="Big Data">Big Data</a></li>
|
||
<li><a href="/machinelearning/" title="Machine Learning">Machine Learning</a></li>
|
||
<li><a href="/nosql/" title="NoSQL">NoSQL</a></li>
|
||
<li><a href="/database/" title="Database">Database</a></li>
|
||
<li><a href="/data-analytics/" title="Data Analytics">Data Analytics</a></li>
|
||
<li><a href="/streaming/" title="Streaming">Streaming</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="16690">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in AI, ML & Data Engineering</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/articles/when-spec-driven-development-pays-off">When Spec-Driven Development Pays Off</a>
|
||
</h4>
|
||
<p class="card__excerpt">AI coding assistants have become a core part of software development. AI-generated code has shown productivity gains, but it's also contributing to security weaknesses and familiar bug patterns. In this article, author Nitin Garg highlights the bottleneck has moved from code generation to code verification, and how to detect & mitigate it when the AI-generated behavior diverges from the intent.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/articles/when-spec-driven-development-pays-off" class="card__header">
|
||
<img loading="lazy" alt="When Spec-Driven Development Pays Off" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/when-spec-driven-development-pays-off/en/smallimage/When-Spec-Driven-Development-Pays-Off-thumb-1788790605567.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/ai-ml-data-eng/" class="button__more button button__large button__arrow arrow__right">All in ai-ml-data-eng</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/culture-methods/" title="Culture & Methods" class="nav__category">Culture & Methods</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/agile/" title="Agile">Agile</a></li>
|
||
<li><a href="/diversity/" title="Diversity">Diversity</a></li>
|
||
<li><a href="/leadership/" title="Leadership">Leadership</a></li>
|
||
<li><a href="/lean/" title="Lean/Kanban">Lean/Kanban</a></li>
|
||
<li><a href="/personal-growth/" title="Personal Growth">Personal Growth</a></li>
|
||
<li><a href="/scrum/" title="Scrum">Scrum</a></li>
|
||
<li><a href="/sociocracy/" title="Sociocracy">Sociocracy</a></li>
|
||
<li><a href="/software_craftsmanship/" title="Software Craftmanship">Software Craftmanship</a></li>
|
||
<li><a href="/team-collaboration/" title="Team Collaboration">Team Collaboration</a></li>
|
||
<li><a href="/testing/" title="Testing">Testing</a></li>
|
||
<li><a href="/ux/" title="UX">UX</a></li>
|
||
</ul>
|
||
<div class="subnav__content" data-id="6817">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in Culture & Methods</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/presentations/rust-refactoring">Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase</a>
|
||
</h4>
|
||
<p class="card__excerpt">Lily Mara explains how to avoid high-risk software rewrites through incremental FFI refactoring. She shares how engineering teams can replace Python bottlenecks with Rust via PyO3, demonstrating how to achieve dramatic function-level speedups, seamless integration testing, and meaningful infrastructure cost savings without microservice overhead.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/presentations/rust-refactoring" class="card__header">
|
||
<img loading="lazy" alt="Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/rust-refactoring/en/smallimage/lily-mara-thumbnail-1788338447565.jpeg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/culture-methods/" class="button__more button button__large button__arrow arrow__right">All in culture-methods</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="has--subnav li-nav">
|
||
<a href="/devops/" class="nav__category">DevOps</a>
|
||
<div class="nav__subnav subnav">
|
||
<ul class="subnav__categories no-style">
|
||
<li><a href="/infrastructure/" title="Infrastructure">Infrastructure</a></li>
|
||
<li><a href="/continuous_delivery/" title="Continuous Delivery">Continuous Delivery</a></li>
|
||
<li><a href="/automation/" title="Automation">Automation</a></li>
|
||
<li><a href="/containers/" title="Containers">Containers</a></li>
|
||
<li><a href="/cloud-computing/" title="Cloud">Cloud</a></li>
|
||
<li><a href="/observability/" title="Observability">Observability</a></li>
|
||
|
||
</ul>
|
||
<div class="subnav__content" data-id="6043">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="heading__container actions">
|
||
<div class="actions__left">
|
||
<h3 class="heading section__heading">Featured in DevOps</h3>
|
||
</div>
|
||
</div>
|
||
<ul data-size="large" data-horizontal="true" data-tax="" taxonomy="articles" class="cards no-style">
|
||
<li>
|
||
<div class="card__content">
|
||
<div class="card__data">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h4 class="card__title">
|
||
<a href="/presentations/ai-platform-engineering-roundtable">Platform Engineering in the Age of AI</a>
|
||
</h4>
|
||
<p class="card__excerpt">The panelists explain how platform teams adapt to support AI-assisted engineering, highlighting which capabilities belong in the platform. They discuss trade-offs between standardization and developer autonomy, while sharing strategies to manage AI tooling, security guardrails, and shifting workflows.</p>
|
||
<div class="card__footer"></div>
|
||
</div>
|
||
|
||
<a href="/presentations/ai-platform-engineering-roundtable" class="card__header">
|
||
<img loading="lazy" alt="Platform Engineering in the Age of AI" src="https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/ai-platform-engineering-roundtable/en/smallimage/thumb-1788861349861.jpg" class="card__image"/>
|
||
</a>
|
||
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
<a href="/devops/" class="button__more button button__large button__arrow arrow__right">All in devops</a>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="li-nav">
|
||
|
||
<a rel="noreferrer noopener" href="https://events.infoq.com/" class="nav__category" title="Events" target="_blank">Events</a>
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
|
||
<div>
|
||
<h3 class="widget__heading">Helpful links</h3>
|
||
<ul class="no-style header__nav">
|
||
<li>
|
||
<a href="/about-infoq" title="About InfoQ">
|
||
About InfoQ
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="/infoq-editors" title="InfoQ Editors">
|
||
InfoQ Editors
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="/write-for-infoq" title="Write for InfoQ">
|
||
Write for InfoQ
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://c4media.com/" target="_blank" title="About C4Media">
|
||
About C4Media
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a rel="noreferrer noopener" href="https://c4media.com/diversity" title="Diversity" target="_blank">Diversity</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
<div>
|
||
<h3 class="widget__heading">Choose your language</h3>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul class="language__switcher no-style">
|
||
<li class="active"><a href="#" onclick="return false;" title="InfoQ English">En</a></li>
|
||
<li><a href="https://www.infoq.cn">中文</a></li>
|
||
<li><a href="/jp/">日本</a></li>
|
||
<li><a href="/fr/">Fr</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div data-nosnippet class="actions header__bottom header__bottom__events">
|
||
<div class="actions__left">
|
||
<div class="events-list" role="list" aria-label="Upcoming events">
|
||
<div class="event-item" role="listitem" data-event-type="certification" data-sort-date="2026-09-14">
|
||
<a class="event-card" href="https://certification.qconferences.com/architecture?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortarchitecture26" target="_blank" rel="noopener noreferrer" aria-label="Online InfoQ Architect Certification, Sep 14, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Sep</span><span>14,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">Architect Certification</p>
|
||
<p class="event-description">Distributed systems, decentralized decisions, platform engineering, and AI architecture. <br/><strong>Online. Register Now.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="certification" data-sort-date="2026-09-18">
|
||
<a class="event-card" href="https://certification.qconferences.com/ai-assisted-engineering?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortaiassistedengineering26" target="_blank" rel="noopener noreferrer" aria-label="AI-Assisted Engineering Certification, Sep 18, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Sep</span><span>18,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">AI-Assisted Engineering Certification</p>
|
||
<p class="event-description">Your coding agent moves fast. Who checks whether it's making the codebase better? <br/><strong>Online. Register Now.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="certification" data-sort-date="2026-10-14">
|
||
<a class="event-card" href="https://certification.qconferences.com/ai-security-privacy?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortaisecurity26" target="_blank" rel="noopener noreferrer" aria-label="Online InfoQ AI Security & Privacy Engineering Certification, August 26, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Oct</span><span>14,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">AI Security & Privacy Engineering Certification</p>
|
||
<p class="event-description">Secure and govern production AI systems, from sensitive data to guardrails, evals, and audits.<br><strong>Online. Register now.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="qcon" data-sort-date="2026-11-16">
|
||
<a class="event-card" href="https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qsf26" target="_blank" rel="noopener noreferrer" aria-label="QCon San Francisco, Nov 16-20, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Nov</span><span>16-20,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">QCon San Francisco</p>
|
||
<p class="event-description">What's working across AI, architecture, and leadership, from the teams doing it. <br/><strong>Register. Early bird ends August 11.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="qcon" data-sort-date="2026-12-15">
|
||
<a class="event-card" href="https://newyork.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qainy26" target="_blank" rel="noopener noreferrer" aria-label="QCon AI New York, December 15-16, 2026">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Dec</span><span>15-16,</span><span>2026</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">QCon AI New York</p>
|
||
<p class="event-description">Production AI across agents, context, evals, security, and infrastructure, from the senior engineers building it.<br/><strong>Registration open.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
<div class="event-item" role="listitem" data-event-type="qcon" data-sort-date="2027-04-13">
|
||
<a class="event-card" href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qconlondon27" target="_blank" rel="noopener noreferrer" aria-label="QCon London, April 13-16, 2027">
|
||
<div class="event-date">
|
||
<div class="event-date-box" aria-hidden="true"><span>Apr</span><span>13-16,</span><span>2027</span></div>
|
||
</div>
|
||
<div class="event-content">
|
||
<p class="event-title">QCon London</p>
|
||
<p class="event-description">What early-adopter teams have proven in production, across 15 engineering tracks. <br/><strong> Register. Early bird ends August 11.</strong></p>
|
||
</div>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!---->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
|
||
|
||
<!-- ####### CONTENT START ######### -->
|
||
<main>
|
||
|
||
<div>
|
||
<section class="container section white">
|
||
<div class="container__inner">
|
||
<article data-type="presentation" class="article grid transcript rightbar">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<p class="crumbs">
|
||
<span data-nosnippet><a href="/" title="InfoQ Homepage">InfoQ Homepage</a></span>
|
||
|
||
|
||
|
||
|
||
<span data-nosnippet><a href="/presentations" title="Presentations">Presentations</a></span>
|
||
|
||
|
||
<span data-nosnippet class="active">More More More! Why the Most Resilient Companies Want More Incidents</span>
|
||
|
||
|
||
|
||
|
||
|
||
</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="article__category devops">
|
||
|
||
<a
|
||
|
||
href="/Devops/"
|
||
|
||
class="article__tag box--info" title="DevOps">
|
||
|
||
DevOps
|
||
</a>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div data-nosnippet class="notice">
|
||
<div class="box--warning">
|
||
<a target="_blank" rel="nofollow" href="https://www.infoq.com/url/t/e62b6ae5-1f0e-4213-a673-9dd537e7ffb5/?label=Harness-EventPromoBox ">Beyond the PR: The New Control Plane for Agentic Software Delivery (Webinar Sept 17th) </a>
|
||
</div>
|
||
</div>
|
||
|
||
<h1>More More More! Why the Most Resilient Companies Want More Incidents</h1>
|
||
|
||
<div class="article__actions">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="actions__left actions__sidebar article__actions">
|
||
|
||
<button id="toggleLikeContent" class="icon button button__icon like button__gray icon__like" aria-label="Like">Like</button>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="bookmarkReading">
|
||
<button id="bookmarkBtn" data-ref="bookmarkPage" aria-label="Read later" class="login button__gray button button__icon icon icon__bookmark icon--only"> </button>
|
||
<!-- new dropdown rading list -->
|
||
<div class="my-0 button__dropdown dropdown reading_list dropdown__center" id="showBookmarks">
|
||
<button aria-label="Reading list" class="button button__unstyled button__small"></button>
|
||
<div class="dropdown__holder">
|
||
<div class="dropdown__content">
|
||
<ul class="no-style dropdown__nav">
|
||
<li class="active"><a href="/showbookmarks.action">Reading list</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="toastContainer" class="toast-none toast-hide">
|
||
<div class="toast"><span></span></div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script type="text/javascript">
|
||
|
||
if(loggedIn){
|
||
$('#showBookmarks').css('display', 'flex');
|
||
}
|
||
|
||
function performBookmark() {
|
||
Bookmarks.toggleBookmark('presentations', 'postmortem-incidents-resilience');
|
||
}
|
||
|
||
infoq.event.on('bookmarkRequested', function(e) {
|
||
Bookmarks.toggleBookmark('presentations', 'postmortem-incidents-resilience');
|
||
});
|
||
|
||
infoq.event.on("loaded", function(){
|
||
if(loggedIn){
|
||
var href = window.location.href;
|
||
if(href.indexOf("#bookmarkPage") != -1){
|
||
$('#bookmarkBtn').click();
|
||
}
|
||
}
|
||
});
|
||
|
||
$(document).ready(function() {
|
||
if(Bookmarks.isContentBookmarked == 'true'){
|
||
$('#bookmarkBtn').addClass('button__green');
|
||
$('#bookmarkBtn').removeClass('button__gray');
|
||
}else{
|
||
$('#bookmarkBtn').removeClass('button__green');
|
||
$('#bookmarkBtn').addClass('button__gray');
|
||
}
|
||
});
|
||
</script>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="presentation__switch">
|
||
<label class="label">View Presentation</label>
|
||
<ul class="no-style">
|
||
<li><button class="button button__unstyled button__tooltip tooltip__top button__icon icon icon__pres-2-cols icon--only active" aria-label="Vertical" data-tip="Vertical" data-tip-placement="top" data-key="pres-2-cols">Vertical</button></li>
|
||
<li><button class="button button__unstyled button__tooltip tooltip__top button__icon icon icon__pres-1-col icon--only" aria-label="Horizontal" data-tip="Horizontal" data-tip-placement="top" data-key="pres-1-col">Horizontal</button></li>
|
||
<li><button class="button button__unstyled button__tooltip tooltip__top button__icon icon icon__pres-fs icon--only" aria-label="Full" data-tip="Full" data-tip-placement="top" data-key="pres-fs">Full</button></li>
|
||
</ul>
|
||
</div>
|
||
<div class="speed">
|
||
<label class="label">Speed:</label>
|
||
<ul id="presentation_speed" class="no-style presentation_speed">
|
||
<li><button class="button button__unstyled active" aria-label="1x" onclick="P.adjustSpeed(1.0, $(this));return false;">1x</button></li>
|
||
<li><button class="button button__unstyled" aria-label="1.25x" onclick="P.adjustSpeed(1.25, $(this));return false;">1.25x</button></li>
|
||
<li><button class="button button__unstyled" aria-label="1.5x" onclick="P.adjustSpeed(1.5, $(this));return false;">1.5x</button></li>
|
||
<li><button class="button button__unstyled" aria-label="2x" onclick="P.adjustSpeed(2.0, $(this));return false;">2x</button></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="player">
|
||
<div id="player">
|
||
|
||
<script type="text/javascript">
|
||
SlideSynchronizer.setTimes(TIMES);
|
||
SlideSynchronizer.playerId="video";
|
||
</script>
|
||
<video id="video" playsinline controls controlsList="nodownload" width="100%" height="100%" onplay="SlideSynchronizer.start();"></video>
|
||
|
||
</div>
|
||
<div class="actions player__actions">
|
||
<div class="actions__left">
|
||
|
||
</div>
|
||
<div class="actions__right"><span>37:23</span></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="slideContainer" class="intro slides">
|
||
<div id="slide"></div>
|
||
</div>
|
||
|
||
|
||
<div class="summary">
|
||
<h2 class="heading">Summary</h2>
|
||
<p>John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems.</p>
|
||
</div>
|
||
|
||
<div data-nosnippet class="bio">
|
||
<h2 class="heading">Bio</h2>
|
||
<p>John Egan is CEO and cofounder at Kintaba, the modern incident response and management product for teams. Prior to Kintaba, John helped to lead enterprise products at Facebook.</p>
|
||
</div>
|
||
<div data-nosnippet class="about-conference">
|
||
<h2 class="heading">About the conference</h2>
|
||
<p>QCon Plus is a virtual conference for senior software engineers and architects that covers the trends, best practices, and solutions leveraged by the world's most innovative software organizations.</p>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div data-nosnippet class="event__list-box box__border">
|
||
<h3>INFOQ EVENTS</h3>
|
||
|
||
<ul class="cards no-style webinarEvents">
|
||
<li data-col="1/1" data-type="webinar" hoverables=""><img alt="" data-src="sponsorship/eventsnotice/4b6b261f-58c2-44bd-856a-2189a99d6743/resources/1HarnessWebinarSept17-Transcript-1786634790914.png" style="width: 288px; height: 145px;" src="https://imgopt.infoq.com/fit-in/3000x4000/filters:quality(85)/filters:no_upscale()/sponsorship/eventsnotice/4b6b261f-58c2-44bd-856a-2189a99d6743/resources/1HarnessWebinarSept17-Transcript-1786634790914.png" rel="share"> <span class="date">September 17th, 2026, 1 PM EDT</span>
|
||
<h4 class="title"><a href="https://www.infoq.com/url/t/3370b6d4-7e2c-4875-8258-5601b235e3c3/?label=Harness-Transcripts" rel="nofollow" target="_blank">Beyond the PR: The New Control Plane for Agentic Software Delivery</a></h4>
|
||
|
||
<p class="card__excerpt"><a href="https://www.infoq.com/url/t/3370b6d4-7e2c-4875-8258-5601b235e3c3/?label=Harness-Transcripts" rel="nofollow" target="_blank">Presented by: Mohit Suman - Staff Product Manager at Harness</a></p>
|
||
|
||
<footer>
|
||
<div class="authors"><span><a data-id="author-SPONSORED BY SPONSOR" href="https://www.infoq.com/url/t/3370b6d4-7e2c-4875-8258-5601b235e3c3/?label=Harness-Transcripts" rel="nofollow" target="_blank">SPONSORED BY HARNESS</a></span></div>
|
||
</footer>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
<ul class="cards no-style webinarEvents">
|
||
<li data-col="1/1" data-type="webinar" hoverables=""><img alt="" data-src="sponsorship/eventsnotice/f2bd6c51-c5d2-41cf-957d-198b2d3a83a3/resources/1DatadogWebinarOct8-Transcripts-1787826934657.png" style="width: 288px; height: 145px;" src="https://imgopt.infoq.com/fit-in/3000x4000/filters:quality(85)/filters:no_upscale()/sponsorship/eventsnotice/f2bd6c51-c5d2-41cf-957d-198b2d3a83a3/resources/1DatadogWebinarOct8-Transcripts-1787826934657.png" rel="share"> <span class="date">October 8th, 2026, 12 PM EDT</span>
|
||
<h4 class="title"><a href="https://www.infoq.com/url/t/517ac1f3-a6c1-442e-84ed-c00c52ee13d4/?label=Datadog-Transcripts" rel="nofollow" target="_blank">When AI Accelerates Development, Can Your CI Pipeline Keep Up?</a></h4>
|
||
|
||
<p class="card__excerpt"><a href="https://www.infoq.com/url/t/517ac1f3-a6c1-442e-84ed-c00c52ee13d4/?label=Datadog-Transcripts" rel="nofollow" target="_blank">Presented by: Eric Metaj - Product Marketing Manager, Software Delivery at Datadog, and Rohin Chandra - Product Manager, CI/CD Optimization at Datadog</a></p>
|
||
|
||
<footer>
|
||
<div class="authors"><span><a data-id="author-SPONSORED BY SPONSOR" href="https://www.infoq.com/url/t/517ac1f3-a6c1-442e-84ed-c00c52ee13d4/?label=Datadog-Transcripts" rel="nofollow" target="_blank">SPONSORED BY DATADOG</a></span></div>
|
||
</footer>
|
||
</li>
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
<div class="article__content">
|
||
<div class="article__data">
|
||
|
||
<div id="presentationNotes">
|
||
<h2 class="expanded">Transcript</h2>
|
||
|
||
<p>Egan: My talk is titled, "More and more and more: Why the most resilient companies want more incidents." My name is John Egan. I'm CEO and co-founder at Kintaba. We are an incident management product company that makes it easier for companies of any size to practice incident management within their organization in what we consider to be a simpler and more successful manner. Before that, I built tools at Facebook, as the company scaled from about 4,000 to 20,000 people, both internal tools as well as helped to build the external tool, Facebook Workplace, which is Facebook's public enterprise offering. I have a real passion for incidents. It's a space that I think is one of the most fascinating areas inside of our industry in terms of the way that we approach them, as well as how we're starting to adapt the way that we record them, and react to them within organizations, primarily in tech and how we're absorbing a lot of the best practices from other industries. I'm going to get into some of the maybe more controversial ideas around how we might want to track incidents. We're going to talk a lot about why more incidents are better. We'll get to dive into a couple of examples further than that.</p>
|
||
|
||
<p>First of all, everyone hates incidents. Maybe you have a person or a team internally that likes incidents, but I imagine on average, across your organization, most people don't respond to incidents, being excited. Most people will generally hear about an incident or be involved in an incident and have a reaction, something more similar to what we have with grumpy cat here in terms of just trying to make it stop. I think that's a natural human reaction to have things that are perceived as bad, things that are putting our company at risk, oftentimes, by definition. In fact, with most incidents, our first exposure to them tends to be an incident so large, that we're drawn into it, despite maybe even being on the periphery of it. By definition, our first experience with an incident at most companies tends to be a negative one. This actually has some practical effects on organizations, and the way they approach incidents that isn't so great, I think, and that I think we're going to talk a little bit about countering.</p>
|
||
|
||
<h2 class="expanded">The 'I hate Incidents' Metrics</h2>
|
||
|
||
<p>I call these the 'I hate incidents' metrics. This is the way a lot of organizations we talk to are currently measuring incidents and thinking about incident management. They're thinking about mean time to recovery, mean time to failure, mean time between failures. MTTR the other one, mean time to recovery and repair, as well as resolution. You get this acronym, soup of mean times. There's a bunch of reasons these aren't great. If you want to boil it all down to the 32nd answer of why these aren't the best metrics when you're building your incident management system, it's because ultimately these are vanity metrics. They're metrics that are pretty easily gamable. They're metrics that we can go in and make bad decisions for our company that ultimately produce better looking metrics. For example, trying to push mean times down, a natural reaction is to file incidents later, or maybe not file incidents at all. Another example of these in general is we're encouraging people to work towards an average across a series of black swan events, which is what major incidents should be. Because of that, we're actually ending up with a number that isn't particularly representative of any of the individual incidents that we're having. I'm not a big fan of these in general.</p>
|
||
|
||
<h2 class="expanded">Our Goal Is to Produce Resiliency, Not Just Recovery</h2>
|
||
|
||
<p>The way I like to think about this when I talk to people about, how are you thinking about your incident management system? Why is more, better? Why aren't we just measuring how to reduce as much of this stuff as possible? I like to back up and think a little bit more about the goals that we have within our companies when we're thinking about resilience. Our goal is that it's resiliency. It's not just recovery. Being able to recover is important, and it's something that our teams should be capable of. It's not really the primary thing that we care about long term. What we actually care about inside of companies is long term resiliency, that ultimately results in a reduction of catastrophe, not just incidents overall. When I want to back into this problem from that first principles of what we're trying to accomplish, it's easiest to look out at industry and say, who's actually good at this? Who's good at being resilient? What are they doing that's great? What are the things that they're measuring at a top level, or macro level that makes them really successful?</p>
|
||
|
||
<h2 class="expanded">The Airline Safety Revolution</h2>
|
||
|
||
<p>Whenever I talk about industries that are good at resilience, anyone from within the resilience space, resilience engineering or otherwise, always gets on the tip of their tongue, the same industry. That's the airline industry. This is an industry that over the last about 12 years, has carried more than 8 billion passengers without a single fatal crash. The airline industry really is what we call the crucible, inside of which modern incident management grew. We inherited almost everything that we now know, inside of technology organizations, when it comes to incident management and response, modern incident management response from the airline industry. I think looking at them really closely is an important method when it comes to trying to determine, what's the right way to become more resilient overall? What are the right metrics to be tracking?</p>
|
||
|
||
<p>I think a lot of people don't realize that when you're looking at this industry, you really actually want to look at recent history, despite the fact that a lot of the discoveries in human factors, blame-free processes, were built out in the '50s and '60s, originally, from an academic standpoint. What really happened is after a series of major crashes in the '80s, and early '90s, the industry made a top level change. They came out and said, we're going to increase the overall reporting of incidents within our organization aggressively. We're going to make those incidents as available as possible to everyone else in the industry. We're going to make a concerted effort because we think our process is good, we think our method of learning is good, but we just don't have enough of these things happening because people are ultimately afraid to file them. More incidents really ended up being the answer. The organization pressed hard and had an order of magnitude of incident filings and reportings. Out of that came the modern industry we know today, which is what we consider to be the safest mode of transport.</p>
|
||
|
||
<h2 class="expanded">Incidents in the Space Industry</h2>
|
||
|
||
<p>Another adjacent industry that we can look at, for starting to understand maybe some of these metrics of more is better, might be the space industry, which is a sister of the aviation industry. In the space industry, they faced a different problem entirely, which was they saw it was working well for the airline industry in general, and said, we need more incidents, but we don't fly these things that often. We don't want to have to collect all of our incidents on each flight, we need to find another way to get more. Organizations like NASA actually reach out and find incidents across industries that aren't theirs, or inside of organizations that aren't theirs. Then they absorb those incidents as if they were their own, and they write NASA postmortems about them. I thought this was so cool to discover. NASA actually maintains a website, where they track case studies of incidents happening outside of NASA, and they write up lessons learned, underlying causes. They talk about them as if NASA had been the one who caused the incident. It was really fascinating to me to see. It's this great indicator of just how critical it is to go and have enough incidents happening inside of your company that they would do this. They would go out and find incidents elsewhere.</p>
|
||
|
||
<h2 class="expanded">How to Get More Incidents</h2>
|
||
|
||
<p>Most of us don't really have to do this. Most of us can look at these initial learnings from these two industries. We can say, we need more incidents and it's not actually a problem within our organization that we don't have enough. It turns out that what we're not doing is we're not recording them. Then you ask, why aren't we recording these incidents that are happening inside of the company when we know that there's a benefit to getting more incidents into the system? I think there's some very simple steps that we all need to take in general. I think this is all just beginning to happen across especially medium sized organizations in the tech world as well as smaller organizations. Even large companies are pushing through this. The biggest one is really this first one, which is, how do we lower that barrier to reporting? How do we increase our number of SEV-2's, or SEV-3's, or near misses? Netflix was really at the forefront of this. How do we log every near miss? How do we make sure that we learn from it? We don't just log it and know that it happened. The immediate action that has to be taken is get them logged, get them recorded because they're happening in your company every day.</p>
|
||
|
||
<p>The way you do that, the way you get that barrier lower and for people to react to that lower barrier is the second item, which is, you have to simplify the reporting system and process inside of the company overall. You can't have this big mega reporting process of multiple pages of documentation that you have to follow, meetings you have to show up at. Terrifying reviews with managers and people up and down the reporting chain. You've got to make it dirt simple to come out of the gate, and say, a thing happened, let's get it logged. Let's get it recorded. Let's get it put into the system. Let's make sure we learn from it quickly. Then, finally, we have to show through actions the result of those reports. We have to make sure that people can see the changes happening in the company as a result of those incidents being filed.</p>
|
||
|
||
<p>You can do that two ways. I think the easiest way to understand those two, is to look at this quote from Charles Billings, who was the chief of aviation safety research at NASA, which was this realization that the reason they're able to get people to file these incidents, pilots and unions that were originally against the idea of more filings, is they, A, had a sincere interest in improving safety. Which I think is true across our industry as well. I think most people working inside of tech companies have a desire to reduce the number of major catastrophes. Number two is actually the more important one, which is a sincere belief that what they're reporting is going to be used to make things better, not just used against them. This is pretty critical. If you don't establish that culture, then you won't get more. If you don't get more, then you won't be able to increase anything about the ability of your process to function.</p>
|
||
|
||
<h2 class="expanded">More Incidents Reported = Fewer Catastrophes</h2>
|
||
|
||
<p>I wish I could just say, more incidents reported means fewer catastrophes, therefore, we just need to make this chart happen within our company, and we're good to go. Increase in overall incidents, recorded decrease in SEV-1 major outages, like, it's going to work. That's not really the case. It's not quite that simple. When we say more, we don't just mean more incidents, we mean a lot of things. We can prove this out by taking another life critical industry. We can take the healthcare industry, which tried to do exactly what I'm talking about. They tried to take these learnings from the airline industry and from NASA, and say, what we've got to do is we've got to get these incident numbers up. We've got to get everyone recording. There was a concerted effort really across most hospital systems and healthcare systems, nationalized or otherwise, to increase overall reporting. After this had happened, and been going on for a couple of years, there were studies that were run. On the upside, we found that with those incident reports increasing that litigation claims per bed seemed to be negatively correlated, which made the lawyers happy. However, the hospitals turned out to be pushing back a lot harder than originally expected, in terms of actually filing the reports. They were both afraid to file them because they were worried it would make them look less effective in a competitive environment. They were concerned that it would bring additional regulatory attention to them. That these reports of incidents would be used as ways for governments and regulatory agencies to file fines as opposed to being used primarily to make safety better, as it was being done effectively in the airline industry. Then, worse than that, it turned out that there wasn't really an apparent association between these reporting rates going up, where the industry pushed to get people comfortable with filing at all, and eventually got those filing numbers up. You didn't actually get a positive correlation between that and the mortality ratios.</p>
|
||
|
||
<p>This is pretty concerning. Your whole goal is you need to report more incidents. I wish I could just say that's the thing you can take away from this entire conversation, but you actually need to take this warning away as well, which is that it's not just about having more incidents. We can go back to Charles Billings again here, same guy from NASA, who went on to actually help the healthcare industry, go and try and work through this challenge of, how do we implement these solutions? His response was, it turns out that the only takeaway anyone got from us trying to push this in was that they just needed to report the incidents. Through reporting, that would be enough to fix all problems. That the fixes would just be generated magically out of nowhere, and then that would enhance safety overall. Sadly, it's not true. There's a whole process here that I think we're all aware of with incident management. I think this process becomes critical for more incidents mattering, because an incident needs to actually kick off an entire flow of response to the incident, the resolution itself. Then importantly, the reflection on the incident and the learning about the incident, and the distribution of that information. How do you make sure that when an incident happens, that it actually gets reviewed, and that you actually change the way your company runs based on it?</p>
|
||
|
||
<h2 class="expanded">More Incidents Is Equivalent to More Learning</h2>
|
||
|
||
<p>It turns out, it's not really just about more incidents. It's really about more learning. It's about that outcome. The learning doesn't happen automatically. The learning actually takes a pretty concerted effort in and of itself. I think we all in the industry have an understanding of what it means to try and learn from the really big failures. We're able to look at them and say, "There's been a major outage. We need to go and write a big report on this. Let's get 10 pages written with every root cause and every contributing factor, and every impacted person. Let's bring everyone in a room and make sure we read it." When you're thinking about a world where you want to maximize the amount of learning, you actually have to think about two other things. You've got to think about simplifying that process for creating learning documents, and then, greatly increasing the distribution of the information.</p>
|
||
|
||
<h2 class="expanded">Make Your Postmortems as Public as Possible</h2>
|
||
|
||
<p>I think the easiest way to think about doing that is to actually go and make your postmortems as public as possible, a couple of these things in parentheses. Because the organizations that are the best at this actually do that. If you go to NASA's website, they actually have a learning center where they've got over 800 postmortems written up, which is just all of the things that they've learned over time. Google publishes their postmortems publicly, generally. I think partially because the public demands it. I think ultimately, it's turned into a really powerful process for them, to make sure that they write consumable accounts of what happened that can be consumed by anyone in industry. Ideally, people even outside of it. Cloudflare does the same. Amazon does the same. Writing these things up and publishing them as publicly as possible, turns out to be almost the thing that's more important, but is really a follow-on effect, of having written more incidents is you have that process in place. We write more incidents. We follow that process. We aggressively publish those postmortems out publicly. We write those postmortems in ways that they can be consumed, even if that means writing them simpler.</p>
|
||
|
||
<h2 class="expanded">Key Takeaways</h2>
|
||
|
||
<p>The takeaway has changed a little bit from just being, write more incidents, make more incidents happen, over to this world of, we need to make it easier to file the incidents. We need to make it safer to file those incidents. We need to simplify the process so that you're writing more postmortems, so you don't feel afraid of going into this gigantic and terrifying template that maybe you don't want to fill out, or you don't want to distribute, or you don't want to have to go and research. Then we have to distribute those learnings out to as many people as possible within the organization so that they all read it. When we talk about more, we're really talking about all of this stuff. The trigger for all of this working is to file more incidents, and to get comfortable with the idea that you want to see a metric there increase. You want to see an increase in incidents being filed in your organization. That's a positive thing. You're not really quite so concerned about, for example, the amount of time between incidents. If anything, you want that to decrease. You want more of these things being filed. If you do that, then you have an opportunity to be kicking off a process which hopefully is well defined in your organization. If it's not, come check out Kintaba.</p>
|
||
|
||
<p>When you have that well-defined process, you'll be writing up these learnings quickly to follow up the incident that happened, no matter how small it was. Make sure to come in and write. I have a blog post called the 4-second postmortem, which is all about writing one sentence in the simplest case. Even in the slightly more complex case, you might come in and write a half page postmortem or a quick paragraph on changes we need to make. Then, finally, you have to have a concerted effort to distribute those learnings out to more people within the organization. Just putting it into a Google Drive is not enough. Emails need to be sent. Sites internally need to be maintained that potentially carry all of this. There need to be events and there need to be meetings and there needs to be a part of your culture within the organization that says we care about reading these things. We talk about them after they're read. We distribute them widely across the organization, not just within the SRE team. We distribute them everywhere, such that the whole organization can learn and improve our resiliency as we go forward. I think if you do all of those things, if you focus mostly on increasing your practice of incident management, as opposed to just focusing on decreasing the here and now of the active incident, you'll get a lot closer, I think, to putting this guy up on the moon.</p>
|
||
|
||
<p>I think that's really what we're all thinking about when we're practicing incident response is moving our thoughts from that grumpy cat of, how do I get this to never happen, like to stop? To, what practices and processes do I put in place to make sure that this doesn't happen again, in a catastrophic way? That's my talk about having more incidents, and more reporting, and more learning, and why more is better. Why the most resilient companies in the world practice finding as many incidents as they can, within and without their organizations.</p>
|
||
|
||
<h2 class="expanded">Writing Easily Consumable Postmortems</h2>
|
||
|
||
<p>There was a question here about writing easily consumable postmortems being time consuming, as well as difficult to do. It's not always easy and time consuming, so who in the org do you suggest author the postmortem? I think really one of my points here in this conversation about lowering the barrier in general, is that you should have a spectrum of different types of postmortems that are being written for simple incidents. Incidents that you're maybe capturing down on a SEV-3 level, maybe the near miss. You might not have to have a multi-page complex technical response, you can probably have a little bit more of straightforward, immediate takeaways. Things that you would learn if you were in-person, maybe even in a hallway walking past someone and saying, we need to never configure things that way again. We need to never roll our scripts serially or in parallel. I think that's a longer conversation within the organization. When you're lowering that barrier, you really want to focus on how do we make the easiest postmortems easy, so that folks who would otherwise write them and contribute some piece of information back as a learning to the company, don't shy away from it out of fear of a multi-page, complex document that has to be put together.</p>
|
||
|
||
<h2 class="expanded">Questions and Answers</h2>
|
||
|
||
<p>Butow: One of the things I was wondering about, too, is, you had some really interesting information about NASA. How they write up postmortems for incidents that aren't even from NASA. How did you find that out? Did you find out anything else interesting when you were looking into this?</p>
|
||
|
||
<p>Egan: I spend a ton of time just trying to dig into postmortems. I always do this. I'm a bit of a postmortem junkie. There are some resources online with them. There aren't really too many exhaustive ones. It's a lot of Google searching. It's a lot of rat holing around what companies seem to be doing it, and then finding it. The NASA documents are actually on what used to be, I think, an employee-only page that was opened up more broadly. Unfortunately, I actually just tried to share the link to it, and I think they might have locked it back down over the last week or so. I'm going to poke around and see if maybe they've just moved it to that lessons learned site, because I can't imagine they would intentionally try to hide those. They're super valuable. I'd never seen companies doing that before. NASA is really the first time I'd seen an organization follow on so aggressively to the idea of, we've got to have more of these reports because that's the only way we learn. We don't necessarily want to generate them through our rocket launches, or through things that put human life at risk. I think the closest thing we have to that in the tech industry is probably maybe the chaos engineering space, where it's like, let's generate these incidents. Let's just make them happen, so that we can get more of these learnings. It's still direct from within your organization. I think when gamedays are run well within organizations to try and produce other incidents, they often don't look like the things that affect necessarily our infrastructure. They might look like, take down a third party. Take down a data center because of a sandstorm. I think that's maybe close to it. I'd love to see more companies sharing, how would we have interpreted this outage inside of our company, and what would the learnings be here versus necessarily waiting for it to happen to them?</p>
|
||
|
||
<p>Butow: That's a really interesting idea. I love that idea of maybe everyone say to a few companies, let's all write a postmortem for this specific incident or inject this specific failure and see how we handle it, like one type of third party going down. That's really interesting.</p>
|
||
|
||
<p>There's a correlation between an increase in observability and incidents being reported, should a tech team focus on better observability over introducing new processes? What's your thoughts there?</p>
|
||
|
||
<p>Egan: I think in general, these things all produce outcomes that lead towards this general goal of how do we get more of these incidents filed? They capture different types of incidents. It actually turns out at most companies, that the vast majority of incidents are filed by humans. It tends to be a human decision to say, these observability metrics, or general trailing metrics, or otherwise, are actually valid to the point that we need to go and address them directly. I think what observability does really well, is it causes accountability towards things that ought to be incidents very quickly, because you have public availability of the information. If you have more humans seeing that data, it's more likely one of them is going to make that call that we need to go and declare an incident versus trying to sweep it under the rug or hide it.</p>
|
||
|
||
<p>Then I think on the other side of that, the worst incidents often are ones that you don't have any visibility into. Where the indications are that our customer inbound support requests, or a conversation happening in the hallway about a near miss that's about to go on. I think you've got to attack it from both angles. It's one of the reasons I really think up-leveling when you're talking about metrics away from just, how quickly are we responding once the incident happens? Up-leveling that out to say, "No, we're really just doing whatever we can to get the incident count up." I do think it has you look at tools like observability. It also has you look at the human factors of how do we change that culture and simplify that process so we're not afraid to file or avoiding, which is even worse, filing incidents because we don't want those numbers to go up.</p>
|
||
|
||
<p>Butow: An interesting comment in regards to the number of incidents that you report. It says, I think that more traditional companies worry about customer's perception about the number of incidents. What's your thought there, if you do have to report these to customers?</p>
|
||
|
||
<p>Egan: There's certainly that moment of change within a company from going from, we don't really talk about these things, to we talk about these things. I think if you're going to be public, which is the ideal situation about the increase in incidents that are happening, I think you should be public about that adjustment of practice as well, towards the statement of we're going to start being public about it. We're going to talk more about it in a way that you're going to hear from us. I think what's important there is to be really clear about your delineation between major, minor, near miss learnings. I think NASA is a great way to point back to. NASA calls these things learnings, first and foremost. That's what the goal is. I think if you phrase it externally that way, the public is much more accepting of it. You talk about here are learnings from this past month, here are learnings as a company from this past year. It's just a different attitude, I think, to take towards it, versus here are the things that are going badly. Here are the things that aren't working. That shift, I think has to happen both internally as well as externally. I think we're seeing larger companies doing that more, not just because they have to talk about them, but because I think that it actually garners them a growth in community from the technical space. Cloudflare has done a pretty good job of this, of being public when they have trouble even before it's publicly reported. Other companies that do it as well, I just think benefit from it. Historically, they've only talked about them inside of maybe their technical communities. The more open we get about that the more we're going to be able to both be internally more aggressive about reporting, as well as externally.</p>
|
||
|
||
<p>Butow: That's an interesting idea as well to be able to share our incidents. You mentioned that you do think it's improved over the last few years. How do you think we can really blow that open and just see a lot more public postmortems being reported from the tech industry, because maybe in the end, NASA would be looking at our postmortems to learn more, and that would be pretty cool.</p>
|
||
|
||
<p>Egan: These cultural changes that happen across organizations always happen in little spurts. I think we had the beginnings of this over the last five years or so. I'm seeing a really interesting transition happening from postmortems being written and filed away, to postmortems ending up on Hacker News right away. I imagine there's an increasing desire within companies to get those postmortems published more officially from themselves to those public social channels more quickly. I think that's the next stage of this progression is how do we start to track these things across companies? Where do we all go? Right now it's a list of websites. We go to the NASA website. We go to Cloudflare's website. We hit Hacker News. Maybe there's a Reddit, subreddit. I really think that's the next change that we're looking for is, where does this community grow in terms of that general acceptance. Once that happens, you then get orders of magnitude propagation right out across the technical communities of acceptance. There's a desire to do this more often, because your company isn't really operating if you're not also publishing your learnings. Stack Overflow got us there from a social standpoint. You can build up karma from the perspective of producing learnings and sharing them around as an individual. I don't really think there's an equivalent yet for companies, and there probably needs to be.</p>
|
||
|
||
<p>Butow: It's interesting, too, it makes me think about what we could learn from maybe the security industry, how a lot of companies will work together, have groups where they come together to talk about recent vulnerabilities. Then they also report on vulnerabilities, so you can just stay like an RSS feed, or join a mailing list to see everything that's happening. Do you think maybe we could learn from the security engineering space, for just broader incidents as a whole?</p>
|
||
|
||
<p>Egan: I do. I knocked on the medical industry a little bit. The medical industry has been doing the true version of postmortems, actually after death types of research in their conferences for decades. Where when there is a life lost, they'll have conferences where all the specialists will come together, and they'll actually do a general wide scale review of why is that working? Why didn't that work? What didn't you do right? What should we change about best practices? I think that that practice really could propagate out from the security industry as it has propagated up from them out to the wider industry, so that we have more of these shared learnings instead of siloed knowledge inside of companies. I would love to see more FailCon style conferences that focus on that. The startup industry has done this forever. When startups go under there's been a series of conferences that have been, come together, talk about why it didn't work, and that community learns from it. I think, similarly, we can learn from that across organizations, within companies, and probably actually more effectively.</p>
|
||
|
||
<p>Butow: What's your suggestion on a template for postmortems? I know you've got to think about this a lot working at Kintaba, creating Kintaba as a company after working at Facebook. What did you really take away from that to say, this is what we really need to have?</p>
|
||
|
||
<p>Egan: I struggle a lot with that question, because it's turned out that the adoption within a company of a single postmortem is actually a little bit antithetical to the idea of trying to increase the number of incidents filed. Because the template for your postmortem defines the end state that people are going to get in after they have an incident, and that influences whether or not you're willing to file the incident. Where we're going inside of Kintaba, and we're not there yet, we're a young company, but where we're trying to run towards is this idea of multiple types of templates that go everywhere from as simple as a one sentence, what did we learn here? Where you would make up for the fact that maybe you're not walking in a hallway anymore, in remote work, and you don't get to walk past the person who was involved. They say, never roll Kubernetes that way again. All the way out to the much more complex templates, which are from folks like Google that they've published. There's a pretty decent Google postmortem template on their public SRE book that digs into the way they do it, which focuses really heavily on, what happened? Where was our root cause? What went wrong? What went well? Then, critically, where did we get lucky? Which is a really important section that I think a lot of folks will occasionally overlook inside of postmortems, which talks a lot about this wasn't our process working. This was like something just happened to work out. Where we got lucky is the super important section, especially for more complex incidents, because it's easy to overlook those things as that was working versus that just happened to work out. It's critical to go through that section when you're trying to remediate into your processes to make sure you're more resilient, long term. To be able to say, we got lucky here, and here. Let's codify that stuff, so we don't have to rely on luck happening again.</p>
|
||
|
||
<p>In terms of templates, that would be great. Definitely that Google template, internal to your company. You also should really track readership of postmortems, and see the ones that get read the most. In a lot of ways, writing postmortems and knowledge distribution is like an SEO problem. It's like, how do we go internally and get people excited about this stuff and reading? Then model your future postmortems after the ones that do get read, after the ones that are written well. Because you have an audience that's not necessarily mapped to everyone else's audience. Your audience in your company, if you're primarily a small SaaS business selling to a couple of major enterprises, is going to look very different than the Google major scale tech postmortem.</p>
|
||
|
||
<p>Butow: Do you have top three tips for how to write a postmortem that people want to read, that you can share with us?</p>
|
||
|
||
<p>Egan: It's like writing a newspaper article is the way that I think about it. Lead with the important data, because people might only read that first sentence. Lead with the most important takeaway in that first sentence. Make sure you include a section about what you learned as the person with the most context. It's a critical part of writing an incident report is you're the only one who was there, everyone from the outside is going to have a different set of hindsight context into the incident. If all you do is get primary learning number one into the first sentence, and then what unique perspective you had as the participant in it, in your second section, I think you'll actually get 70%, 80% out of what most people get out of postmortems.</p>
|
||
|
||
<p> </p>
|
||
<script>
|
||
$(function() {
|
||
jQuery(function() {
|
||
jQuery.scrollDepth();
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<p><big><strong>See more <a href="https://www.infoq.com/transcripts/presentations/">presentations with transcripts</a></strong></big></p>
|
||
|
||
<p> </p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div class="aside">
|
||
<div class="recorded">
|
||
<p class="meta recorded__meta">Recorded at:</p>
|
||
<a href="https://plus.qconferences.com/">
|
||
<img loading="lazy" alt="QCon Plus is a virtual conference for senior software engineers and architects that covers the trends, best practices, and solutions leveraged by the world's most innovative software organizations." src="https://res.infoq.com/presentations/postmortem-incidents-resilience/en/promoimage/Logo_QCon+Plus-1638480200057.png">
|
||
</a>
|
||
</div>
|
||
<p class="date">Dec 03, 2021</p>
|
||
<div class="article__authors authors">
|
||
<div>
|
||
<p class="meta">by</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul class="no-style authors">
|
||
|
||
|
||
|
||
|
||
<li data-id="author-John-Egan">
|
||
<p class="meta author__bio">
|
||
|
||
<a href="/profile/John-Egan/" class="avatar author__avatar" aria-label="John Egan"></a>
|
||
<span class="author__name">
|
||
<a href="/profile/John-Egan/" class="author__link">John Egan</a>
|
||
</span>
|
||
</p>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="ads__area">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
var uriMapping = "presentations";
|
||
var showVcr = "false";
|
||
var fillWithVcr = "true";
|
||
var sponsorshipsJson = "{"links":[{"styleName":"pdf","style":"PDF","text":"The Practical Agentic Coding Playbook","id":"18089bbe-8e7c-4b03-a6ef-ca191b8d102e","target":"https://www.infoq.com/vendorcontent/show.action?vcr=430ffe46-9047-4739-a817-b7d64d070721&utm_source=infoq&utm_medium=VCR&utm_campaign=vcr_fixed_link","active":true}]}";
|
||
var sponsoredLinks = $.parseJSON($("<div/>").html(sponsorshipsJson).text()).links;
|
||
var numberOfSponsoredVcrIds = sponsoredLinks != null ? sponsoredLinks.length : 0;
|
||
|
||
var maxItems = 5 - numberOfSponsoredVcrIds;
|
||
|
||
var intervalVcrSponsorship = setInterval(function() {
|
||
if (window.vcrsLoaded) {
|
||
clearInterval(intervalVcrSponsorship);
|
||
if(showVcr || fillWithVcr) {
|
||
if(fillWithVcr) {
|
||
for(var index in window.vcrList) {
|
||
if(VCR.isVcrSponsored(sponsoredLinks, window.vcrList[index])) {
|
||
VCR.addToExcludedList(window.vcrList[index]);
|
||
}
|
||
}
|
||
}
|
||
var vcrs = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, maxItems, false, null);
|
||
if (vcrs != null && vcrs.length > 0 || (sponsoredLinks != null && sponsoredLinks.length > 0)) {
|
||
VCR.addToExcludedList(vcrs);
|
||
var $widget = jQuery('.relatedVendor');
|
||
getCommonElementsForPresentationsWithTranscripts(vcrs, uriMapping, "RIGHT_BAR_RVC");
|
||
$widget.css("display", "block");
|
||
} else {
|
||
var $widget = jQuery('.relatedVendor');
|
||
$widget.removeClass("f_rvcbox");
|
||
}
|
||
}
|
||
window.contentVcrFinished = true;
|
||
// search for infoq.event.on("contentVcrFinished",... to see how/where it is used
|
||
infoq.event.trigger("contentVcrFinished");
|
||
}
|
||
}, 200);
|
||
|
||
</script>
|
||
<input type="hidden" name="" value="1893" id="cont_item_primary_topic"/>
|
||
|
||
|
||
<div class="widget relatedVendor"
|
||
|
||
style="display: block"
|
||
|
||
|
||
>
|
||
|
||
<h4 class="widget__heading">Related Sponsors</h4>
|
||
<ul data-tax="prsp" data-horizontal="true" data-size="small"
|
||
class="prsp__items no-style cards showImageFirst">
|
||
|
||
|
||
<div class="f_rvcList"></div>
|
||
|
||
|
||
<li class="book">
|
||
<div class="book__info">
|
||
<h4 class="book__title">
|
||
<a href="/url/f/18089bbe-8e7c-4b03-a6ef-ca191b8d102e/" rel="nofollow">
|
||
The Practical Agentic Coding Playbook
|
||
</a>
|
||
</h4>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
<ul class="related-prsp" jsh="{"topic":"QCon Software Development Conference","id":"12605306-ee86-4a5c-bc22-ab8b965bfc4a","title":"Moderne - Architect Influence Program 08/11/2026 - 11/11/2026"}">
|
||
<h4 class="widget__heading">Related Sponsor</h4>
|
||
|
||
<a href="/url/f/66abda2e-0d1f-4030-92f5-2d460e845635/" target="_blank" rel="nofollow">
|
||
<img loading="lazy" src="https://imgopt.infoq.com//fit-in/250x380/filters:quality(100)/filters:no_upscale()/sponsorship/topic/12605306-ee86-4a5c-bc22-ab8b965bfc4a/ModerneLogoMicrosite-1786453474094.png"/>
|
||
</a>
|
||
|
||
|
||
<p style="clear: both; padding: 10px 0 0 0;"><b>Automated code transformation at scale. Fix vulnerabilities, migrate frameworks, and modernize legacy code across every repo. <a href="/url/f/b66b8015-fc94-4daf-88dc-691741225dd6/" target="_blank" rel="nofollow">Try Moderne Free</a>.</b></p>
|
||
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
window.finishedRightbarVcr = false;
|
||
|
||
var whitepaperVcrsJson = null;
|
||
var topicSponsorshipJson = "{"iconLink":"/url/f/66abda2e-0d1f-4030-92f5-2d460e845635/","iconHref":"https://imgopt.infoq.com//fit-in/275x500/filters:quality(100)/filters:no_upscale()/sponsorship/topic/12605306-ee86-4a5c-bc22-ab8b965bfc4a/ModerneLogoMicrosite-1786453474094.png","id":"44704352-e094-4805-9d0b-c9675f61311a"}";
|
||
var vcrOptionalListJson = null;
|
||
/* do not delete these two, as they are used further in the code */
|
||
var contentDatetimeFormat='MMM dd, yyyy';
|
||
var contentUriMapping="presentations";
|
||
JSi18n.relatedRightbar_relatedContent='Related Content';
|
||
JSi18n.relatedRightbar_sponsoredContent='Related Sponsors';
|
||
JSi18n.relatedRightbar_sponsoredBy='Sponsored by';
|
||
|
||
var topicIds = "6766,6724,3450,6218,593,4908,4910,876,131";
|
||
var communityIds = "1893";
|
||
var company = "Moderne";
|
||
|
||
|
||
// this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...)
|
||
var canStartTrackingCustomRightbar = false;
|
||
infoq.event.on('loaded', function(e) {
|
||
canStartTrackingCustomRightbar = true;
|
||
});
|
||
|
||
var intervalRightbar = setInterval(function() {
|
||
if (window.vcrsLoaded) {
|
||
clearInterval(intervalRightbar);
|
||
if(company != null && company != "") {
|
||
whitepaperVcrsJson = VCR.filterByCompany(company, window.vcrList);
|
||
}
|
||
vcrOptionalListJson = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, 20, true, null);
|
||
|
||
|
||
|
||
var adsArea = $('.ads__area');
|
||
|
||
// 1. display whitepaperVcrs
|
||
var topicSponsorship = $.parseJSON($("<div/>").html(topicSponsorshipJson).text());
|
||
var whitepaperVcrItems = $.parseJSON($("<div/>").html(JSON.stringify(whitepaperVcrsJson)).text());
|
||
|
||
var index = 0;
|
||
|
||
var hasWhitepaper = whitepaperVcrItems !== null && whitepaperVcrItems.length > 0;
|
||
if (hasWhitepaper) {
|
||
index++;
|
||
|
||
var whitepaperDiv = getRightbarCustomVcrWidget(whitepaperVcrItems, index, topicSponsorship, "transcriptsright", 1);
|
||
$(whitepaperDiv).addClass('prspContent_side');
|
||
$(whitepaperDiv).removeClass('box');
|
||
$(whitepaperDiv).find('a.book__image img').addClass("book__cover");
|
||
adsArea.append(whitepaperDiv);
|
||
}
|
||
|
||
|
||
// 2. repeat the "VCR OPTIONAL box as many times as possible, but not more than 5 times"
|
||
var items = $.parseJSON($("<div/>").html(JSON.stringify(vcrOptionalListJson)).text());
|
||
|
||
var minimumBoxHeight = 2000;
|
||
var availableSpace = $('.aside').height() - $('.relatedVendor').height();
|
||
var numberOfBoxes = Math.floor(availableSpace / minimumBoxHeight);
|
||
if (numberOfBoxes > 5) {
|
||
numberOfBoxes = 5;
|
||
}
|
||
|
||
for (var i = 0; i<numberOfBoxes; i++) {
|
||
index++;
|
||
|
||
var relatedVcrDiv = getRightbarCustomVcrWidget(items, index, null, "transcriptsright", 1);
|
||
$(relatedVcrDiv).addClass('prspContent_side');
|
||
$(relatedVcrDiv).removeClass('box');
|
||
$(relatedVcrDiv).find('a.book__image img').addClass("book__cover");
|
||
adsArea.append(relatedVcrDiv);
|
||
}
|
||
|
||
window.finishedRightbarVcr = true;
|
||
}
|
||
}, 200);
|
||
|
||
// these two events can happen one before another async(no precedence any can be first or second). Make sure tracking starts when both happened
|
||
var intervalTrackingRightbar = setInterval(function() {
|
||
if(canStartTrackingCustomRightbar && window.finishedRightbarVcr){
|
||
clearInterval(intervalTrackingRightbar);
|
||
VCR.doTrackingCustomRightbarForPresentations();
|
||
}
|
||
}, 200);
|
||
</script>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="widget article__fromTopic topics">
|
||
|
||
<div class="widget__head related__for-topic" data-id="6043" data-trk-ref="content_primary_topic">
|
||
<h4 class="heading related__heading">
|
||
|
||
|
||
|
||
This content is in the <a href='/Devops/'>DevOps</a> topic
|
||
</h4>
|
||
</div>
|
||
|
||
<h5 class="heading related__inline">Related Topics:</h5>
|
||
<ul class="no-style topics related__topics topics__small" data-trk-ref="content_related_topic">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="6043">
|
||
<a href="/Devops/" class="button related__topic button__small button__black">DevOps</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="18248">
|
||
<a href="/qcon-plus-may-2021/" class="button related__topic button__small button__black">QCon Plus May 2021</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="18198">
|
||
<a href="/qcon-plus/" class="button related__topic button__small button__black">QCon Plus</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="14722">
|
||
<a href="/Resilience/" class="button related__topic button__small button__black">Resilience</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="17662">
|
||
<a href="/transcripts/" class="button related__topic button__small button__black">Transcripts</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="597">
|
||
<a href="/qcon/" class="button related__topic button__small button__black">QCon Software Development Conference</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="16291">
|
||
<a href="/post-mortems/" class="button related__topic button__small button__black">Post-Mortems</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="16293">
|
||
<a href="/incident-reponse/" class="button related__topic button__small button__black">Incident Response</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="1389">
|
||
<a href="/architecture/" class="button related__topic button__small button__black">Architecture</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li data-id="134">
|
||
<a href="/InfoQ/" class="button related__topic button__small button__black">InfoQ</a>
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<input type="hidden" name="" value="1893" id="cont_item_primary_topic"/>
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
$(document).ready(function() {
|
||
$.ajax({
|
||
url: "/api/recommendationlinks.action",
|
||
contentType: "application/x-www-form-urlencoded; charset=utf-8",
|
||
type: 'POST',
|
||
data: {
|
||
"primaryTopicAlias": "Devops",
|
||
"topicIds": "6766,4908,6218,4910,3450",
|
||
"title": "More More More! Why the Most Resilient Companies Want More Incidents",
|
||
"contentPath": "/presentations/postmortem-incidents-resilience",
|
||
"language": "en"
|
||
},
|
||
success: displayRelatedEditorial,
|
||
async: false
|
||
});
|
||
});
|
||
|
||
function displayRelatedEditorial(data) {
|
||
$('.related__editorial h4').text("Related Editorial");
|
||
if (data && data.length > 0) {
|
||
if(data[0].fromEs) {
|
||
//change title and tracking params
|
||
var box_title="DevOps";
|
||
//replace html entity since it conflicts with style
|
||
box_title=box_title.replace("&","&");
|
||
$('.related__editorial h4').text("Popular in " + box_title);
|
||
}
|
||
for (var i = 0; i < data.length; i++) {
|
||
if (i === 5) {
|
||
break;
|
||
}
|
||
if (data[i].url.indexOf("/presentations/postmortem-incidents-resilience") !== -1) {
|
||
console.log("Removing the current item from list...");
|
||
continue;
|
||
}
|
||
var theLinkURL = data[i].url;
|
||
if(!theLinkURL.endsWith("/")) {
|
||
theLinkURL = theLinkURL + "/";
|
||
}
|
||
var link = $('<li><h5 class="rvc__title"><a title="" href="' + theLinkURL + '/">' + data[i].title + '</a></h5></li>');
|
||
$('.related__editorial ul').append(link);
|
||
}
|
||
$('.related__editorial').show();
|
||
displayWidget = true;
|
||
}else{
|
||
$('.related__editorial').parent("li").remove();
|
||
}
|
||
|
||
if(displayWidget==true){
|
||
$('.related__group').attr("data-cols", $('.related__group').find(">li").length);
|
||
$('.related__group').css("display", "flex");
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<ul class="no-style related__group nocontent cards">
|
||
<li>
|
||
<div class="related__editorial">
|
||
<h4 class="heading">Related Editorial</h4>
|
||
<ul></ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="bg-gray">
|
||
<div class="related__prsp">
|
||
<h4 class="heading">Popular across InfoQ</h4>
|
||
<ul>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/netflix-flink-autoscaler/" class="rvc__link">
|
||
Netflix Moves toward Open Source Flink Autoscaler for 30,000+ Streaming Jobs
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/java-news-roundup-aug31-2026/" class="rvc__link">
|
||
Java News Roundup: TornadoVM 6, JReleaser, LangChain4j, Java Operator SDK, JHipster, Yupiik Fusion
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/google-mantis-vulnerability-scan/" class="rvc__link">
|
||
Google Mantis: an Agentic Vulnerability Scanning Harness for Reducing False Positives
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/blume-docs-ai/" class="rvc__link">
|
||
Blume: Zero-Config Docs Framework That Turns a Markdown Folder into an AI-Ready Website
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/news/2026/09/cern-debian-infra/" class="rvc__link">
|
||
CERN Renounces RHEL in Favor of Debian for its Accelerator Controls Infrastructure
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
<li>
|
||
<h5 class="rvc__title">
|
||
|
||
<a href="/podcasts/personality-over-skillset/" class="rvc__link">
|
||
Personality Over Skillset: How Adam Wachtel Builds Engineering Teams
|
||
</a>
|
||
</h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
</article>
|
||
</div>
|
||
</section>
|
||
</div>
|
||
<div id="imgPreload"></div>
|
||
|
||
<script type="text/javascript">
|
||
// global vars that can be used for this page, use this section to add more.
|
||
var contentTitle = "More More More! Why the Most Resilient Companies Want More Incidents",
|
||
contentPath = "/presentations/postmortem-incidents-resilience",
|
||
contentUUID = "87ef65ce-e9ea-4e7c-870c-efd5b876243b",
|
||
authorUserCSVIds = "126584322";
|
||
</script>
|
||
|
||
<script type="text/javascript">
|
||
// needed for starting download after IDP login, processing starts after frontend modules are loaded
|
||
infoq.event.on("loaded", function(){
|
||
if(loggedIn){
|
||
var href = window.location.href;
|
||
if(href.indexOf("#downloadPdf") != -1){
|
||
//window.location.href = href.substring(0, href.indexOf('#'));
|
||
$('#slides').click();
|
||
} else if(href.indexOf("#downloadPresentationMp3") != -1){
|
||
//window.location.href = href.substring(0, href.indexOf('#'));
|
||
$('#mp3').click();
|
||
}
|
||
}
|
||
});
|
||
P.c(false, 'p', isWideScreen, 'https://cdn.infoq.com/statics_s1_20260910111632/styles/static/images/logo/logo_scrubber_16_9.jpg', 'https://cdn.infoq.com/statics_s1_20260910111632/styles/static/images/logo/logo_scrubber_4_3.jpg');
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//wait for the player to be ready
|
||
document.getElementById("video").addEventListener('loadeddata', function() {
|
||
//check if we are requested to jump to a specific time in the video
|
||
var t = CommonUtils.getQueryParameterByName("t");
|
||
if(t !== null && t.length <= 9) {
|
||
SlideSynchronizer.start();
|
||
P.seekPlayerTime(t, true);
|
||
}
|
||
}, false);
|
||
|
||
</script>
|
||
|
||
|
||
</main>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<footer class="footer ">
|
||
|
||
|
||
<section data-nosnippet class="section container">
|
||
<div class="container__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul data-cols="5" class="no-style columns boxes topic__boxes">
|
||
|
||
<li class="development">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/development/">Development</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/tinygo-devkit/" title="Advancing Embedded Go: Recoverable Panics, UEFI, Radio and Hardware Dev Kit">Advancing Embedded Go: Recoverable Panics, UEFI, Radio and Hardware Dev Kit</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/riscv-cpython/" title="CPython Officially Adds RISC-V Support as a Tier 3 Platform">CPython Officially Adds RISC-V Support as a Tier 3 Platform</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/async-lua-neovim/" title="vim.async's Addition Modernizes Neovim&rsquo;s Async Architecture for Better Stability">vim.async's Addition Modernizes Neovim’s Async Architecture for Better Stability</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="architecture-design">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/architecture-design/">Architecture & Design</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/netflix-conductor-4-workflow/" title="Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows">Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/meta-organizational-agents/" title="Meta's Recipe for Building Agents as &quot;Organizational Second Brains&quot;">Meta's Recipe for Building Agents as "Organizational Second Brains"</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/netflix-flink-autoscaler/" title="Netflix Moves toward Open Source Flink Autoscaler for 30,000+ Streaming Jobs">Netflix Moves toward Open Source Flink Autoscaler for 30,000+ Streaming Jobs</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="culture-methods">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/culture-methods/">Culture & Methods</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/autonomous-software-teams/" title="Beyond Autonomous Teams in Software Product Development">Beyond Autonomous Teams in Software Product Development</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/presentations/rust-refactoring/" title="Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase">Accelerating Performance by Incrementally Integrating Rust Into Existing Codebase</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/podcasts/personality-over-skillset/" title="Personality Over Skillset: How Adam Wachtel Builds Engineering Teams">Personality Over Skillset: How Adam Wachtel Builds Engineering Teams</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="ai-ml-data-eng">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/ai-ml-data-eng/">AI, ML & Data Engineering</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/nvidia-pair-ai-task-router/" title="NVIDIA Personal AI Router Distributes AI Tasks across Local Compute">NVIDIA Personal AI Router Distributes AI Tasks across Local Compute</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/linkedin-ai-multi-teacher/" title="How LinkedIn Trains AI Job Search 8x Faster with Multi-Teacher Distillation">How LinkedIn Trains AI Job Search 8x Faster with Multi-Teacher Distillation</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/openai-gpt6-astra/" title="OpenAI Releases GPT-6 Astra for Coding and Computer Use">OpenAI Releases GPT-6 Astra for Coding and Computer Use</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
<li class="devops">
|
||
<div class="box__header">
|
||
|
||
<a class="t_all_footer_more-boxes-header" href="/devops/">DevOps</a>
|
||
</div>
|
||
<div class="box__content">
|
||
<ul class="no-style box__list small">
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/terraform-aws-provider-6-62/" title="Terraform AWS Provider Continues Rapid Expansion as AWS Infrastructure Becomes More Complex">Terraform AWS Provider Continues Rapid Expansion as AWS Infrastructure Becomes More Complex</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/observability-ai-agents/" title="Session Traces and Cost Controls Help Diagnose AI Agent Failures">Session Traces and Cost Controls Help Diagnose AI Agent Failures</a></h5>
|
||
</li>
|
||
|
||
<li>
|
||
|
||
<h5><a class="t_all_footer_more-boxes-item" href="/news/2026/09/hashicorp-packer-verification/" title="HashiCorp Packer 1.16 Adds Native SLSA Provenance Generation and Verification for Machine Images">HashiCorp Packer 1.16 Adds Native SLSA Provenance Generation and Verification for Machine Images</a></h5>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
</div>
|
||
</section>
|
||
<section data-nosnippet class="container section section__newsletter">
|
||
<div class="columns container__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="newsletter" data-col="1/2"
|
||
|
||
|
||
|
||
id="infoq-nl"
|
||
|
||
|
||
|
||
|
||
>
|
||
<h2 class="heading">
|
||
<strong>The InfoQ</strong> Newsletter
|
||
</h2>
|
||
<p class="intro">A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers.
|
||
|
||
<a target="_blank" href="https://assets.infoq.com/newsletter/regular/en/newsletter_sample/newsletter_sample.html">View an example</a>
|
||
|
||
|
||
</p>
|
||
<ul class="newsletter__features">
|
||
<li>Get a quick overview of content published on a variety of innovator and early adopter technologies</li>
|
||
<li>Learn what you don’t know that you don’t know</li>
|
||
<li>Stay up to date with the latest information from the topics you are interested in</li>
|
||
</ul>
|
||
<div class="newsletter__subscribe">
|
||
<form class="form gdpr" name="footerNewsletterForm" id="footerNewsletterForm" action="#" onsubmit="footerNewsletter.saveSubscription(); return false;">
|
||
<div class="field newsletter__mail input__text input__no-label input__medium email">
|
||
<label for="email-newsletter-infoq" class="label field__label">Enter your e-mail address</label>
|
||
<input id="email-newsletter-infoq" name="footerNewsletterEmail" placeholder="Enter your e-mail address" class="input field__input" type="email"/>
|
||
<input type="text" name="emailH" id="input_email_h" aria-required="false" style="display:none !important" tabindex="-1" autocomplete="off"/>
|
||
<input type="hidden" id="fnt" name="fnt" value="MCYNu6eVBAYhlreF"/>
|
||
<input type="hidden" id="footerNewsletterType" name="footerNewsletterType" value="regular"/>
|
||
<input type="hidden" id="cmpi" name="cmpi" value="1"/>
|
||
</div>
|
||
<div class="hidden">
|
||
<span class="input__select field country">
|
||
<label for="input-simple-newsletter-country" class="label field__label">Select your country</label>
|
||
<select id="input-simple-newsletter-country" class="select field__input">
|
||
<option value="" class="select__option">Select a country</option>
|
||
</select>
|
||
<p class="input__message field__desc"></p>
|
||
</span>
|
||
<span class="input__checkbox field hidden">
|
||
<input type="checkbox" id="gdpr-consent-simple-nl">
|
||
<label for="gdpr-consent-simple-nl" class="label"><span>I consent to InfoQ.com handling my data as explained in this <a href="https://www.infoq.com/privacy-notice">Privacy Notice</a>.</span></label>
|
||
</span>
|
||
</div>
|
||
<input type="submit" role="button" value="Subscribe" class="button button__medium button__red" onclick="return footerNewsletter.validateEmail('Invalid email address');"/>
|
||
</form>
|
||
<p class="meta">
|
||
<a href="/privacy-notice/" target="_blank">We protect your privacy.</a>
|
||
</p>
|
||
|
||
<span class="success" style="display:none;" id="footerNewsletterMessage"></span>
|
||
</div>
|
||
<script type="text/javascript">
|
||
var footerNewsletter = new Newsletter('Enter your e-mail address',
|
||
'email-newsletter-infoq', 'footerNewsletterType','footerNewsletterMessage', 'fnt', 'input_email_h', 'input-simple-newsletter-country', 'cmpi','footer_except_homepage');
|
||
</script>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div data-col="1/2" data-bg="certification" class="event__container" style="padding-right: 20px;">
|
||
<a href="https://certification.qconferences.com/?utm_source=infoq&utm_medium=referral&utm_campaign=largefooterad_onlinecohorts26" target="_blank" class="qconplus__events-slider" style="">
|
||
<div>
|
||
<div class="logo-certification"></div>
|
||
</div>
|
||
<p class="intro" style="margin-bottom: 0;color: white !important;">
|
||
<b>InfoQ Online Certification Programs</b>
|
||
<br>For Senior Engineers, Architects, and Technical Leaders
|
||
</p>
|
||
<ul style="margin-bottom: 0;">
|
||
<li style="color: white !important;"><b>Architect</b> with Luca Mezzalira | September 14</li>
|
||
<li style="color: white !important;"><b>Engineering Leadership</b> with Michelle Brush | September 18</li>
|
||
<li style="color: white !important;"><b>AI-Assisted Engineering</b> with Zichuan Xiong & Premanand Chandrasekaran | September 18</li>
|
||
<li style="color: white !important;"><b>AI Security & Privacy Engineering</b> with Katharine Jarmul | October 14</li>
|
||
</ul>
|
||
<br>
|
||
<p class="intro" style="margin-bottom: 0;color: white !important;">As your role becomes more senior, the work changes. You're no longer just implementing decisions; you're shaping the systems, trade-offs, and technical direction other teams depend on.<br>These 5-week online programs give you a structured way to work through real decisions from your current role with senior peers from other companies.</p>
|
||
<strong class="button button__green cta__button">RESERVE YOUR PLACE</strong>
|
||
<small style="color: white;"><br>Live online. 4 hours a week, for 5 weeks.</small>
|
||
</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</section>
|
||
|
||
<section data-nosnippet class="section container footer__subfooter align__left">
|
||
<div class="container__inner columns">
|
||
<div data-col="1/4" class="columns footer__links-wrap">
|
||
<div class="footer__links">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<a href="/" class="nuxt-link-exact-active active" title="Home">Home</a>
|
||
|
||
|
||
<a href="/reginit.action" class="emphasis" title="Create account">Create account</a>
|
||
<button aria-label="Log In" class="login" data-ref="mainLogin">Log In</button>
|
||
|
||
|
||
<a rel="noreferrer noopener" href="http://qconferences.com/" target="_blank" title="QCon Conferences">QCon Conferences</a>
|
||
<a rel="noreferrer noopener" href="https://events.infoq.com/" target="_blank">Events</a>
|
||
|
||
<a href="/write-for-infoq/" title="Write for InfoQ">Write for InfoQ</a>
|
||
<a href="/infoq-editors/" title="InfoQ Editors">InfoQ Editors</a>
|
||
<a href="/about-infoq/" title="About InfoQ">About InfoQ</a>
|
||
<a href="https://c4media.com/" target="_blank" title="About C4Media">About C4Media</a>
|
||
|
||
<a rel="noreferrer noopener" href="https://get.infoq.com/infoq-mediakit/" title="Media Kit" target="_blank">
|
||
Media Kit
|
||
</a>
|
||
<a href="https://devmarketing.c4media.com/?utm_source=infoq" title="InfoQ Developer Marketing Blog" target="_blank">InfoQ Developer Marketing Blog</a>
|
||
|
||
<a rel="noreferrer noopener" href="https://c4media.com/diversity" title="Diversity" target="_blank">Diversity</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div data-col="1/4" class="events__list">
|
||
<h4 class="heading footer__heading">Events</h4>
|
||
<ul class="qcons__list no-style">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://certification.qconferences.com/architecture?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortarchitecture26" target="_blank">Online InfoQ Architect Certification</a>
|
||
</h5>
|
||
<span class="meta date">September 14, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://certification.qconferences.com/ai-assisted-engineering?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortaiassistedengineering26" target="_blank">Online InfoQ AI-Assisted Engineering Certification</a>
|
||
</h5>
|
||
<span class="meta date">September 18, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://certification.qconferences.com/ai-security-privacy?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortaisecurity26" target="_blank">Online InfoQ AI Security & Privacy Engineering Program</a>
|
||
</h5>
|
||
<span class="meta date">October 14, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qsf26" target="_blank">QCon San Francisco</a>
|
||
</h5>
|
||
<span class="meta date">November 16-20, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://newyork.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qainy26" target="_blank">QCon AI New York</a>
|
||
</h5>
|
||
<span class="meta date">December 15-16, 2026</span>
|
||
</div>
|
||
</li>
|
||
<li><span class="icon event__type conference"></span>
|
||
<div class="qcon__detail">
|
||
<h5 class="heading">
|
||
<a rel="noreferrer noopener" href="https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qlondon27" target="_blank">QCon London 2027</a>
|
||
</h5>
|
||
<span class="meta date">April 13-16, 2027</span>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div data-col="1/4" class="footer__social-wrap">
|
||
<h4 class="heading text-left footer__heading">Follow us on </h4>
|
||
<div class="social__links columns social__links__row">
|
||
|
||
|
||
<a href="https://www.youtube.com/infoq"><span class="icon icon__large icon__social icon__youtube"></span><div><span class="social__count">Youtube</span><span class="social__followers">232K Followers</span></div></a>
|
||
<a href="http://www.linkedin.com/company/infoq"><span class="icon icon__large icon__social icon__linkedin"></span><div><span class="social__count">Linkedin</span><span class="social__followers">26K Followers</span></div></a>
|
||
<a rel="noreferrer noopener" href="https://www.instagram.com/infoqdotcom/" target="_blank"><span class="icon icon__large icon__social icon__instagram"></span><div><span class="social__count">Instagram</span><span class="social__followers">New</span></div></a>
|
||
<a href="#" id="footerNewsletterRssLink"><span class="icon icon__large icon__social icon__rss"></span><div><span class="social__count">RSS</span><span class="social__followers">19K Readers</span></div></a>
|
||
<a rel="noreferrer noopener" href="http://twitter.com/infoq" target="_blank"><span class="icon icon__large icon__social icon__twitter"></span><div><span class="social__count">X</span><span class="social__followers">57.1k Followers</span></div></a>
|
||
<a rel="noreferrer noopener" href="https://www.facebook.com/InfoQ-75911537320" target="_blank"><span class="icon icon__large icon__social icon__fb"></span><div><span class="social__count">Facebook</span><span class="social__followers">21K Likes</span></div></a>
|
||
<a rel="noreferrer noopener" href="https://bsky.app/profile/infoq.com" target="_blank"><span class="icon icon__large icon__social icon__bluesky"></span><div><span class="social__count">Bluesky</span><span class="social__followers">New</span></div></a>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div data-col="1/4" class="footer__stayin-wrap">
|
||
<h4 class="heading text-left footer__heading">Stay in the know</h4>
|
||
<div class="stayIn_panel_container">
|
||
<a href="/podcasts/" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>The InfoQ Podcast</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7IndlYnAiOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==" loading="lazy" width="65px" height="64px" alt="The InfoQ Podcast Logo - Stay in the know"></picture></a>
|
||
<a href="/podcasts/#engineering_culture" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>Engineering Culture Podcast</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsid2VicCI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19" loading="lazy" width="65px" height="64px" alt="Engineering Culture Podcast Logo - Stay in the knoww"></picture></a>
|
||
<a href="/software-architects-newsletter/" class="stayIn_panel" target="_blank" rel="noreferrer noopener"><span>The Software Architects' Newsletter</span><picture><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJ3ZWJwIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><source srcset="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" type="image/webp"><img src="https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=" loading="lazy" width="65px" height="64px" alt="The Software Architects' Newsletter Logo - Stay in the know"></picture></a>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</section>
|
||
<section data-nosnippet class="container footer__bottom section white align__left">
|
||
<div class="container__inner columns">
|
||
<div data-col="2/3" class="column">
|
||
<div class="footer__contact contact columns">
|
||
|
||
|
||
<span data-col="1/6">
|
||
General Feedback
|
||
<a href="mailto:feedback@infoq.com">feedback@infoq.com</a>
|
||
</span>
|
||
<span data-col="1/6">
|
||
Advertising
|
||
<a href="mailto:sales@infoq.com">sales@infoq.com</a>
|
||
</span>
|
||
<span data-col="1/6">
|
||
Editorial
|
||
<a href="mailto:editors@infoq.com">editors@infoq.com</a>
|
||
</span>
|
||
<span data-col="1/6">
|
||
Marketing
|
||
<a href="mailto:marketing@infoq.com">marketing@infoq.com</a>
|
||
</span>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="column" data-col="1/3">
|
||
<p class="footer__more">
|
||
InfoQ.com and all content copyright © 2006-2026 C4Media Inc.<br/>
|
||
|
||
<a href="/privacy-notice" target="_blank">Privacy Notice</a>, <a href="/terms-and-conditions " target="_blank">Terms And Conditions</a>, <a href="/cookie-policy " target="_blank">Cookie Policy</a>
|
||
|
||
|
||
</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
</footer>
|
||
<!-- ####### SITE END ######### -->
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<div class="intbt">
|
||
<a href="/int/bt/" title="bt">BT</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
$.when(humanDetectionAsync()).then(
|
||
function(status) {
|
||
$.getScript("/scripts/__hd.ifq?hdt=MCYNu6eVBAYhlreF&ha=" + status);
|
||
}
|
||
);
|
||
</script>
|
||
<script type="text/javascript">
|
||
|
||
var pageFullyLoaded = false;
|
||
// this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...)
|
||
infoq.event.on('loaded', function(e) {
|
||
pageFullyLoaded = true;
|
||
});
|
||
|
||
infoq.event.on('pageWidthChanged', function(e) {
|
||
// re-execute tracking vcr impressions when this event happens (it only happens when elements are added/removed from page)
|
||
// doTrackVcrImpressions takes into account the data-trk-impr="true" if =false the element was already tracked.
|
||
// this is needed when switching from mobile to desktop or when layout on mobile changes and desktop version is displayed. New elements become visible.
|
||
Tracker.safeExec(Tracker.doTrackVcrImpressions);
|
||
|
||
// these 2 need to be called also because we might be on a content page. In case we are not nothing happens
|
||
VCR.doTrackingCustomRightbar();
|
||
VCR.doTrackingCustomRightbarForPresentations()
|
||
});
|
||
|
||
//check to see if error page
|
||
if(window.device !== undefined) {
|
||
var intervalImpressions = setInterval(function() {
|
||
var shouldTrack = false;
|
||
|
||
// no vcr widgets on index pages
|
||
if(window.isIndexPage) {
|
||
if(window.sponsoredPodcastDone === undefined || window.sponsoredPodcastDone) {
|
||
shouldTrack = true;
|
||
}
|
||
} else
|
||
//on homepage, bottom widget + 2 native widgets
|
||
if(InfoQConstants.pageType == "HOMEPAGE" && window.finishedVcrOptional1 && window.finishedRelatedVcr && (window.finishedVcrOptional2 === undefined || window.finishedVcrOptional2)) {
|
||
shouldTrack = true;
|
||
} else
|
||
// rightbar widgets + native widgets + content vcr widgets
|
||
if((InfoQConstants.pageType == "NEWS_PAGE" || InfoQConstants.pageType == "ARTICLE_PAGE")
|
||
&& ((window.finishedRightbarVcr || window.finishedRightbarVcr === undefined) && window.contentVcrFinished)) {
|
||
shouldTrack = true;
|
||
} else if ((InfoQConstants.pageType == "PRESENTATION_PAGE")
|
||
&& (window.contentVcrFinished || window.contentVcrFinished === undefined)
|
||
&& (window.finishedRightbarVcr || window.finishedRightbarVcr === undefined)
|
||
) {
|
||
shouldTrack = true;
|
||
} else
|
||
// native widgets + content widgets
|
||
if(window.contentVcrFinished && (window.finishedVcrOptional1 || window.finishedVcrOptional1 === undefined)
|
||
&& (window.finishedVcrOptional2 || window.finishedVcrOptional2 === undefined)) {
|
||
shouldTrack = true;
|
||
}
|
||
|
||
// we start tracking only after the page is fully loaded, frontend signals that they finished everything related to page display.
|
||
if(shouldTrack && pageFullyLoaded) {
|
||
clearInterval(intervalImpressions);
|
||
Tracker.safeExec(Tracker.doTrackVcrImpressions);
|
||
|
||
// start tracking viewable impressions also only after everything is ready
|
||
function callbackRouter(entries, observer) {
|
||
var targets = new Array();
|
||
entries.forEach(function (entry) {
|
||
var target = entry.target;
|
||
if (target.dataset.trkView === 'false') return;
|
||
if (entry.intersectionRatio > 0) {
|
||
target.dataset.trkView = false;
|
||
targets.push(target);
|
||
}
|
||
});
|
||
Tracker.doTrackViewableImpressions(targets);
|
||
}
|
||
var elementsForTrackingViewableImpressions = document.querySelectorAll('[data-trk-view="true"]')
|
||
var observer = new IntersectionObserver(callbackRouter, { threshold: 0.3 });
|
||
elementsForTrackingViewableImpressions.forEach(observer.observe.bind(observer));
|
||
}
|
||
|
||
}, 500);
|
||
}
|
||
$(document).ready(function () {
|
||
// desktop notifications widget
|
||
Tracker.encodeNotificationLinks($(".f_notificationWidget"));
|
||
// mobile notifications widget
|
||
Tracker.encodeNotificationLinks($(".h_notifications"));
|
||
// desktop notifications page
|
||
Tracker.encodeNotificationLinks($(".notification-page"));
|
||
// mobile notifications page
|
||
Tracker.encodeNotificationLinks($(".notifications_page"));
|
||
});
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript">
|
||
if(window.location.hash){
|
||
var hash = window.location.hash.substring(1);
|
||
if(hash == 'subscribe'){
|
||
$('html,body').animate({scrollTop: $('.ftxt3 > .newsletter').offset().top}, 'slow');
|
||
}
|
||
}
|
||
</script>
|
||
<script type="text/javascript">
|
||
var newsletterSubscriptionURL ='/newsletter/subscribe.action';
|
||
DynamicLinks.updateRssLinks('XnLuCjIf6z9BHCGZ6Nd4R76O32258ENr');
|
||
|
||
ContentSummary.setSelectedTab('en');
|
||
//when user enters the main content area show default topics in the topics bar
|
||
$("#content-wrapper").mouseenter(function() {
|
||
showDefaultTopics();
|
||
});
|
||
|
||
|
||
Bookmarks.contentTitle = "More More More! Why the Most Resilient Companies Want More Incidents";
|
||
Bookmarks.apiUrl = '/widgets/bookmark.action';
|
||
Bookmarks.isContentBookmarked = "false";
|
||
</script>
|
||
<script type="text/javascript">
|
||
var $buoop = {vs:{i:6,f:1,o:10.1,s:1}}
|
||
$buoop.ol = window.onload;
|
||
$(document).ready(function() {
|
||
try {if ($buoop.ol) $buoop.ol();}catch (e) {}
|
||
var e = document.createElement("script");
|
||
e.setAttribute("type", "text/javascript");
|
||
e.setAttribute("src", "https://cdn.infoq.com/statics_s1_20260910111632/scripts/lib/browser-update-org/update.js");
|
||
document.body.appendChild(e);
|
||
});
|
||
</script>
|
||
|
||
|
||
|
||
|
||
<script>
|
||
!function(f,b,e,v,n,t,s)
|
||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||
s.parentNode.insertBefore(t,s)}(window,document,'script',
|
||
'https://connect.facebook.net/en_US/fbevents.js');
|
||
fbq('init', '842388869148196');
|
||
fbq('track', 'PageView');
|
||
</script>
|
||
<noscript>
|
||
<img height="1" width="1" src="https://www.facebook.com/tr?id=842388869148196&ev=PageView&noscript=1"/>
|
||
</noscript>
|
||
|
||
|
||
|
||
<script type='text/javascript'>
|
||
try {
|
||
mixpanel.track('page viewed', {
|
||
'page name' : document.title,
|
||
'url' : window.location.pathname
|
||
});
|
||
}
|
||
catch(err) {
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|
||
<!-- s1 -->
|