Published inITNEXTAre You a Java Developer Who Feels Excluded From Using LLMs?Don’t be. Try langchain4j instead.Jun 26, 2024141Jun 26, 2024141
Published inLevel Up CodingDon’t Leak Your (Database) InternalsA case study as to why your service’s data should remain privateJun 13, 202461Jun 13, 202461
Published inThe HavenSeven Pairs of Words That Don’t Mean the Same ThingYou might think these words are synonyms. They’re not.May 20, 2024793May 20, 2024793
Published inITNEXTYour project teams don’t need to mirror your reporting structureIn fact, they probably shouldn’tMar 22, 2024172Mar 22, 2024172
Published inLevel Up CodingTry Modeling Behavior, Rather Than DataWasn’t that the original idea behind object-oriented programming, anyway?Dec 14, 20232982Dec 14, 20232982
Published inLevel Up CodingStop Writing Articles That Tell Engineers to Stop Doing SomethingSoftware design and architecture is about trade-offs, not absolutesSep 19, 2023365Sep 19, 2023365
Published inLevel Up CodingUse Spring Profiles to Make Your Life EasierJust don’t go overboardJun 30, 202358Jun 30, 202358
Published inITNEXTAre You Using Inner Sourcing as a Crutch?Any good pattern can become an anti-patternMay 9, 20239May 9, 20239
Published inThe HavenThe Most Bizarre Job Interview I’ve Ever HadIt involved Ayn Rand, a sailboat, and a lot of drivingApr 23, 202360Apr 23, 202360
Published inDataDrivenInvestorRefining the Idea of the Ideal Engineering TeamSometimes, even best practices can be made betterMar 30, 202364Mar 30, 202364
Published inLevel Up CodingCause Bugs with Functions that Accept Multiple, Identically-Typed ArgumentsOr don’t. Either way, here’s how.Feb 16, 2023Feb 16, 2023
Published inBetter ProgrammingWhat Can Moana Teach Us About Our Software Engineering Careers?A semi-serious approach to examining our work environmentsFeb 6, 2023Feb 6, 2023
Published inThe HavenSeven (and a Half) Trivial Life Lessons I’ve LearnedIf nothing else, please heed #2!Dec 5, 2022Dec 5, 2022
Published inLevel Up CodingDon’t Hate Your Coworkers for Meddling In Your CodebaseHate your organization insteadNov 8, 20222Nov 8, 20222
Published inITNEXTWhen Should You Assign IDs to Your Entities?The answer is ”as soon as your entity is created“… but is it really that simple?Oct 17, 20221Oct 17, 20221
Published inLevel Up CodingEclipse: Testing, Run Configurations, and JVM ArgumentsHow can you pass JVM arguments into a non-existent Run Configuration?Sep 2, 20221Sep 2, 20221
Stop Capitalizing Acronyms in Your Class NamesLEGIBILITYMATTERSMORETHANGRAMMAR… or, rather, LegibilityMattersMoreThanGrammarAug 18, 202214Aug 18, 202214
Published inThe RiffOne Reason That Some Pop Vocal Lines Sound So GoodIt’s all about the rhythmJul 11, 20221Jul 11, 20221
What Do I Mean By “Horizontal” Versus “Vertical” Engineering Teams?And more importantly… why does it matter?Apr 24, 2022Apr 24, 2022
Published inLevel Up CodingWhat’s the Difference Between an Aggregate and a Bounded ContextAren’t they really just the same thing?Mar 22, 20225Mar 22, 20225