SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
@moegyver
Keep it Simple, Stupid!
Hi my name is Moe. I work for Init, small consulting company in Stockholm. I am here to speak about a small personal project i have been working on and the importance
of keeping it simple and how…
@moegyverPast-me
…this goofball did not. Which is something that had happened in other projects I have been involved in. I realised that teams and organisations sometimes react the
same way as I did. So what was I trying to do?
@moegyverClickbait works, right?
https://random.confusing.io/
Build a new blog. Simple enough. A great title, some obvious click-bait and off you go! Well…

Now I have done this before so I didn’t fall for the obvious trap:
@moegyverThe unholy trinity of web
Lesson 1: Learn from past mistakes
The unholy trinity of web. Building a simple website with WordPress is a bit like killing a mosquito with a sledge hammer. It can be done but it is hard work and there will
be collateral damage.
@moegyverDevelopers choosing a new platform
Lesson 2: Don’t be afraid to make new mistakes
So I picked node and put it in AWS. A terrible mistake. It was hard to maintain. Remember, all I wanted was a simple website but I got this:
@moegyver
Now what?
Project the day before launch date
The tower of Babel: Big, expensive, complicated and never done. So how did I deal with it? I went through the Five Stages of Grief. Let’s go through the stages one by
one:
@moegyver
Stage 1: Denial
Project manager before launch
Stage 1: Denial!

Denial is not a big deal yet and has few long-term implications. You are still happily building your tower. But the clock is ticking…
@moegyvertick-tock, tick-tock
Time costs money. After a while you get frustrated with the lack of progress.

You move on to stage 2:
@moegyver
Stage 2: Anger
Looking at randomly failing
Jenkins tasks
Anger! This is where it starts to hurt. In this stage I deleted drafts and killed the blog several times by accident. It is not just the project that you hurt though:
@moegyverStakeholder meeting for failing project
You hurt your team and your whole organisation. You may start blaming each other for not getting anywhere and your best practices go out the door. Which brings us
right to the next stage:
@moegyver
Stage 3: Bargaining
Rationalising your architecture
Bargaining! After the pie-throwing dies down people say “It’s not as bad as it looks”, right? This is a foolish mistake to make because you still have a monster on your
hand.
@moegyverChecking nodeJS dependencies
Changing your monster is complex and tedious. Complicated stuff breaks easily.
@moegyverOn pager duty
Spectacularly so sometimes! Complicated systems can cause all kinds of down-time and being on pager duty for a monster application is a terrible ordeal. Let’s look at
the cost side:
@moegyverPaying the AWS bill
You keep spending. Operational costs are after all at least half of your total costs. I my case I tried to rationalise that 20 $/month wasn’t too bad for a simple website
without any visitors. Just terrible. But it gets worse:
@moegyver
Stage 4: Depression
grep -r FIXME | wc -l
Depression! Your team starts underachieving and dreading changes. I stopped working on my blog completely and felt bad about it.

There is another thing that happens at this stage:
@moegyverDeveloper leaving for new gig
People start to leave - There are lots of fun jobs and projects around so why stick with this? I started working on other stuff (https://confusing.pw/) and only returned to
my blog after learning lesson 3:
@moegyver
Lesson 3: Don’t hesitate to change direction
early and radically
Going serverless
Changing direction radically can be a good thing! The earlier you do that the more trouble you avoid! For me and my blog it meant to start from scratch. I learned lesson
4:
@moegyverMinimum Viable Product
Lesson 4: Define your needs, not your wants
Define your needs, not your wants. I needed a static website not a playground for node. So I just put static HTML files and in an S3 bucket. 10 min of work, no
maintenance needed. Which finally brought me to stage 5:
@moegyver
Stage 5: Acceptance
Contemplating your new architecture
I accepted that the first iterations were crap. I started writing posts again, I updated the layout and stopped worrying about maintenance. I was happy and it was a huge
load of my mind!
@moegyverShowing the world your blog
Bonus lesson 1: You need a product
There still is a slight catch though: There are still two posts and guess how many visitors I have. I have some drafts that are pretty close though, so any decade now there
will be content.
@moegyver
Shoutout to classic programmer paintings
(@progpaintings) for the inspiration!
All background pictures are public domain (I’m
pretty sure at least) or taken by the author
(which are licensed under CC BY-SA 4.0).
The logos for PHP, MySQL, Wordpress and nodeJS
are © by the respective copyright holders and
their usage in these slides is believed to be
covered by fair use.
Bonus lesson 2: Copyright is complicated
I hate complicated copyright laws! I’m pretty sure all paintings are public domain but please don’t sue me in case I missed one!

Thank you for having me!
Keep it simple, stupid! w/ speaker notes

Contenu connexe

Tendances

From Concept to Completion: Tips for Designing Great Content
From Concept to Completion: Tips for Designing Great ContentFrom Concept to Completion: Tips for Designing Great Content
From Concept to Completion: Tips for Designing Great ContentVicke Cheung
 
Evaluation Question 6
Evaluation Question 6Evaluation Question 6
Evaluation Question 6Shortarse
 
Technology evaluation 6
Technology evaluation 6Technology evaluation 6
Technology evaluation 6sophiewagstaff
 
How to Make WordPress Your Friend
How to Make WordPress Your FriendHow to Make WordPress Your Friend
How to Make WordPress Your Friendkerchmcc
 
No more tears from project nightmares
No more tears from  project nightmaresNo more tears from  project nightmares
No more tears from project nightmaresAman Sharma
 
Did i do the right thing?
Did i do the right thing?Did i do the right thing?
Did i do the right thing?Fajri Abdillah
 
Question 6
Question 6Question 6
Question 6minkyli
 
10-ish Tips to Make WordPress Your Friend
10-ish Tips to Make WordPress Your Friend10-ish Tips to Make WordPress Your Friend
10-ish Tips to Make WordPress Your FriendKerch McConlogue
 

Tendances (14)

From Concept to Completion: Tips for Designing Great Content
From Concept to Completion: Tips for Designing Great ContentFrom Concept to Completion: Tips for Designing Great Content
From Concept to Completion: Tips for Designing Great Content
 
Wordpress hacks
Wordpress hacksWordpress hacks
Wordpress hacks
 
Evaluation Question 6
Evaluation Question 6Evaluation Question 6
Evaluation Question 6
 
Technology evaluation 6
Technology evaluation 6Technology evaluation 6
Technology evaluation 6
 
How to Make WordPress Your Friend
How to Make WordPress Your FriendHow to Make WordPress Your Friend
How to Make WordPress Your Friend
 
MailXpert API bundle
MailXpert API bundleMailXpert API bundle
MailXpert API bundle
 
How to manage your web agency as a client
How to manage your web agency as a clientHow to manage your web agency as a client
How to manage your web agency as a client
 
No more tears from project nightmares
No more tears from  project nightmaresNo more tears from  project nightmares
No more tears from project nightmares
 
Presentation7
Presentation7Presentation7
Presentation7
 
Did i do the right thing?
Did i do the right thing?Did i do the right thing?
Did i do the right thing?
 
Question 6
Question 6Question 6
Question 6
 
Presentation creative
Presentation creativePresentation creative
Presentation creative
 
AgileTD Scandia: Mob Testing
AgileTD Scandia: Mob TestingAgileTD Scandia: Mob Testing
AgileTD Scandia: Mob Testing
 
10-ish Tips to Make WordPress Your Friend
10-ish Tips to Make WordPress Your Friend10-ish Tips to Make WordPress Your Friend
10-ish Tips to Make WordPress Your Friend
 

En vedette

Overview of Social Media for Church Youth Workers
Overview of Social Media for Church Youth WorkersOverview of Social Media for Church Youth Workers
Overview of Social Media for Church Youth WorkersSophia Kristina
 
PUZZLES for Interviews
PUZZLES for InterviewsPUZZLES for Interviews
PUZZLES for Interviewsambika93
 
130 youth ministry tips and ideas
130 youth ministry tips and ideas130 youth ministry tips and ideas
130 youth ministry tips and ideasOdette Irimiea
 
Lateral Thinking
Lateral ThinkingLateral Thinking
Lateral Thinkingguest27dbce
 
15 lateral thinking puzzles
15 lateral thinking puzzles15 lateral thinking puzzles
15 lateral thinking puzzlesMADAR VALLI.P
 
Visual Thinking Games
Visual Thinking GamesVisual Thinking Games
Visual Thinking Gamesscottekim
 
10 Ice Breaker Games - How to get to know your office
10 Ice Breaker Games - How to get to know your office10 Ice Breaker Games - How to get to know your office
10 Ice Breaker Games - How to get to know your officeElodie A.
 
10 Creative Thinking Puzzles
10 Creative Thinking Puzzles10 Creative Thinking Puzzles
10 Creative Thinking PuzzlesOH TEIK BIN
 

En vedette (10)

Overview of Social Media for Church Youth Workers
Overview of Social Media for Church Youth WorkersOverview of Social Media for Church Youth Workers
Overview of Social Media for Church Youth Workers
 
Keep it Simple Stupid
Keep it Simple StupidKeep it Simple Stupid
Keep it Simple Stupid
 
PUZZLES for Interviews
PUZZLES for InterviewsPUZZLES for Interviews
PUZZLES for Interviews
 
130 youth ministry tips and ideas
130 youth ministry tips and ideas130 youth ministry tips and ideas
130 youth ministry tips and ideas
 
Lateral Thinking Puzzles
Lateral Thinking PuzzlesLateral Thinking Puzzles
Lateral Thinking Puzzles
 
Lateral Thinking
Lateral ThinkingLateral Thinking
Lateral Thinking
 
15 lateral thinking puzzles
15 lateral thinking puzzles15 lateral thinking puzzles
15 lateral thinking puzzles
 
Visual Thinking Games
Visual Thinking GamesVisual Thinking Games
Visual Thinking Games
 
10 Ice Breaker Games - How to get to know your office
10 Ice Breaker Games - How to get to know your office10 Ice Breaker Games - How to get to know your office
10 Ice Breaker Games - How to get to know your office
 
10 Creative Thinking Puzzles
10 Creative Thinking Puzzles10 Creative Thinking Puzzles
10 Creative Thinking Puzzles
 

Similaire à Keep it simple, stupid! w/ speaker notes

Build your website before you install wordpress.
Build your website before you install wordpress.Build your website before you install wordpress.
Build your website before you install wordpress.Russell Aaron
 
Behavioural.docx
Behavioural.docxBehavioural.docx
Behavioural.docxAccount36
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and TechnologyEnplore AB
 
Framer for the win - Using Framer prototypes for your app project. (For Melbo...
Framer for the win - Using Framer prototypes for your app project. (For Melbo...Framer for the win - Using Framer prototypes for your app project. (For Melbo...
Framer for the win - Using Framer prototypes for your app project. (For Melbo...Jinju Jang
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# ProgrammerLearnItFirst.com
 
Networked media week1
Networked media week1Networked media week1
Networked media week1Jenny Weight
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectCharlotte Breton Schreiner
 
500-Level Guide to Career Internals
500-Level Guide to Career Internals500-Level Guide to Career Internals
500-Level Guide to Career InternalsBrent Ozar
 
Hack Schooling Presentation for TIE Colorado June 2013
Hack Schooling Presentation for TIE Colorado June 2013Hack Schooling Presentation for TIE Colorado June 2013
Hack Schooling Presentation for TIE Colorado June 2013Michelle Cordy
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module Phase2
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Ben Hall
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react jsMunirMahmud3
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)Julien SIMON
 
CTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoCTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoFrance Digitale
 
How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...Sammie Light
 
Did i do the right thing show
Did i do the right thing showDid i do the right thing show
Did i do the right thing showFajri Abdillah
 

Similaire à Keep it simple, stupid! w/ speaker notes (20)

Build your website before you install wordpress.
Build your website before you install wordpress.Build your website before you install wordpress.
Build your website before you install wordpress.
 
Behavioural.docx
Behavioural.docxBehavioural.docx
Behavioural.docx
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 
Framer for the win - Using Framer prototypes for your app project. (For Melbo...
Framer for the win - Using Framer prototypes for your app project. (For Melbo...Framer for the win - Using Framer prototypes for your app project. (For Melbo...
Framer for the win - Using Framer prototypes for your app project. (For Melbo...
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
Networked media week1
Networked media week1Networked media week1
Networked media week1
 
Wireframing
WireframingWireframing
Wireframing
 
UX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your projectUX 101: User Research methods to kickstart your project
UX 101: User Research methods to kickstart your project
 
500-Level Guide to Career Internals
500-Level Guide to Career Internals500-Level Guide to Career Internals
500-Level Guide to Career Internals
 
Hack Schooling Presentation for TIE Colorado June 2013
Hack Schooling Presentation for TIE Colorado June 2013Hack Schooling Presentation for TIE Colorado June 2013
Hack Schooling Presentation for TIE Colorado June 2013
 
How, When, and Why to Patch a Module
How, When, and Why to Patch a Module How, When, and Why to Patch a Module
How, When, and Why to Patch a Module
 
Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)Building Startups and Minimum Viable Products (NDC2013)
Building Startups and Minimum Viable Products (NDC2013)
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
 
Tensorflow go
Tensorflow goTensorflow go
Tensorflow go
 
WRA 210 February 17, 2011
WRA 210 February 17, 2011WRA 210 February 17, 2011
WRA 210 February 17, 2011
 
Life in the tech trenches (2015)
Life in the tech trenches (2015)Life in the tech trenches (2015)
Life in the tech trenches (2015)
 
CTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, ViadeoCTO Crunch avec Julien Simon, Viadeo
CTO Crunch avec Julien Simon, Viadeo
 
How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...How did you use media technologies in the construction and research, planning...
How did you use media technologies in the construction and research, planning...
 
Did i do the right thing show
Did i do the right thing showDid i do the right thing show
Did i do the right thing show
 

Dernier

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Keep it simple, stupid! w/ speaker notes

  • 1. @moegyver Keep it Simple, Stupid! Hi my name is Moe. I work for Init, small consulting company in Stockholm. I am here to speak about a small personal project i have been working on and the importance of keeping it simple and how…
  • 2. @moegyverPast-me …this goofball did not. Which is something that had happened in other projects I have been involved in. I realised that teams and organisations sometimes react the same way as I did. So what was I trying to do?
  • 3. @moegyverClickbait works, right? https://random.confusing.io/ Build a new blog. Simple enough. A great title, some obvious click-bait and off you go! Well… Now I have done this before so I didn’t fall for the obvious trap:
  • 4. @moegyverThe unholy trinity of web Lesson 1: Learn from past mistakes The unholy trinity of web. Building a simple website with WordPress is a bit like killing a mosquito with a sledge hammer. It can be done but it is hard work and there will be collateral damage.
  • 5. @moegyverDevelopers choosing a new platform Lesson 2: Don’t be afraid to make new mistakes So I picked node and put it in AWS. A terrible mistake. It was hard to maintain. Remember, all I wanted was a simple website but I got this:
  • 6. @moegyver Now what? Project the day before launch date The tower of Babel: Big, expensive, complicated and never done. So how did I deal with it? I went through the Five Stages of Grief. Let’s go through the stages one by one:
  • 7. @moegyver Stage 1: Denial Project manager before launch Stage 1: Denial! Denial is not a big deal yet and has few long-term implications. You are still happily building your tower. But the clock is ticking…
  • 8. @moegyvertick-tock, tick-tock Time costs money. After a while you get frustrated with the lack of progress. You move on to stage 2:
  • 9. @moegyver Stage 2: Anger Looking at randomly failing Jenkins tasks Anger! This is where it starts to hurt. In this stage I deleted drafts and killed the blog several times by accident. It is not just the project that you hurt though:
  • 10. @moegyverStakeholder meeting for failing project You hurt your team and your whole organisation. You may start blaming each other for not getting anywhere and your best practices go out the door. Which brings us right to the next stage:
  • 11. @moegyver Stage 3: Bargaining Rationalising your architecture Bargaining! After the pie-throwing dies down people say “It’s not as bad as it looks”, right? This is a foolish mistake to make because you still have a monster on your hand.
  • 12. @moegyverChecking nodeJS dependencies Changing your monster is complex and tedious. Complicated stuff breaks easily.
  • 13. @moegyverOn pager duty Spectacularly so sometimes! Complicated systems can cause all kinds of down-time and being on pager duty for a monster application is a terrible ordeal. Let’s look at the cost side:
  • 14. @moegyverPaying the AWS bill You keep spending. Operational costs are after all at least half of your total costs. I my case I tried to rationalise that 20 $/month wasn’t too bad for a simple website without any visitors. Just terrible. But it gets worse:
  • 15. @moegyver Stage 4: Depression grep -r FIXME | wc -l Depression! Your team starts underachieving and dreading changes. I stopped working on my blog completely and felt bad about it. There is another thing that happens at this stage:
  • 16. @moegyverDeveloper leaving for new gig People start to leave - There are lots of fun jobs and projects around so why stick with this? I started working on other stuff (https://confusing.pw/) and only returned to my blog after learning lesson 3:
  • 17. @moegyver Lesson 3: Don’t hesitate to change direction early and radically Going serverless Changing direction radically can be a good thing! The earlier you do that the more trouble you avoid! For me and my blog it meant to start from scratch. I learned lesson 4:
  • 18. @moegyverMinimum Viable Product Lesson 4: Define your needs, not your wants Define your needs, not your wants. I needed a static website not a playground for node. So I just put static HTML files and in an S3 bucket. 10 min of work, no maintenance needed. Which finally brought me to stage 5:
  • 19. @moegyver Stage 5: Acceptance Contemplating your new architecture I accepted that the first iterations were crap. I started writing posts again, I updated the layout and stopped worrying about maintenance. I was happy and it was a huge load of my mind!
  • 20. @moegyverShowing the world your blog Bonus lesson 1: You need a product There still is a slight catch though: There are still two posts and guess how many visitors I have. I have some drafts that are pretty close though, so any decade now there will be content.
  • 21. @moegyver Shoutout to classic programmer paintings (@progpaintings) for the inspiration! All background pictures are public domain (I’m pretty sure at least) or taken by the author (which are licensed under CC BY-SA 4.0). The logos for PHP, MySQL, Wordpress and nodeJS are © by the respective copyright holders and their usage in these slides is believed to be covered by fair use. Bonus lesson 2: Copyright is complicated I hate complicated copyright laws! I’m pretty sure all paintings are public domain but please don’t sue me in case I missed one! Thank you for having me!