Jason Lee

Jason Lee

Java Champion • Principal Software Engineer at IBM

25+
Years Experience
325
Posts Authored
20+
Years JUG Leadership
7
Books and Articles Published

Latest Blog Entries

Koin: The Way Object Handling Was Mint to Be

Sharp-eyed readers of this series may have noticed something…​suboptimal: Up until this point, we’ve been creating certain objects as global variables. They’re immutable, so that may be technically OK, but those of a certain age have been taught for years how wrong that is, so technically OK or not, it just feels gross. In this post, we’re going to fix that with by implementing inversion of control with Koin...

Read More ›

Moar Data!

In the last entry, we looked at how to read data from the device’s local database using Room and display it on the screen, but we did so using dummy data. In this entry, we’ll look at how to use Room in our components to persist user-entered data in our SQLite database...

Read More ›

Decompose and Data. Let's See What You Got

In the last post — months ago (and, yes, I hand typed the em dash, not some soulless AI :) — we added support for the Room database API, so now we can store data, but we have no way of seeing what we’ve saved. We also have no way of giving it data to save. In this post, we’ll tackle the first part by creating views to show what we have, then loading the database.....

Read More ›

Make Room for Some Data

So far, we have a runnable application that has two screens. We can navigate between those screens, but the app doesn’t really do anything. In this post, we’ll start to fix that. We’ll lay out the data model for the application, then introduce the library, Android Room, we’ll use to access it...

Read More ›

Decompose Navigation: Let's Add a Screen

In the last post, we added the various pieces to make navigation possible and stopped JUST short of the goal line. In this post, we’ll finish up our navigation discussion by adding a new screen and seeing navigation in action...

Read More ›

Decompose Navigation and the Root Component

So far, we have an app that runs but has only one "screen". Decompose makes adding more screens — and navigating between them — pretty simple. In this post, we’ll start to see how that’s done...

Read More ›

About Me

I'm a Java Champion and Principal Software Engineer at IBM with over 25 years of experience building enterprise-grade applications. I’ve been a professional developer since 1997, using a variety of languages, including Java, Kotlin, C/C++, JavaScript, PHP, Python, Delphi, C#, and even a bit of COBOL and JCL. I currently work for IBM on the WildFly/EAP team, where, among other things, I maintain integrations for some MicroProfile specs, OpenTelemetry, Micrometer, Jakarta Faces, and Bean Validation.

As President of the Oklahoma City JUG, I'm passionate about community building, mentoring developers, and advancing the Java ecosystem. I am a frequent speaker at our local JUG, as well at a variety of technical conferences across the country.

I published Java 9 Programming Blueprints, and actively contribute to several major open-source projects, including WildFly, Undertow, and Arquillian.

I am a life-long learner who loves to apply what I've learned to real-world business problems to find a solution to make employers and customers alike happy. My favorite place to be is slightly out of my depth as I strive to grow while bringing value to the project.

On the personal side, I’m active in my church, and enjoy bass guitar, running, fishing, and a variety of martial arts. I’m also married to a beautiful woman and have two boys, who, thankfully, look like their mother.

What I Do

🚀

Greenfield Development

Build new systems with modern architecture patterns, microservices, and cloud-native design. Careful in choosing the right technology stack for your specific needs.

👨‍🏫

Mentor Younger Developers

Mentor junior developers in their journey to master the latest technologies and best practices. Provide guidance, support, and mentorship to help them grow.

🏗️

REST API Architecture

Design and implement robust, scalable REST APIs using MicroProfile, Jakarta Rest, and modern API best practices. From design to documentation and versioning.

Code Quality Excellence

Maintain high standards through comprehensive test-driven development (TDD) strategies, code reviews, CI/CD pipelines, and quality automation. Build maintainable, production-ready code.

📖

Open Source Experience

Work actively on multiple open-source projects, contributing to the community and sharing knowledge. Collaborate with industry experts to solve complex problems and drive innovation.

🔈

Conference and User Group Speaker

Present at conferences and user groups, sharing knowledge and experiences on cutting-edge technologies. Sharing as I build and learn to bring others along with me.

What I Use

Enterprise Java

Jakarta EE Jakarta Rest MicroProfile OpenTelemetry Micrometer CDI JPA Bean Validation

Languages

Java Kotlin JavaScript C# C/C++ Python PHP Delphi SQL XML

Tools

Maven Gradle Git IntelliJ IDEA CI/CD

Frameworks

Quarkus WildFly Spring Boot

Mobile

Android Compose Multiplatform

What I've Done

Open Source Contributions

  • WildFly Application Server - Active contributor to the leading Jakarta EE application server
  • Arquillian - Testing framework ecosystem contributions
  • 128+ GitHub Repositories - Extensive portfolio of open-source projects and tools

Community Leadership

President, Oklahoma City JUG - Leading one of the most active Java User Groups in the region, organizing regular meetups, workshops, and knowledge-sharing sessions. Committed to fostering growth and mentorship in the Java community.

Java 9 Programming Blueprints

Packt Publishing, 2017

A comprehensive guide featuring 10 projects demonstrating Java 9's powerful features, including modules, reactive programming, and modern development patterns. This book helps developers master the latest Java capabilities through hands-on, real-world examples.

Ready to Do Something Exceptional?

Whether you need enterprise application development, legacy system modernization, junior developer mentoring, or any help with any other variety of enterprise concerns, I bring 25+ years of proven expertise to turn your vision into reality.