All blogs / Software / engineering practice
Benji's Blog
Software / engineering practiceJava / JVMEngineering management / careers
- Posts
- 92 from 2 Sep 2008 to 14 Jul 2025
- Posting
- now and then
- Kind
- personal blog
- Feed
- https://benjiweber.co.uk/blog/feed/
2025 2
2023 3
2022 4
2021 10
- Uncovering Better Ways
- Don’t hire top talent; hire for weaknesses.
- Escape the Permission Trap with Healthy Habits
- Thinking in Questions with SQL
- Leadership Language Lessons from Star Trek
- Java 16 Pattern Matching Fun
- We got lucky
- Revisiting Html in Java
- Meetings, ugh! Let’s change our language
- Latency Numbers Every Team Should Know
2020 7
2018 6
2016 1
2015 14
- Team Efficiency is Irrelevant
- Optionally typechecked StateMachines
- HTML in Java
- Lambda parameter names with reflection
- Anonymous Types in Java
- Lambda Type References
- Modern Extreme Programming
- Minimising the Risk of Data Damage
- Isolating Test-Data in Production
- Yield Return in Java
- Adding toList() to Java Streams
- Monitoring Check Smells
- Work around Java “same erasure” errors with Lambdas
- Implicit Conversions with Identity Functions
2014 17
- The Unruly Mob
- Builder Pattern with Java 8 Lambdas
- Frameworkless Dependency Injection
- Deep Pattern Matching in Java
- Tuples in Java
- Continuous Deployment and the Unforeseeable
- JSON to Java Interfaces with Nashorn
- Pattern Matching in Java
- Delete your Tests
- Java Value Objects
- Java Forwarding-Interface Pattern
- Joins in pure-java database queries
- Thoughts from #pipelineconf
- Checked Exceptions and Streams
- C# style properties in Java
- Tools and Tradeoffs – CI Build Servers
- Cross-functional teams vs Software Architects