SlideShare a Scribd company logo
Three Developer -abilities they DON’T Teach in CollegeJacinto A. Limjap, Jr.Microsoft MVP for C#Senior Application Developer for FBM e-Services
It’s not that they don’t teach it
MaintainabilityA measure of how easy it is to understand, modify, and extend your code
Maintenance?
Facts you only find out at workWriting new code is the first thing you do at school, but the LAST thing you do at work
Facts you only find out at workYou WILL spend most of your time trying to understand the code some other person wrote
Facts you only find out at work“Maintenance typically consumes 40 to 80 percent of software costs” – Robert L. Glass
TestabilityThe degree to which a system or component facilitates the establishment of test criteria and the performance of tests to find whether those criteria have been met
Ask yourselfWhen there’s a bug, how easy is it to find out which part of your code to fix?
Want it testable? Make it SOLID!
Single Responsibility PrincipleYour class should have one, and only one, reason to change
Open Closed PrincipleYou should be able to extend a class’s behavior without modifying it
Liskov Substitution PrincipleDerived classes must be substitutable for their base classes
Interface Segregation PrincipleMake fine grained interfaces that are client specific
Dependency Inversion PrincipleDepend on abstractions, not on concretions
UsabilityThe ease with which people can employ a particular tool or other human-made object in order to achieve a particular goal
Three Developer  Abilities They Dont Teach In College
Three Developer  Abilities They Dont Teach In College
Three Developer  Abilities They Dont Teach In College
Steve Krug’s First Law of Usability
Usable software makes people happy“Good UI sells software, but it also makes people happy, because people are happy when they accomplish the task they want to accomplish” – Joel Spolsky
Your speakerBlog: http://dotnet.kapenilattex.comTwitter: http://twitter.com/LaTtEXFacebook: http://facebook.com/LaTtEX
Learning to Distinguish a Solution from a Problem http://www.computer.org/portal/web/buildyourcareer/fa010Definition for testability: http://www.aptest.com/glossary.htmlThe Principles of OOD http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOodSOLID Development Principles – In Motivational Pictures http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspxSimplicity http://stuffthathappens.com/blog/2008/03/05/simplicity/2006 Krug, Steve: Don’t Make Me Think: A Common Sense Approach to Web UsabilityUser Interface Design for Programmers http://www.joelonsoftware.com/uibook/fog0000000249.htmlReferences

More Related Content

PPTX
PPTX
Introducing CS students to open source
PPTX
Open source software
PDF
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
PPT
How to build a test
PPTX
8 user testing
PDF
Build your mobile app from a to z presentation
PPTX
Brian A. Morris - EDIT 5395 Kahoot! v PollEverywhere
Introducing CS students to open source
Open source software
SFScon19 - Riccardo Felluga Andrea Janes - Personas-Driven Approach to Test C...
How to build a test
8 user testing
Build your mobile app from a to z presentation
Brian A. Morris - EDIT 5395 Kahoot! v PollEverywhere

Viewers also liked (6)

PPTX
Anith teori pembuktian
PPT
Automated Unit Testing in Silverlight for Windows Phone 7
PPTX
Wadleigh Memorial Library Building Project
PDF
Stevens Henager College Online Catalog 2010-2011
PPTX
SQL vs NoSQL
Anith teori pembuktian
Automated Unit Testing in Silverlight for Windows Phone 7
Wadleigh Memorial Library Building Project
Stevens Henager College Online Catalog 2010-2011
SQL vs NoSQL
Ad

Similar to Three Developer Abilities They Dont Teach In College (20)

PPTX
Solid design principles
PDF
How to Master Development's Solid Principles | Tutort Academy
PPTX
Object Oriented Design SOLID Principles
PPTX
The Taming Of The Code
PDF
Solid principle
PDF
Are You a SOLID Coder?
PPTX
Test Driven Development:Unit Testing, Dependency Injection, Mocking
PDF
Design Simple but Powerful application
PDF
SOLID Design Principles for Test Automaion
PDF
Solid principles
PPTX
Basic software engineering principles - Session 1
PPTX
Software development philosophies v1
PDF
Software design.edited (1)
PPTX
Accessibility, Usability and User Centred Design (Usabiltiy)
PDF
Continuous Deployment and Testing Workshop from Better Software West
PPTX
An ultimate guide to SOLID Principles, developers must know.
PDF
Tdd and-design-draft
PPTX
Cs690 object oriented_software_engineering_team01_ report
PPTX
Improving developer tester collaboration with microsoft visual studio 2010
PPT
Agile Manifesto & XP
Solid design principles
How to Master Development's Solid Principles | Tutort Academy
Object Oriented Design SOLID Principles
The Taming Of The Code
Solid principle
Are You a SOLID Coder?
Test Driven Development:Unit Testing, Dependency Injection, Mocking
Design Simple but Powerful application
SOLID Design Principles for Test Automaion
Solid principles
Basic software engineering principles - Session 1
Software development philosophies v1
Software design.edited (1)
Accessibility, Usability and User Centred Design (Usabiltiy)
Continuous Deployment and Testing Workshop from Better Software West
An ultimate guide to SOLID Principles, developers must know.
Tdd and-design-draft
Cs690 object oriented_software_engineering_team01_ report
Improving developer tester collaboration with microsoft visual studio 2010
Agile Manifesto & XP
Ad

More from Jacinto Limjap (9)

PPTX
Maintainable UI Tests with Selenium and C#
PPTX
Refactoring to Microservices
PPTX
Donetconf2016: The Future of C#
ODP
C# and the Evolution of a Programming Language
PPTX
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
PPTX
N-tier and oop - moving across technologies
PPTX
MSDN Ramp-Up Part 3: Business logic
PPT
Developing windows phone 7 applications
PPTX
Dynamics & Object Runtime Composition with C# 4.0
Maintainable UI Tests with Selenium and C#
Refactoring to Microservices
Donetconf2016: The Future of C#
C# and the Evolution of a Programming Language
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
N-tier and oop - moving across technologies
MSDN Ramp-Up Part 3: Business logic
Developing windows phone 7 applications
Dynamics & Object Runtime Composition with C# 4.0

Three Developer Abilities They Dont Teach In College

  • 1. Three Developer -abilities they DON’T Teach in CollegeJacinto A. Limjap, Jr.Microsoft MVP for C#Senior Application Developer for FBM e-Services
  • 2. It’s not that they don’t teach it
  • 3. MaintainabilityA measure of how easy it is to understand, modify, and extend your code
  • 5. Facts you only find out at workWriting new code is the first thing you do at school, but the LAST thing you do at work
  • 6. Facts you only find out at workYou WILL spend most of your time trying to understand the code some other person wrote
  • 7. Facts you only find out at work“Maintenance typically consumes 40 to 80 percent of software costs” – Robert L. Glass
  • 8. TestabilityThe degree to which a system or component facilitates the establishment of test criteria and the performance of tests to find whether those criteria have been met
  • 9. Ask yourselfWhen there’s a bug, how easy is it to find out which part of your code to fix?
  • 10. Want it testable? Make it SOLID!
  • 11. Single Responsibility PrincipleYour class should have one, and only one, reason to change
  • 12. Open Closed PrincipleYou should be able to extend a class’s behavior without modifying it
  • 13. Liskov Substitution PrincipleDerived classes must be substitutable for their base classes
  • 14. Interface Segregation PrincipleMake fine grained interfaces that are client specific
  • 15. Dependency Inversion PrincipleDepend on abstractions, not on concretions
  • 16. UsabilityThe ease with which people can employ a particular tool or other human-made object in order to achieve a particular goal
  • 20. Steve Krug’s First Law of Usability
  • 21. Usable software makes people happy“Good UI sells software, but it also makes people happy, because people are happy when they accomplish the task they want to accomplish” – Joel Spolsky
  • 22. Your speakerBlog: http://dotnet.kapenilattex.comTwitter: http://twitter.com/LaTtEXFacebook: http://facebook.com/LaTtEX
  • 23. Learning to Distinguish a Solution from a Problem http://www.computer.org/portal/web/buildyourcareer/fa010Definition for testability: http://www.aptest.com/glossary.htmlThe Principles of OOD http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOodSOLID Development Principles – In Motivational Pictures http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspxSimplicity http://stuffthathappens.com/blog/2008/03/05/simplicity/2006 Krug, Steve: Don’t Make Me Think: A Common Sense Approach to Web UsabilityUser Interface Design for Programmers http://www.joelonsoftware.com/uibook/fog0000000249.htmlReferences