Good Behaviors
 for Developers
    Rawin Viruchpintu
Who I am ?
   Rawin Viruchpintu
   Creative Technology Manager
   Palomar Systems / Spriiing

   BlackBerry Developer
   Vervata

   Research Assistant
   NECTEC
Outline
•   What's developer ?
•   Developer Levels
•   Skills
•   Around Dev
•   With … ?
•   Conclusion
What's developer?
• A person who is involved in writing software.
  It is mostly used as another term for   programmer.
                                             - ft.com -
Level of Devs




Junior developer   Senior developer
Level of Devs
            Junior developer
        Performance   Vision
 Teamwork Communication skill
Self learning Responsibility
        Experience       Problem solving
Time estimation Domain knowledge

  Senior developer
Skills
Webservices
            HTML5               noSQL
                              jQuery

         C++              Web technology
  Java        database      HTML5
                                   REST

    Ruby Python



         Wide                      Deep
Around dev
 QA/Testers                 Manager



        sudo
Developers

                   $        Customers


             Marketing
Customers
With … [ Customers ]
• Listen to a user who complains your products.
• Any product was designed for customers, Not for developers

• Don't make them think !
   – Intuitive
   – Easy to learn/use/remember/ and forget!
   – Fast response

• Open mind for negative feed back and smile 
With … [ Marketing ]
With … [ Marketing ]                        $
• Translate your binary   logic to simple words

• Marketing can tell what is the product    value
• Tell them about alternative   solutions with
  restrictions/conditions.
• Summarize overall concept into a (good) picture


• Deliver   on time!
With … [ QA / testers ] ?
With … [ QA / testers ]
• Clear communication (check list will be useful)
• Defensive coding (check exception, logging)
• Good error messages
• Everything must be failed, know it early
• Failed early is cheap,   Failed lately is expensive
• More code -> More tests
• Mistakes are normal, correct it clever is a point
• Tester is a best friend, not your enemy !
sudo
   With … [ Developers ]

 Programmer produces code
he believes is bug-free.
With … [ Developers ]                        sudo
• Find solutions first, Don't start with creating something
  (Don't reinvent the wheel)
• Avoid labor-intensive techniques
• Learn good designs
• Every element needs to be (unit) tested
• Write code for reusing
• Comments
• Share your ideas, solutions, mistakes
With … [ Manager ]




         http://worldofmemes.com/tag/game-programmer/
With … [ Manager ]
• Analyze problem first
• Talk only what you know the real facts,
  Not what you think you know
• Alarm first -> no Surprise!
• Always manage your time with top priority.
• Tell the facts, root cause and good solutions
sudo   What else ?

   $
With … [ Yourself ]
• Keep Learning
• Read, read, read and try to do
• Focus, Focus and Focus
• Summarize often
  Write a sentence to describe your work every day on a calendar

• Don't believe until you can prove by yourself
• TODO list with priority
Conclusion
THANK YOU

      @windygallery

Good behaviors

  • 1.
    Good Behaviors forDevelopers Rawin Viruchpintu
  • 2.
    Who I am? Rawin Viruchpintu Creative Technology Manager Palomar Systems / Spriiing BlackBerry Developer Vervata Research Assistant NECTEC
  • 3.
    Outline • What's developer ? • Developer Levels • Skills • Around Dev • With … ? • Conclusion
  • 4.
    What's developer? • Aperson who is involved in writing software. It is mostly used as another term for programmer. - ft.com -
  • 5.
    Level of Devs Juniordeveloper Senior developer
  • 6.
    Level of Devs Junior developer Performance Vision Teamwork Communication skill Self learning Responsibility Experience Problem solving Time estimation Domain knowledge Senior developer
  • 7.
    Skills Webservices HTML5 noSQL jQuery C++ Web technology Java database HTML5 REST Ruby Python Wide Deep
  • 8.
    Around dev QA/Testers Manager sudo Developers $ Customers Marketing
  • 9.
  • 10.
    With … [Customers ] • Listen to a user who complains your products. • Any product was designed for customers, Not for developers • Don't make them think ! – Intuitive – Easy to learn/use/remember/ and forget! – Fast response • Open mind for negative feed back and smile 
  • 11.
    With … [Marketing ]
  • 12.
    With … [Marketing ] $ • Translate your binary logic to simple words • Marketing can tell what is the product value • Tell them about alternative solutions with restrictions/conditions. • Summarize overall concept into a (good) picture • Deliver on time!
  • 13.
    With … [QA / testers ] ?
  • 14.
    With … [QA / testers ] • Clear communication (check list will be useful) • Defensive coding (check exception, logging) • Good error messages • Everything must be failed, know it early • Failed early is cheap, Failed lately is expensive • More code -> More tests • Mistakes are normal, correct it clever is a point • Tester is a best friend, not your enemy !
  • 15.
    sudo With … [ Developers ] Programmer produces code he believes is bug-free.
  • 16.
    With … [Developers ] sudo • Find solutions first, Don't start with creating something (Don't reinvent the wheel) • Avoid labor-intensive techniques • Learn good designs • Every element needs to be (unit) tested • Write code for reusing • Comments • Share your ideas, solutions, mistakes
  • 17.
    With … [Manager ] http://worldofmemes.com/tag/game-programmer/
  • 18.
    With … [Manager ] • Analyze problem first • Talk only what you know the real facts, Not what you think you know • Alarm first -> no Surprise! • Always manage your time with top priority. • Tell the facts, root cause and good solutions
  • 19.
    sudo What else ? $
  • 20.
    With … [Yourself ] • Keep Learning • Read, read, read and try to do • Focus, Focus and Focus • Summarize often Write a sentence to describe your work every day on a calendar • Don't believe until you can prove by yourself • TODO list with priority
  • 21.
  • 22.
    THANK YOU @windygallery