How to Choose the Right Tech Stack: Lessons from a Java Backend Veteran

The author, a seasoned Java backend developer, shares personal experiences and insights on evaluating efficiency, ecosystem, and team dynamics when selecting technologies—from legacy frameworks and databases to modern big‑data tools like Spark and Flink—offering practical guidance for developers and teams navigating today’s rapidly evolving tech landscape.

Java High-Performance Architecture
Java High-Performance Architecture
Java High-Performance Architecture
How to Choose the Right Tech Stack: Lessons from a Java Backend Veteran

1. Introduction

The author reflects on a career that started with passive learning of popular technologies, progressed to questioning why certain tools are used, and now actively exploring cutting‑edge frameworks.

Having worked as a Java backend developer for seven‑eight years, the author has experienced the shift from jQuery and EasyUI to front‑back separation, from Hibernate+Struts to Spring MVC and Spring Boot, and from early Redis/Memcached battles to the dominance of Redis.

Later the author moved into the big‑data field, witnessing the rise and fall of MapReduce, Storm, JStorm, Spark, and the emergence of Flink.

The evolution of databases from traditional relational to NoSQL, NewSQL, data lakes, and modern distributed OLAP/OLTP systems is also discussed.

2. Efficiency

2.1 No Absolute Efficiency

Performance numbers are only meaningful when variables are controlled; a 5% gain may not justify trade‑offs.

2.2 Is Efficiency Absolutely Important?

Examples such as RabbitMQ vs. ActiveMQ vs. ZeroMQ show that the fastest solution is often not adopted due to ecosystem and team familiarity.

3. Environment

3.1 Domestic Development Landscape

Comparing MyBatis and Hibernate illustrates how technologies popular in China differ from global trends.

Google Trends and StackOverflow data show Hibernate’s worldwide popularity versus MyBatis’s regional dominance.

Community influence, language proficiency, and reliance on domestic resources also shape technology adoption.

4. Team

4.1 Technical Background and Preferences of Leaders

A 2017 streaming project chose JStorm over Spark Streaming because the team lead favored JStorm, even though the author was more familiar with Spark. The project succeeded but later suffered from maintenance issues due to the lead’s limited understanding of JStorm.

The experience highlights that a programmer’s competitiveness lies not only in quickly learning new tools but also in deep comprehension that enables rapid problem solving.

Choosing a technology should consider efficiency, learning curve, operational costs, and team expertise.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Big DataSoftware Engineeringteam dynamicsTechnology Selection
Java High-Performance Architecture
Written by

Java High-Performance Architecture

Sharing Java development articles and resources, including SSM architecture and the Spring ecosystem (Spring Boot, Spring Cloud, MyBatis, Dubbo, Docker), Zookeeper, Redis, architecture design, microservices, message queues, Git, etc.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.