Over the years, I have written and recorded a fair amount of content on different aspects of being a (Java) programmer. Here's a quick overview:
- Java Database Connections & Transactions. Written for any Java developer who has to work with databases. Has code examples and exercises for everything database related, from plain JDBC, connections pools, on to Hibernate, Spring, Jooq & XA. Personal favorite.
- Customer Requirements. My first ever book, co-published with the Pragmatic Programmers. Covers programming from a requirements perspective, including fuzzy requirements, deadline pressure, warning signs, estimations and much more.
- A guide to accessing databases in Java. You can use this guide to discover, understand, and select the right Java library to access a database, like MySQL, Postgres, Oracle - or any other one. Read this guide to understand which database library makes sense for your project and development team. Personal favorite.
- A guide to logging in Java. You can use this guide to discover, understand and use the right Java logging library for your applications, like Log4j2, Logback, or java.util.logging. Logging 'seems' like a very simple topic, but can be rather tricky in practice and is not covered anywhere in sufficient detail. Read this guide to fully make sense of the Java logging landscape. Personal favorite.
- Spring Transaction Management: An unconventional guide. Database transaction management with Spring can be a complex topic. This guide will make it as simple, fun and unconventional as possible. Personal favorite.
- Intermediate Java - A Learning Path | Part 1. Often, beginning Java developers struggle with the question 'what project is next?'. In this fun guide you will build a mp3-archiving project from scratch, learning a whole lot of things along they way about Core Java, JDBC, servlets and much more.
Archived Blog Posts (Pre-2018):
- Starting the new year with a bang!
- Programmer Job Interviews
- Who says that?
- You should prototype more
- Software Requirements: How to find out what users want | Part 2
- Software Requirements: How to find out what users want | Part 1
- 5 Simple Ways To Get More Accurate Estimates
- 4 common mistakes developers make when estimating
- The Anemic User Story
- Programmers: 4 ways your boss or client puts pressure on you and how to react
- A programmer’s road to productivity - Step 2 : Battling assumptions
- A Programmer's Road To Productivity - Step 1 : Deconstruction of Requirements
- Programmer productivity starts with requirements, not tools!
- Marco Behler's 2014 Ultimate Java Developer Library, Tool & People List
- Should you test your ORM mappings?
- Testing your code under pressure and with ever-changing requirements
- My developers always talk about technical debt - what can I do?
- The Java persistence ghetto (and how jOOQ might change that)
- Should my tests be @Transactional?
- A comic : IT projects and how to make them "successful"
- Speed Up That Build, now! – Part 2: Filesystem revisted
- Maven: Don't just blindly "mvn clean install"
- An intro: How do I test my software?
- Speed Up That Build, now! - Part 1: Ramdisk and Filesystem
- 4 simple ways to reduce your (C)ontinuous(I)ntegration build cycle
- How to get started with XA/distributed transactions on the JVM