Skip to content

Wakaleo Consulting

  Home Training Java Power Tools Bootcamps
The Java Power Tools Bootcamps E-mail

bootcamp

Code better - Code faster - Code smarter

The Java Power Tools Bootcamp is a comprehensive, innovative and hands-on workshop covering best-of-breed open source tools and techniques for Agile Development in Java. Learn how to optimize your development process, hone your programming skills and know-how, and ultimately produce better software. And have fun while you're doing it!

  • "Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle." - Neil, Software Developer
  • "One of the best and most useful courses I have attended." - Jonathon, Developer
  • "Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' Java projects." - Derek, Technical Team Leader
More student quotes...

Outline

The course is an intensive 5-day workshop, with a mixture of teaching and lab exercises. You will learn how to implement modern Agile best practices for Java development within your own organisation. Each day starts with a discussion of Agile development practices and covers what tools and techniques you can use to support these practices. The basic course program is outlined here:

Days 1 and 2 - Agile Development Principles and Practices and Maven 2

  • Agile Development principles and practices - how to improve your development process in the real world.
  • Introduction to Maven 2 - what is it, how can it help you, is it suitable for your project?
  • Creating a new project with Maven 2
  • The Maven development lifecycle - compiling, testing and building your application
  • Dependency management with Maven 2
  • Using Maven dependency management in Ant
  • Using Maven 2 in Eclipse
  • Using plugins to customize the build process
  • Setting up a local Maven Repository Manager with Nexus
  • Integrating Ant and Maven
  • Automating your deployment process with Maven
  • Deploying to a web application server
  • Automating the release process
  • Automated deployments with Cargo
  • Using Maven on legacy applications

Day 3 - Unit and Integration testing with JUnit 4, Selenium and easyb

  • Principles of Test-driven development
  • Writing clearer tests with the Hamcrest assertions
  • Using annotations, parameterized tests and JUnit Theories to simplify your tests
  • Using test coverage metrics to improve your testing process
  • Testing a web interface with Selenium
  • Testing your Java applications BDD-style with Groovy and easyb
  • Database testing with the easyb DBUnit plugin

Day 4 - Code quality and documentation

  • Agile best practices to improve code quality - pair programming, collective code reviews,...
  • Enforcing coding standards with Checkstyle
  • Enforcing best practices with PMD
  • Detecting potential defects with FindBugs
  • What is cyclometric complexity and how can it help you write better code?
  • Generating useful reports with a Maven site
  • Generate UML-based documentation with UMLGraph
  • Generate database schemas with SchemaSpy
  • Centralized code quality management with Sonar

Day 5 - SCM and Continuous Integration

  • Working in iterations and time-boxed releases
  • Modern SCM best practices
    • Introduction to Subversion
    • Using Subversion from day to day
    • Using Subversion with Eclipse
    • Branching, merging and tagging
    • Setting up Subversion hooks to customize your repository
    • Using Trac to browse your source code and keep track of issues
    • Integrating Subversion with your issue tracking system
  • Automating your build process with Continuous Integration
    • An introduction to Continuous Integration principles
    • Setting up a CI server with Hudson
    • Continuous Integration build strategies and best practices
    • Automated testing
    • Automated code quality audits
    • Automated reporting on project status and statistics
    • Automated deployment
    • Distributed builds

Course Objectives

Students will come away from this workshop with a solid understanding of how they can improve their development practices back in the real world, as well as an abundance of practical tips and tricks that they can use in their day-to-day work. Notably, after the course, students will:

  • Use Maven effectively to improve your development productivity and code quality, promote better software architecture, and improve team communication.
  • Understand the issues around dependency management in Java development, and be able to implement declarative dependency management in a corporate environment.
  • Know how to write effective unit tests, and understand how to use unit testing practices to write more reliable code faster.
  • Understand how to use Behaviour-Driven Development to write better designed, more maintainable and more reliable code.
  • Be able to write automated database and web interface tests.
  • Understand how to use code quality and test coverage metrics to improve your code, and understand what the various metrics can tell you, and also what they can't.
  • Have a solid working knowledge of Subversion in the real world, and how to best use it in a Continuous Integration environment.
  • Know how to set up a working Continuous Integration server, complete with automated builds, tests, code quality audits and reports, and automatic deployment to an integration server.

Need to convince your boss? Download the course flyer here!

Upcoming courses

Course Location Training Dates Cost
London 15-19 February 2010 £2495* (£2250 before 23/01/2010)
Paris 22-26 February 2010 3750 €* (3375.00 € before 16/01/2010)
Wellington 22-26 March 2010 $4290 NZD $ (3975 before 31/01/2010)
Sydney 12-16 April 2010 $3850 AUD $ (3550 before 28/02/2010)
Canberra 3-7 May 2010 $3850 AUD $ (3550 before 28/02/2010)

*All prices are exclusive of any applicable GST or local taxes

General Information

Audience

This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a developer audience:

  • Java developers of all levels
  • Software architects
  • Technical project managers

Approach

The course is modular and flexible - depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions

We assume participants have a reasonable understanding of Java development as well as a basic understanding of the Software Development Life Cycle.

Lab Work

The Java Power Tools Bootcamp is above all a practical, hands-on workshop. We believe that the best way to learn is by doing. So the course contains approximately 60% lab work. For scheduled public courses, we will provide a fully configured computer for your use during the labs.

Learning Resources

Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course.

What students are saying about the course

  • "Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle." - Neil, Software Developer
  • "One of the best and most useful courses I have attended. And they didn't even try to sell me anything!" - Jonathan, Developer
  • "Extremely beneficial for any Java developer - even the ones that know it all!" - Elsa, Technical Team Leader
  • "Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' Java projects." - Derek, Technical Team Leader
  • "A well organized course. A 'must' course for serious Java developers. It's not only about the tools to be used in day-to-day development, but also about best methodologies and practices." - Apparao, Software Developer
  • "Gives a very good overall view of the Java development environment. Not just how to write Java code but the 'business end' - how to build, test, deploy, manage and monitor." - Tom, Software Developer
  • "This was a great all round introduction to best practices for development process optimization. I found all of the content very helpful and easy to understand. Many of the techniques and technologies will improve our processes a great deal." - Linton, Developer
  • "John has given a very well-run course, with plenty of demonstrations on bleeding-edge Java tools, which spans over project management, development techniques, testing and the build process." - Wayne Ng, Software Developer
  • "This bootcamp gives a good breakdown of some tools to aid in Java development. I can definitely see their use coming in handy." - Wayne, Systems Programmer
  • "Probably the best training course I've been on...ranges from a good overview to a detailed coverage, depending on need or preference. Was an excellent course." - Peter, Analyst Programmer

The Java Power Tools Newsletter

Keep up to date with the latest evolutions in the Java Power Tools field: subscribe to our Java Power Tools Bootcamp Newsletter!

Contact us

This course can also be provided on-site, and tailored to your particular requirements. If you are open to commercial tools, we highly recommend the Atlassian products. For on-site courses, we have additional modules which also include tools Bamboo, FishEye/Crucible, and JIRAIf you would like our trainings delivered at your premises, or for any additional information please contact us.