SlideShare a Scribd company logo
1 of 11
Building Software vs
Programming
Who are you ???
a) The Developer
b) The Programmer
c) The nephew who makes websites
Developers are smart people, they think quickly and just try to reproduce
it with the same velocity.
Building Software
To build a software like a boss, first we need to:
- Think, discuss and design
- Use some good developer skills to start coding(will talk about later)
- Programmers skip those steps...
Headless chicken
Please, don't be a headless chicken that just runs without any thoughts
Why all that ?
- Time on planning/designing helps us understanding problems
- Time on planning == quality on delivery
Main Skill
Beyond these, a main skill to be improved is...
TDD
Test Driven Development
Provides us:
- Preventing future errors(not all but a lot) + saving time
- Helping on planning tasks
Please, spend some time on the mantra: red, green, refactor
What you have after that
- Beautiful and consistent code
- Beautiful and designed documentation
- Simple test, simple code. Easy to understand, easy to maintain
- Challenge to write better code == try to find better solutions == improve
your coding skills
You are smart, so ask
yourself:
- Is this test too trivial ?
- Is this test going to be useful ?
- Is this too complex ?
- should try another way, maybe trying to separate things first
- pair programming, if don’t ask google for samples
- if still complex, discuss about that again, probably this could be
easier to be done
Please tell me now:
- Do you use TDD or just write some tests ?
- Do you feel like a headless chicken sometimes ?
- What happen when you don’t plan or discuss about a new task ?
- What steps do you take when you get a complex task to be tested ?
- What could you improve to be a better developer ?
Bonus slide

More Related Content

What's hot

Importance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOImportance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOProduct School
 
Technical interview mc govern
Technical interview   mc governTechnical interview   mc govern
Technical interview mc governCopper CLE
 
Competitive programming
Competitive programmingCompetitive programming
Competitive programmingDvyeshVyas
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015Ikuru Kanuma
 
From Concrete to Abstract: Motivating Contexts for Novice Programmers
From Concrete to Abstract: Motivating Contexts for Novice ProgrammersFrom Concrete to Abstract: Motivating Contexts for Novice Programmers
From Concrete to Abstract: Motivating Contexts for Novice ProgrammersPeter Donaldson
 
GOOD PROGRAMMING
GOOD PROGRAMMINGGOOD PROGRAMMING
GOOD PROGRAMMINGBilal Zaka
 
Remote Mob Programming
Remote Mob ProgrammingRemote Mob Programming
Remote Mob ProgrammingCamille Bell
 
How Do We Teach TDD Keith Ray
How Do We Teach TDD Keith RayHow Do We Teach TDD Keith Ray
How Do We Teach TDD Keith RayC. Keith Ray
 
Bad Power Pt
Bad Power PtBad Power Pt
Bad Power Ptgfrances
 
Developing Better Software
Developing Better SoftwareDeveloping Better Software
Developing Better SoftwareHean Hong Leong
 
5 books for absolute programming beginners
5 books for absolute programming beginners5 books for absolute programming beginners
5 books for absolute programming beginnersSomvir Singh
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipCamille Bell
 
Fundamentals of App & Web Design
Fundamentals of App & Web DesignFundamentals of App & Web Design
Fundamentals of App & Web DesignVishal Kirti
 
Dev presentation
Dev presentationDev presentation
Dev presentationDavid Ford
 

What's hot (20)

Importance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEOImportance of UX Design in PM by Dhantra Studio Founder & CEO
Importance of UX Design in PM by Dhantra Studio Founder & CEO
 
Programming Process
Programming ProcessProgramming Process
Programming Process
 
Technical interview mc govern
Technical interview   mc governTechnical interview   mc govern
Technical interview mc govern
 
Thinking like a Programmer
Thinking like a ProgrammerThinking like a Programmer
Thinking like a Programmer
 
Competitive programming
Competitive programmingCompetitive programming
Competitive programming
 
Review June2015 Dec2015
Review June2015 Dec2015Review June2015 Dec2015
Review June2015 Dec2015
 
Pair programming
Pair programmingPair programming
Pair programming
 
From Concrete to Abstract: Motivating Contexts for Novice Programmers
From Concrete to Abstract: Motivating Contexts for Novice ProgrammersFrom Concrete to Abstract: Motivating Contexts for Novice Programmers
From Concrete to Abstract: Motivating Contexts for Novice Programmers
 
Competitive programming
Competitive  programmingCompetitive  programming
Competitive programming
 
GOOD PROGRAMMING
GOOD PROGRAMMINGGOOD PROGRAMMING
GOOD PROGRAMMING
 
Remote Mob Programming
Remote Mob ProgrammingRemote Mob Programming
Remote Mob Programming
 
How Do We Teach TDD Keith Ray
How Do We Teach TDD Keith RayHow Do We Teach TDD Keith Ray
How Do We Teach TDD Keith Ray
 
Bad Power Pt
Bad Power PtBad Power Pt
Bad Power Pt
 
Developing Better Software
Developing Better SoftwareDeveloping Better Software
Developing Better Software
 
5 books for absolute programming beginners
5 books for absolute programming beginners5 books for absolute programming beginners
5 books for absolute programming beginners
 
Programming Kiss
Programming KissProgramming Kiss
Programming Kiss
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW Craftsmanship
 
Pairing and mobbing
Pairing and mobbingPairing and mobbing
Pairing and mobbing
 
Fundamentals of App & Web Design
Fundamentals of App & Web DesignFundamentals of App & Web Design
Fundamentals of App & Web Design
 
Dev presentation
Dev presentationDev presentation
Dev presentation
 

Similar to Building software vs programming

Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUGMatteo Baglini
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment TipsAdam Culp
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019Paulo Clavijo
 
Cepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptxCepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptxgyan98
 
Software Design Notes
Software Design NotesSoftware Design Notes
Software Design NotesDiego Pacheco
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeNacho Cougil
 
Bdd - L'arte di non farsi i fatti propri
Bdd - L'arte di non farsi i fatti propriBdd - L'arte di non farsi i fatti propri
Bdd - L'arte di non farsi i fatti propriCommit University
 
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402Johan De Wit
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsRehgan Avon
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and TechnologyEnplore AB
 
How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer varunbhatt23
 

Similar to Building software vs programming (20)

Tdd
TddTdd
Tdd
 
Coderetreat @ CodersTUG
Coderetreat @ CodersTUGCoderetreat @ CodersTUG
Coderetreat @ CodersTUG
 
Development Environment Tips
Development Environment TipsDevelopment Environment Tips
Development Environment Tips
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
Cepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptxCepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptx
 
Software Design Notes
Software Design NotesSoftware Design Notes
Software Design Notes
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
Debugging
DebuggingDebugging
Debugging
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - Opensouthcode
 
Bdd - L'arte di non farsi i fatti propri
Bdd - L'arte di non farsi i fatti propriBdd - L'arte di non farsi i fatti propri
Bdd - L'arte di non farsi i fatti propri
 
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
Test driven development_and_puppet-cfgmgmtcamp_eu-20140402
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
TDD & Refactoring
TDD & RefactoringTDD & Refactoring
TDD & Refactoring
 
Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Code Retreat
Code RetreatCode Retreat
Code Retreat
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 
How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer How to get placed in product based companies as a software developer
How to get placed in product based companies as a software developer
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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 pragmaticsAndrey Dotsenko
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
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...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

Building software vs programming

  • 2. Who are you ??? a) The Developer b) The Programmer c) The nephew who makes websites Developers are smart people, they think quickly and just try to reproduce it with the same velocity.
  • 3. Building Software To build a software like a boss, first we need to: - Think, discuss and design - Use some good developer skills to start coding(will talk about later) - Programmers skip those steps...
  • 4. Headless chicken Please, don't be a headless chicken that just runs without any thoughts
  • 5. Why all that ? - Time on planning/designing helps us understanding problems - Time on planning == quality on delivery
  • 6. Main Skill Beyond these, a main skill to be improved is... TDD
  • 7. Test Driven Development Provides us: - Preventing future errors(not all but a lot) + saving time - Helping on planning tasks Please, spend some time on the mantra: red, green, refactor
  • 8. What you have after that - Beautiful and consistent code - Beautiful and designed documentation - Simple test, simple code. Easy to understand, easy to maintain - Challenge to write better code == try to find better solutions == improve your coding skills
  • 9. You are smart, so ask yourself: - Is this test too trivial ? - Is this test going to be useful ? - Is this too complex ? - should try another way, maybe trying to separate things first - pair programming, if don’t ask google for samples - if still complex, discuss about that again, probably this could be easier to be done
  • 10. Please tell me now: - Do you use TDD or just write some tests ? - Do you feel like a headless chicken sometimes ? - What happen when you don’t plan or discuss about a new task ? - What steps do you take when you get a complex task to be tested ? - What could you improve to be a better developer ?