DevOps for Java Developers (or maybe against them?!) by Baruch Sadogursky

Learn how to boost Java development productivity with DevOps best practices, from build optimization and caching to testing strategies and production observability.

Key takeaways
  • Build speed and feedback loops are critical for developer productivity - builds should ideally take under 3 minutes to maintain flow and avoid context switching

  • DevOps is about enabling faster, higher quality software delivery through collaboration, automation and observability - not just tools and processes

  • Key strategies for improving build speed:

    • Local caching
    • Remote caching with distributed caches
    • Parallel builds utilizing all CPU cores
    • Incremental builds that only rebuild changed modules
    • Predictive test selection using ML to run relevant tests
  • Production observability and testing in production are becoming more important as staging environments become less feasible with scale and complexity

  • Developer Productivity Engineering (DPE) focuses on:

    • Eliminating toil and bottlenecks
    • Fostering faster feedback loops
    • Automation and tooling improvements
    • Measuring and improving productivity
  • Build quality and speed investments should be prioritized:

    • Get high-end development hardware
    • Implement build caching and optimization
    • Use build scanning and analytics
    • Track and optimize build metrics
  • Testing and quality assurance need to shift left while maintaining production validation:

    • Fast local test feedback
    • Progressive delivery with feature flags
    • Controlled rollouts
    • Production monitoring and observability
  • Focus on outcomes over output - measure impact and value delivered rather than just velocity and throughput

  • DevOps culture requires true collaboration between dev, ops, QA and product teams - not just throwing code “over the wall”

  • Developer productivity directly impacts business outcomes through faster delivery, higher quality and improved developer experience