Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
A      developer at work
                                  tips and tricks for junior developers

                                                         by P.Apostolopoulos
                                                        jhug.gr Administrator

                                                            javapapo@mac.com




Thursday, February 21, 2008                                                     1
Intro!

                  This small presentation aims the junior
                                developers.

                          Senior developers please stay..and
                                        relax!

                   Junior developers please check out the
                                   links

Thursday, February 21, 2008                                    2
a good developer...




Thursday, February 21, 2008                         3
a good developer...


                        Good education (yes...but)




Thursday, February 21, 2008                          3
a good developer...


                        Good education (yes...but)
                        Passion.Eager to learn new things and
                        adapt.




Thursday, February 21, 2008                                     3
a good developer...


                        Good education (yes...but)
                        Passion.Eager to learn new things and
                        adapt.
                        Hard work!




Thursday, February 21, 2008                                     3
a good developer...


                        Good education (yes...but)
                        Passion.Eager to learn new things and
                        adapt.
                        Hard work!
                        .... knows how to use a search engine!!



Thursday, February 21, 2008                                       3
a good developer...


                        Good education (yes...but)
                        Passion.Eager to learn new things and
                        adapt.
                        Hard work!
                        .... knows how to use a search engine!!



Thursday, February 21, 2008                                       3
Define passion!




Thursday, February 21, 2008                    4
Define passion!

                      There is no way you can define or specify
                      passion in the context of a Java
                      developer .




Thursday, February 21, 2008                                      4
Define passion!

                      There is no way you can define or specify
                      passion in the context of a Java
                      developer .
                      The force is strong in you.....




Thursday, February 21, 2008                                      4
Define passion!

                      There is no way you can define or specify
                      passion in the context of a Java
                      developer .
                      The force is strong in you.....
                      Tip for managers: Always try to
                      encourage junior developers!!!



Thursday, February 21, 2008                                      4
Define passion!

                      There is no way you can define or specify
                      passion in the context of a Java
                      developer .
                      The force is strong in you.....
                      Tip for managers: Always try to
                      encourage junior developers!!!



Thursday, February 21, 2008                                      4
Learn new things
                                   stay up to date
                        The Java ecosystem evolves
                              Read Books - buy books(tip for
                              managers)!

                              Read Java related news sites
                              Try to get involved - Java User
                              Groups!


Thursday, February 21, 2008                                     5
My top 5 Java related publishers

                        Sun Press : http://www.sun.com/books/
                        OReilly : www.oreilly.com/pub/topic/java
                        Manning :www.manning.com/catalog/java/
                        Addison Wesley (Safari) : www.safari.awprofessional.com/
                        browse?category=itbooks.prog.java

                        Deitel : www.deitel.com




Thursday, February 21, 2008                                                        6
My favorite Java news site

                        java.dzone.com (the digg of developers!)
                        java.net
                        javalobby.com
                        theserverside.com
                        www.infoq.com
                        sdnshare.sun.com/
                        snippets.dzone.com/tag/java
                        javaworld.com



Thursday, February 21, 2008                                        7
My favorite Java news site

                        java.dzone.com (the digg of developers!)
                        java.net
                        javalobby.com
                        theserverside.com
                        www.infoq.com
                        sdnshare.sun.com/
                        snippets.dzone.com/tag/java
                        javaworld.com



Thursday, February 21, 2008                                        7
Other useful resources

                        The Java tutorial - MUST READ!!!
                              java.sun.com/docs/books/tutorial




Thursday, February 21, 2008                                      8
Other useful resources

                        JDKSearch.com
                        Online Search of the JDK documentation




Thursday, February 21, 2008                                      9
Other useful resources

                              Parleys.com - A beJUG initiative!
                              Online talks from various Java
                              Conferences
                              Changes the way Java developers are
                              educated!




Thursday, February 21, 2008                                         10
try to use search engines!




Thursday, February 21, 2008                                11
try to use search engines!




Thursday, February 21, 2008                                11
Make use of various e-services

                        Forums
                              forum.java.sun.com/index.jspa
                        Blogs (even the father of Java is a blogger!)
                              blogs.sun.com
                              www.jroller.com
                        Social Bookmarking Sites
                              del.icio.us


Thursday, February 21, 2008                                             12
Make use of various e-services

                        Tutorial sites
                              www.javapassion.com

                              www.roseindia.net

                              www.jguru.com
                              courses.coreservlets.com

                              javaboutique.internet.com/tutorials/


                        NewsLetters
                              developers.sun.com/newsletters
                              www.javaspecialists.eu

Thursday, February 21, 2008                                          13
Tools for a junior Java developer


                        1. IDEs
                        2. make build tools
                        3. Software Quality tools
                        4. Testing
                        5. Versioning systems


Thursday, February 21, 2008                         14
Java IDE’s


                        Netbeans : www.netbeans.org
                        Eclipse: www.eclipse.org
                        IDEA IntelliJ:
                              www.jetbrains.com/idea/
                        JDeveloper


Thursday, February 21, 2008                             15
Why i love

                        Simplicity
                        Excellent for junior Java developers.
                        Out of the box support for many J2EE
                        technologies.
                        Introduced a new era on Swing GUI
                        building with Matisse GUI Builder.

Thursday, February 21, 2008                                     16
Why i love

                        Simplicity
                        Excellent for junior Java developers.
                        Out of the box support for many J2EE
                        technologies.
                        Introduced a new era on Swing GUI
                        building with Matisse GUI Builder.

Thursday, February 21, 2008                                     16
Make - Build tools in Java

                        Every junior developer must be familiar with
                        the basics of make tools.
                        Usually junior developers are not introduced
                        to such tools early in their career.
                        That is bad...proper and efficient building,
                        packaging or dependency management of a
                        Java Application is something that needs time
                        to master.

Thursday, February 21, 2008                                             17
make build tools -

                              1. Apache Ant - ant.apache.org/
                                      Recommended Books:

                Java Development with Ant - www.manning.com/hatcher/

   Ant The Definite Guide -www.oreilly.com/catalog/anttdg2/index.html




Thursday, February 21, 2008                                            18
make build tools - Maven, Ivy


      2. Apache Maven - ‘software project management and comprehension tool’
                                           maven.apache.org/




                              3. Apache Ivy - ‘dependency manager’


Thursday, February 21, 2008                                                    19
Software Quality Tools

                        Some developers still ignore SQE tools
                        Some developers still ignore that such
                        tools are integrated to their IDE via
                        plugins.
                        SQE Tools...increases the quality of your
                        code base.
                        Makes your life and your manager’s life
                        easier.
Thursday, February 21, 2008                                         20
Software Quality Tools

                        FindBugs - findbugs.sourceforge.net/
                        PMD - pmd.sourceforge.net/
                        CheckStyle - checkstyle.sourceforge.net/




Thursday, February 21, 2008                                        21
Software Quality Tools

                        Do you want them integrated with your
                        IDE(e.g Netbeans)? no..prob!

                                 SQE project - sqe.dev.java.net/

                                 Or you may check my simple guide for
                                             Netbeans 6.0
                                             http://urlb.org/lgm2




Thursday, February 21, 2008                                             22
You should Unit test!!!
                        Still lots of development teams ignore
                        unit testing during their development
                        life-cycle.
                        Even senior developers sometimes are
                        not familiar with the basics of unit
                        testing!!!
                        That is bad...bad...bad...bad...bad!!!


Thursday, February 21, 2008                                      23
Unit Testing for beginners

                        JUnit -www.junit.org/
                              Book : JUnit in Action -/www.manning.com/massol/
                        Test NG - testng.org/doc/
                        JUnit knowledge is considered
                        mandatory for everyone!
                        Encourage developers to unit test!!!

Thursday, February 21, 2008                                                      24
What about Versioning Systems

                        The most common problem with junior
                        developers - proper use!
                        There still even ‘senior’ developers who
                        cannot properly update- merge their
                        code with the repository.
                        Proper use and knowledge of your
                        versioning system saves time.

Thursday, February 21, 2008                                        25
What about Versioning Systems

                        Try to focus on the versioning system you
                        are using - learn its potential!
                              CVS - www.nongnu.org/cvs/
                              SVN - subversion.tigris.org/




Thursday, February 21, 2008                                         26
think before you shoot!
                              Think twice before you commit!
                              Update before you commit!
                              Don’t commit 10 minutes before you
                              leave work - very very bad!
                              Make one batch commit (lots of files)
                              not 10000 single commits!
                              Committing just to prove you did
                              something DOES not help!
Thursday, February 21, 2008                                          27
one last thing to remember!

                              Everybody makes mistakes - everyday
                              That is ok, no harm done
                              Unless it is the day before a release!!!!


                                   Thank you for your time!


Thursday, February 21, 2008                                               28

More Related Content

Javadev At Work2008

  • 1. A developer at work tips and tricks for junior developers by P.Apostolopoulos jhug.gr Administrator javapapo@mac.com Thursday, February 21, 2008 1
  • 2. Intro! This small presentation aims the junior developers. Senior developers please stay..and relax! Junior developers please check out the links Thursday, February 21, 2008 2
  • 3. a good developer... Thursday, February 21, 2008 3
  • 4. a good developer... Good education (yes...but) Thursday, February 21, 2008 3
  • 5. a good developer... Good education (yes...but) Passion.Eager to learn new things and adapt. Thursday, February 21, 2008 3
  • 6. a good developer... Good education (yes...but) Passion.Eager to learn new things and adapt. Hard work! Thursday, February 21, 2008 3
  • 7. a good developer... Good education (yes...but) Passion.Eager to learn new things and adapt. Hard work! .... knows how to use a search engine!! Thursday, February 21, 2008 3
  • 8. a good developer... Good education (yes...but) Passion.Eager to learn new things and adapt. Hard work! .... knows how to use a search engine!! Thursday, February 21, 2008 3
  • 10. Define passion! There is no way you can define or specify passion in the context of a Java developer . Thursday, February 21, 2008 4
  • 11. Define passion! There is no way you can define or specify passion in the context of a Java developer . The force is strong in you..... Thursday, February 21, 2008 4
  • 12. Define passion! There is no way you can define or specify passion in the context of a Java developer . The force is strong in you..... Tip for managers: Always try to encourage junior developers!!! Thursday, February 21, 2008 4
  • 13. Define passion! There is no way you can define or specify passion in the context of a Java developer . The force is strong in you..... Tip for managers: Always try to encourage junior developers!!! Thursday, February 21, 2008 4
  • 14. Learn new things stay up to date The Java ecosystem evolves Read Books - buy books(tip for managers)! Read Java related news sites Try to get involved - Java User Groups! Thursday, February 21, 2008 5
  • 15. My top 5 Java related publishers Sun Press : http://www.sun.com/books/ OReilly : www.oreilly.com/pub/topic/java Manning :www.manning.com/catalog/java/ Addison Wesley (Safari) : www.safari.awprofessional.com/ browse?category=itbooks.prog.java Deitel : www.deitel.com Thursday, February 21, 2008 6
  • 16. My favorite Java news site java.dzone.com (the digg of developers!) java.net javalobby.com theserverside.com www.infoq.com sdnshare.sun.com/ snippets.dzone.com/tag/java javaworld.com Thursday, February 21, 2008 7
  • 17. My favorite Java news site java.dzone.com (the digg of developers!) java.net javalobby.com theserverside.com www.infoq.com sdnshare.sun.com/ snippets.dzone.com/tag/java javaworld.com Thursday, February 21, 2008 7
  • 18. Other useful resources The Java tutorial - MUST READ!!! java.sun.com/docs/books/tutorial Thursday, February 21, 2008 8
  • 19. Other useful resources JDKSearch.com Online Search of the JDK documentation Thursday, February 21, 2008 9
  • 20. Other useful resources Parleys.com - A beJUG initiative! Online talks from various Java Conferences Changes the way Java developers are educated! Thursday, February 21, 2008 10
  • 21. try to use search engines! Thursday, February 21, 2008 11
  • 22. try to use search engines! Thursday, February 21, 2008 11
  • 23. Make use of various e-services Forums forum.java.sun.com/index.jspa Blogs (even the father of Java is a blogger!) blogs.sun.com www.jroller.com Social Bookmarking Sites del.icio.us Thursday, February 21, 2008 12
  • 24. Make use of various e-services Tutorial sites www.javapassion.com www.roseindia.net www.jguru.com courses.coreservlets.com javaboutique.internet.com/tutorials/ NewsLetters developers.sun.com/newsletters www.javaspecialists.eu Thursday, February 21, 2008 13
  • 25. Tools for a junior Java developer 1. IDEs 2. make build tools 3. Software Quality tools 4. Testing 5. Versioning systems Thursday, February 21, 2008 14
  • 26. Java IDE’s Netbeans : www.netbeans.org Eclipse: www.eclipse.org IDEA IntelliJ: www.jetbrains.com/idea/ JDeveloper Thursday, February 21, 2008 15
  • 27. Why i love Simplicity Excellent for junior Java developers. Out of the box support for many J2EE technologies. Introduced a new era on Swing GUI building with Matisse GUI Builder. Thursday, February 21, 2008 16
  • 28. Why i love Simplicity Excellent for junior Java developers. Out of the box support for many J2EE technologies. Introduced a new era on Swing GUI building with Matisse GUI Builder. Thursday, February 21, 2008 16
  • 29. Make - Build tools in Java Every junior developer must be familiar with the basics of make tools. Usually junior developers are not introduced to such tools early in their career. That is bad...proper and efficient building, packaging or dependency management of a Java Application is something that needs time to master. Thursday, February 21, 2008 17
  • 30. make build tools - 1. Apache Ant - ant.apache.org/ Recommended Books: Java Development with Ant - www.manning.com/hatcher/ Ant The Definite Guide -www.oreilly.com/catalog/anttdg2/index.html Thursday, February 21, 2008 18
  • 31. make build tools - Maven, Ivy 2. Apache Maven - ‘software project management and comprehension tool’ maven.apache.org/ 3. Apache Ivy - ‘dependency manager’ Thursday, February 21, 2008 19
  • 32. Software Quality Tools Some developers still ignore SQE tools Some developers still ignore that such tools are integrated to their IDE via plugins. SQE Tools...increases the quality of your code base. Makes your life and your manager’s life easier. Thursday, February 21, 2008 20
  • 33. Software Quality Tools FindBugs - findbugs.sourceforge.net/ PMD - pmd.sourceforge.net/ CheckStyle - checkstyle.sourceforge.net/ Thursday, February 21, 2008 21
  • 34. Software Quality Tools Do you want them integrated with your IDE(e.g Netbeans)? no..prob! SQE project - sqe.dev.java.net/ Or you may check my simple guide for Netbeans 6.0 http://urlb.org/lgm2 Thursday, February 21, 2008 22
  • 35. You should Unit test!!! Still lots of development teams ignore unit testing during their development life-cycle. Even senior developers sometimes are not familiar with the basics of unit testing!!! That is bad...bad...bad...bad...bad!!! Thursday, February 21, 2008 23
  • 36. Unit Testing for beginners JUnit -www.junit.org/ Book : JUnit in Action -/www.manning.com/massol/ Test NG - testng.org/doc/ JUnit knowledge is considered mandatory for everyone! Encourage developers to unit test!!! Thursday, February 21, 2008 24
  • 37. What about Versioning Systems The most common problem with junior developers - proper use! There still even ‘senior’ developers who cannot properly update- merge their code with the repository. Proper use and knowledge of your versioning system saves time. Thursday, February 21, 2008 25
  • 38. What about Versioning Systems Try to focus on the versioning system you are using - learn its potential! CVS - www.nongnu.org/cvs/ SVN - subversion.tigris.org/ Thursday, February 21, 2008 26
  • 39. think before you shoot! Think twice before you commit! Update before you commit! Don’t commit 10 minutes before you leave work - very very bad! Make one batch commit (lots of files) not 10000 single commits! Committing just to prove you did something DOES not help! Thursday, February 21, 2008 27
  • 40. one last thing to remember! Everybody makes mistakes - everyday That is ok, no harm done Unless it is the day before a release!!!! Thank you for your time! Thursday, February 21, 2008 28