Software Engineering in Java.

Java is quite simply the most popular programming language in the world. With all the legacy Java applications that need to be maintained and the new ones created every day in so many different domains, mastery of Java will guarantee you will always be in demand. Take the first step to achieving that goal now.

For more information, contact us.


According to Oracle, 3 billion devices run Java. Google chose Java for Android, and the Hadoop Big Data ecosystem is built on Java as well. There is tremendous opportunity to do great work in something you love, but there is a reason not every developer is taking advantage of it.

Being good at Java–like really good–is hard. Especially with all the changes to the language over the years.

Software Engineering in Java establishes the foundation of basic constructs like conditionals and loops. The course builds on this foundation with a thorough treatment of object-oriented programming and software engineering best practices to enable you to build sophisticated Java programs in the real world.

For more information, contact us.

What makes this course different

The typical Java course teaches you how to write code in Java but not how to engineer in Java. You come back to work completely unprepared for the challenges you will face when your team expects you to deliver for a real customer.

Software Engineering in Java operates from the premise that the greatest asset in professional software development isn’t what you know but how fast you can adapt. Here you solve unfamiliar problems by consulting your teammates and Google and Stack Overflow for ideas. Just like every day at work. Skills typically ignored by other Java courses like testing and error handling become second nature. The course concludes with a brief discussion of other languages that build on Java’s legacy like Scala, Clojure, and Kotlin.

When you finish this course, you will be a professional Java engineer.

For more information, contact us.


Five three-hour onsite sessions with lecture and exercises.

An alternate online version is coming, but the onsite version is recommended for collaboration and feedback.


Knowledge of basic programming concepts like conditions, loops, and functions

About the instructor

Neil Chaudhuri is self-taught in Java with many years of experience delivering large-scale solutions ranging from REST services to web and mobile and Big Data applications for government and commercial clients.

Neil also has multiple Java badges on Stack Overflow. He was even a Sun Certified Java Programmer when that was still a thing.


Session I: Introduction to Java

  • History and fundamentals of the language
  • Language constructs (e.g. conditionals, iterations, generics)
  • Coding conventions
  • Writing code with nothing but a text editor

Session II: Objects and Inheritance

  • Understanding objects and methods
  • The Java object hierarchy and core objects (e.g. String)
  • Inheritance and polymorphism

Session III: The Evolution of Java

  • Lambdas
  • Optional
  • Temporals
  • Immutable collections
  • Interfaces with default methods
  • CompletableFuture

Session IV: Professional Java

  • Error handling
  • Best practices
  • Third-party libraries
  • Testing

Session V: Working in Java and Beyond

  • Reflection
  • Logging
  • Files
  • XML
  • Databases
  • Alternative languages for the JVM


Certificate of Achievement upon course completion

Priority responses on code questions for three months after completion of the course

For more information, contact us.