Sumith Kumar Puri

[ 19y 00m ]   Hands-On Principal Software Architect / Engineering Leader
Open for CTO or VP (Engineering) | Java / Java EE / Microservices Expert

Selected Blog Articles

Consistently and across years, I have championed the cause of Technology, especially Java/Java EE, Computer Science, Computer Programming, Problem Solving, Algorithms & Data Structures. I have been repeatedly been asked by my organizations to groom or train internal and external teams, due to my high skill level. This was in the role of a Trainer, Test Setter, Test Evaluator & Interviewer - all in the context of Java, J2EE and more recently, Microservices. Also, I blog a lot and I have been recognized and am well-read across the internet.

Read more than 1.5mn times across Developer Magazines, I am presenting a few of the most important topics/articles from among my blog entries. If you are a developer, engineer, architect, leader, especially on the Java/Java EE/Microservices stack -  I am sure you might have read one of my articles during your daily work. I have been published across DZone, Java Code Geek, Foojay, jGuru, Codeguru, Developer.com, [Techila Shots], CSI Communications, Dreamix*, NLJUG*, LinkedIn*, Facebook*, Twitter*, Ulitzer*, Independent Java Magazine among many others.

Subscribe to my Technical Blog Directly [Using Your Google/GMail ID]

Technical Books (Published)
My First Technical Book was published in 2021-'22 and is a 4+1 Part Series of Booklets on Microservices Architecture. It provides a quick way to review, learn, revisit, refresh and understand the concepts and reasons to move to a Microservices Architecture. The Part 01 is already out and the details are provided below.

Microservices Architecture, Part 01 : The Decision Maker

Amazon Prime | Notion Press | Flipkart India

List of Tech Books Published & In Progress - By Sumith Puri


Blog Articles / Magazine Articles

Data Science, DM, ML, AI, AI Algos
An Efficient Multi-Threaded Geo Web Crawler with Java
SKP's AI-ML-DM Series #01: Tic-Tac-Toe Using the Minimax Algorithm

Innovative Product Development
SKP's Innovative Product Development #1 : Innovative Thinking

SKP's Product Dev Master Class #02: Creativity and Innovation

Hibernate / Lucene, L1 / L2 Cache

How to Enforce Size Constraints (in Infinispan) with Java Instrumentation...
How to Handle Stop Words in Hibernate Search 5.5.2 / Apache Lucene 5.4.x

Starting Search with Apache Lucene 5.3.X/5.4.X
How to handle Stop Words in Hibernate Search 5.5.2 / Apache Lucene

REST, SOAP, Web Services, XML
JAX-RS (REST Web Services) Using Apache Wink (Part 2)
JAX-RS (REST Web Services) Using Apache Wink (Part 1)
SOAP Web Services Using CXF/JiBX [JAX-WS]

Developer Productivity & Testing
Acceptance and Integration Testing in JEE Using Arquillian
Debugging Using Wildfly and Arquillian

Spring Boot/Cloud/Data/Security
Starting Docker Desktop with Spring Boot
Clean Shutdown of Spring Boot Applications

Cloud/Containers - AWS, Docker
AWS Step Functions - Features & Usage - Part #01

AWS Step Functions - I/O Manipulation & Execution - Part #02
AWS Step Functions - Integration, Logs & Docs - Part #03
Starting AWS Elastic Beanstalk : Deploy Spring Boot (REST)

Rules Engines, CEP & ESP
Introduction to Rules Engines Using Drools Expert
Introduction to Complex Event Processing Using Drools

Microservices Architecture
SKP’s Definitive Primer: Failures, Pitfalls & Disadvantages of Microservices
Obelix - Microservices Reference Implementation
SKP's Microservices #1 - Failures, Pitfalls & Disadvantages of Microservices
SKP's Microservices #2 - The Needs and Motivations for Microservices
SKP's Microservices #3 - The Pains of Monolithic Architecture
SKP's Microservices #4 - Moving from Monolith to Microservices

Software Design & Architecture
Hardware Sizing for Java/Java EE Products

Design Patterns - GoF and J2EE
GoF Design Patterns Using Java (Part 2)
GoF Design Patterns Using Java (Part 1)

Agile / Scrum / Waterfall / Lean
SKP’s Agile Cheatsheet: Part 01
SKP’s Agile Cheatsheet: Part 02
SKP’s Agile Cheatsheet : Part 03

Maven/Jenkins/GitHub/ANT/CI/CD
Starting with Apache Maven

Java EE/Jakarta EE/Enterprise
Contexts and Dependency Injection (CDI): Eager Extensions
SKP's Java/JEE Gotchas: Testing JEE6 CDI Outside of a Container [Snippet]
SKP's Java/JEE Gotchas: Manifest Dependencies
SKP's Java/JEE Gotchas: JAR File Dependencies

Core Java / JRE / Java Internals
Java Object Memory Layout/Anatomy-Deep Size of an Object  
Java Memory Architecture (Model), Garbage Collection and Memory Leaks
Java Memory Architecture Cheat Sheet
Intricacies of Multi-Threading in Java
Compile Time Dynamism using Java Generics
The Evolution of the Java Memory Architecture
Java SE 9: What's New? 
SKP's Java/Java EE Gotchas: Revisiting Java SE 8 Features! 
SKP's Java/Java EE Gotchas: Revisiting Java SE 7 Features! 
SKP's Java/Java EE Gotchas: Revisiting Java SE 6 Features! 
SKP's Java/Java EE Gotchas: Revisiting Java SE 5 Features!  

Algorithms and Data Structures
SKP's Algorithms and Data Structures #1
SKP's Algorithms and Data Structures #2
SKP's Algorithms and Data Structures #3
SKP's Algorithms and Data Structures #6: Java Problem: Active Traders
SKP's Algorithms and Data Structures #9: Java Problem: Monkeys in the Garden
SKP Algorithms and Data Structures #11: Longest Palindrome in a String 

SKP's Algorithms and Data Structures #10: Auto-Complete Using Trie (Java)
SKP's Algorithms and Data Structures #5: Java Problem: Changes in Usernames

Puzzles, IQ and Problem Solving

SKP's Java Problem Solving Series : Van Eck's Sequence (Naive & Fast Lookup)


OOP, Functional Programming, SOLID

SKP's Algorithms and Data Structures #7: Functional Programming and Lambdas in Java
SKP's Algorithms and Data Structures #8: Java Problem: Simple Inheritance (OOPs)

Business Domains & Management
[Add Published Articles Here]

Entrepreneurship and Leadership
[Add Published Articles Here]

Clean Code, Quality & Standards
[Add Published Articles Here]

Performance, Stability, Scalability
[Add Published Articles Here]

Competitive & Math Programming
[Add Published Articles Here]