SlideShare a Scribd company logo
Software 
Engineering 101 
The basics you should hear about at least once
Engineering is all 
about 
constraints
Know your context
Know your resources 
How can you do this?
Know your goals 
What are you doing?
Know your reason 
Why are you doing this?
There is always 
“it depends” 
argument
Listen and ask to get the whole context 
Be proactive to find those limitations
Be passionate
Technologies 
do 
NOT 
matter
“ Is Ruby better than Python? ” 
No, it does not really matter
“But I like Python more!” 
Yeah, that’s a good argument
Good software is done 
by good software engineers
Project success has 
NO correlation 
with technologies used
Pick any technology pragmatically
Pragmatic arguments 
logically fit 
your context
Pragmatic: “Team is proficient with it“
Pragmatic: “People are excited by the 
technology”
Pragmatic: “Easy to find new people”
Pragmatic: “Helps do things right”
Hardest challenges
1. How do you communicate? 
Problems 
Context 
Focus
2. How do we manage complexity? 
Divide and Conquer 
Structure 
Conventions
3. How do I name this thing? 
Never trust names by default 
Look in the source code 
Read more
4. How to evolve this system? 
Manage complexity 
Communicate 
Measure 
React
Be pragmatic 
not religious 
about how you solve problems 
There are no silver bullets
Code is for humans!
It’s all about people
Use 
simple 
technologies 
Not easy 
! 
See this: 
http://www.infoq.com/presentations/Simple-Made-Easy
Always think about maintenance 
More time spent reading and debugging 
then actual writing code
Readability and simplicity 
is always better 
than no duplications 
and following best practices
Always code as if the guy who ends up 
maintaining your code will be 
a violent psychopath 
who knows where you live. 
! 
Code for readability. 
–John Woods
Know 
what 
you are doing
Never be lazy about 
knowing 
what's going on under the hood
Ask 
This is not really scary
Tell
Show
Keep on learning 
Be a sponge for information
Experiments
Always write code 
Do not only learn and analyse 
Get your hands dirty
Try new things
Failure is 
the only 
source of experience 
Success is a side-effect
Experience is 
the only 
source of intuition
Think 
Act 
Measure 
Decide 
Recipe may vary 
! 
See this: 
http://en.wikipedia.org/wiki/Cynefin
Be responsible
Good practices
Routine automation
OSS 
Open new issues 
Make contributions 
Do not let bugs live
Hotkeys 
Snippets 
Live templates
Pet projects
Give it 
5 minutes 
https://signalvnoise.com/posts/3124-give-it-five-minutes
Know your tools
Git 
rebase, add patch, bisect
Gitflow
IDE + Text editor 
Vim, Sublime, Nano
CI / CD / QA / Operations 
Know what others do 
and how you can help
Guerilla 
Refactoring
The only one 
working 
refactoring method
Refactoring 
has no 
direct business value
Refactoring 
should not 
be a part of backlog
Add time 
for refactoring 
in your estimates
Boy Scout rule: 
“Always leave the code behind 
in a better state 
than you found it” 
Uncle Bob
Task estimation
Include all phases in estimates
30% testing 
30% implementation 
10% logging and metrics 
30% refactoring
30% testing 
30% implementation 
10% logging and metrics 
30% refactoring 
This is what you REALLY can estimate
Real estimate = 3 * implementation estimate 
Multiplication Factor will vary based on experience
Project estimation
Create epics and stories
Divide stories in tasks
Make optimistic task estimation
Include all risks 
Illness 
Fuck ups 
Bus factors 
Holidays 
Design mistakes
Optimistic path with 
estimated risks included
Realistic path
Realistic path 
= 
3.14 * Optimistic path + 2 weeks
2 weeks is an 
emergency interval 
The time needed for senior engineer 
to make something working 
if everything else failed
Productivity
Productivity techniques 
Pomodoro 
GTD
White noise 
Scientifically proved 
http://focusatwill.com/
ABC 
Always Be Coding 
https://medium.com/@davidbyttow/abc-always-be-coding-d5f8051afce2
Keep mind sharp
Eat well
Sleep well
Exercise well
Make breaks
Meditate
Intentionally left blank
The Ultimate Goal
It’s not about coding
It’s not about design
It’s not about joy
It’s not about making money
It’s all about value 
All other things included!
When your coding skills will be smooth, 
you will start thinking about the value 
automatically
Takeaways 
http://martinfowler.com/bliki/OpportunisticRefactoring.html 
http://www.quora.com/Computer-Programming/What-insights-do-expert-hackers-have-for- 
novice-programmers 
http://www.quora.com/Computer-Programming/What-are-some-essays-all-programmers- 
should-read 
http://michaelochurch.wordpress.com/2012/01/26/the-trajectory-of-a-software-engineer- 
and-where-it-all-goes-wrong/ 
http://pomodorotechnique.com/ 
http://www.infoq.com/presentations/Simple-Made-Easy 
http://vlsicad.ucsd.edu/Research/Advice/star_engineer.pdf 
http://www.targetprocess.com/articles/speed-in-software-development.html 
http://simpleprogrammer.com/2014/02/17/secret-ridiculous-productivity-im-using-now/ 
https://signalvnoise.com/posts/3124-give-it-five-minutes 
https://medium.com/@davidbyttow/abc-always-be-coding-d5f8051afce2
Brought to you by Alex 
mr_mig_by

More Related Content

PPTX
SOC and SIEM.pptx
PPTX
AI-900 Slides.pptx
PPTX
IT Security DOs and DON'Ts
PPTX
Large Language Models | How Large Language Models Work? | Introduction to LLM...
PPTX
SOC: Use cases and are we asking the right questions?
PDF
IBM Blockchain Platform - Architectural Good Practices v1.0
PPTX
Blockchain types architecture
PDF
Blockchain, cryptography, and consensus
 
SOC and SIEM.pptx
AI-900 Slides.pptx
IT Security DOs and DON'Ts
Large Language Models | How Large Language Models Work? | Introduction to LLM...
SOC: Use cases and are we asking the right questions?
IBM Blockchain Platform - Architectural Good Practices v1.0
Blockchain types architecture
Blockchain, cryptography, and consensus
 

What's hot (20)

PPTX
Cryptography
PPTX
The Future of AI is Generative not Discriminative 5/26/2021
PDF
Generative AI: Past, Present, and Future – A Practitioner's Perspective
PPTX
Cybersecurity 1. intro to cybersecurity
PPT
Software security
PDF
Cyber Security - Unit - 2 - Network Defense tools Firewalls and Packet Filters
PPTX
Artificial Intelligence and Cybersecurity
PDF
From SIEM to SOC: Crossing the Cybersecurity Chasm
PPTX
Introduction to PCI DSS
PDF
Web Application Security 101
PDF
Unlocking the Power of Generative AI An Executive's Guide.pdf
PDF
AI for security or security for AI - Sergey Gordeychik
PDF
CNS - Unit - 10 - Web Security Threats and Approaches
PPTX
Top 5 Cybersecurity Trends in 2021 and Beyond
PPTX
IT governance and Information System Security
PPTX
IoT security
PDF
Security architecture
PPTX
Security operation center (SOC)
PDF
Cybersecurity Awareness Training Presentation v1.1
Cryptography
The Future of AI is Generative not Discriminative 5/26/2021
Generative AI: Past, Present, and Future – A Practitioner's Perspective
Cybersecurity 1. intro to cybersecurity
Software security
Cyber Security - Unit - 2 - Network Defense tools Firewalls and Packet Filters
Artificial Intelligence and Cybersecurity
From SIEM to SOC: Crossing the Cybersecurity Chasm
Introduction to PCI DSS
Web Application Security 101
Unlocking the Power of Generative AI An Executive's Guide.pdf
AI for security or security for AI - Sergey Gordeychik
CNS - Unit - 10 - Web Security Threats and Approaches
Top 5 Cybersecurity Trends in 2021 and Beyond
IT governance and Information System Security
IoT security
Security architecture
Security operation center (SOC)
Cybersecurity Awareness Training Presentation v1.1
Ad

Viewers also liked (20)

PPTX
PPTX
Introduction To Software Engineering
PDF
Wtf per lineofcode
PPTX
Spring.new hope.1.3
PPTX
мир без Jsp. thymeleaf 2.0
PPTX
Какой фреймворк нам нужен для Web? Денис Цыплаков
PPTX
Node.js in a heterogeneous system
PPTX
solution architect
PPTX
Pathway to solution architect
PPTX
5 angularjs features
PPTX
DevOps in the clouds
PPTX
How to improve code quality for iOS apps?
PPTX
Lean Security
PDF
Practical SOA for the Solution Architect
PPTX
8051 microcontroller features
PDF
Dotnet basics
PPTX
Top 10 it solution architect interview questions and answers
PDF
Software engineering lecture notes
PDF
Go-to-Market Best Practices for Startups
PDF
The Secret Sauce of Successful Teams
Introduction To Software Engineering
Wtf per lineofcode
Spring.new hope.1.3
мир без Jsp. thymeleaf 2.0
Какой фреймворк нам нужен для Web? Денис Цыплаков
Node.js in a heterogeneous system
solution architect
Pathway to solution architect
5 angularjs features
DevOps in the clouds
How to improve code quality for iOS apps?
Lean Security
Practical SOA for the Solution Architect
8051 microcontroller features
Dotnet basics
Top 10 it solution architect interview questions and answers
Software engineering lecture notes
Go-to-Market Best Practices for Startups
The Secret Sauce of Successful Teams
Ad

Similar to Software engineering 101 - The basics you should hear about at least once (20)

PDF
How To Win At Software - Advice for New Engineers - by Gabe Johnson
PPT
Software development
PPTX
Preocupações Desenvolvedor Ágil
PPT
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
PDF
From dev to ops and beyond - getting it done
PPT
SOFWARE QUALITY, INTRODUCTION
PPTX
30% faster coder on-boarding when you have a code cookbook
PDF
Rules of development (and everything else for what matters)
PPT
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
PDF
Surviving a Hackathon and Beyond
PPTX
What they don't teach you in CS departments
PDF
12 Things Every Programmer Should Know
PDF
Systems se
PPT
Software Development in 21st Century
PPT
Software Project management
PDF
WordCamp US: Clean Code
PPT
Pragmatic 1
ODP
Basics of-software-development
PDF
Software maintenance PyConPL 2016
PPTX
11 rules for programmer should live by
How To Win At Software - Advice for New Engineers - by Gabe Johnson
Software development
Preocupações Desenvolvedor Ágil
SOFTWARE QUALITY ASSURANCE, PAOLA DI MAIO
From dev to ops and beyond - getting it done
SOFWARE QUALITY, INTRODUCTION
30% faster coder on-boarding when you have a code cookbook
Rules of development (and everything else for what matters)
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Surviving a Hackathon and Beyond
What they don't teach you in CS departments
12 Things Every Programmer Should Know
Systems se
Software Development in 21st Century
Software Project management
WordCamp US: Clean Code
Pragmatic 1
Basics of-software-development
Software maintenance PyConPL 2016
11 rules for programmer should live by

Recently uploaded (20)

PPTX
A Presentation on Artificial Intelligence
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Unlocking AI with Model Context Protocol (MCP)
A Presentation on Artificial Intelligence
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
“AI and Expert System Decision Support & Business Intelligence Systems”
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
Dropbox Q2 2025 Financial Results & Investor Presentation
Unlocking AI with Model Context Protocol (MCP)

Software engineering 101 - The basics you should hear about at least once