Three Developer Abilities They Dont Teach In College

  • 989 views
Uploaded on

A presentation for university students studying Computer Science about topics that are crucial at the workplace but not given as much attention at school

A presentation for university students studying Computer Science about topics that are crucial at the workplace but not given as much attention at school

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
989
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
8
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Three Developer -abilities they DON’T Teach in College
    Jacinto 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. Maintainability
    A measure of how easy it is to understand, modify, and extend your code
  • 4. Maintenance?
  • 5. Facts you only find out at work
    Writing 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 work
    You 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. Testability
    The 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 yourself
    When 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 Principle
    Your class should have one, and only one, reason to change
  • 12. Open Closed Principle
    You should be able to extend a class’s behavior without modifying it
  • 13. Liskov Substitution Principle
    Derived classes must be substitutable for their base classes
  • 14. Interface Segregation Principle
    Make fine grained interfaces that are client specific
  • 15. Dependency Inversion Principle
    Depend on abstractions, not on concretions
  • 16. Usability
    The ease with which people can employ a particular tool or other human-made object in order to achieve a particular goal
  • 17.
  • 18.
  • 19.
  • 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 speaker
    Blog: http://dotnet.kapenilattex.com
    Twitter: http://twitter.com/LaTtEX
    Facebook: http://facebook.com/LaTtEX
  • 23. Learning to Distinguish a Solution from a Problem http://www.computer.org/portal/web/buildyourcareer/fa010
    Definition for testability: http://www.aptest.com/glossary.html
    The Principles of OOD http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod
    SOLID Development Principles – In Motivational Pictures http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspx
    Simplicity http://stuffthathappens.com/blog/2008/03/05/simplicity/
    2006 Krug, Steve: Don’t Make Me Think: A Common Sense Approach to Web Usability
    User Interface Design for Programmers http://www.joelonsoftware.com/uibook/fog0000000249.html
    References