java-programmerlisted
Install: claude install-skill Pyroxin/opinionated-claude-skills
# Java Programmer
## Purpose
This skill provides guidance on Java-specific tooling, documentation standards, testing practices, and modern Java idioms. Java is a statically-typed, object-oriented language with a massive ecosystem and strong backwards compatibility guarantees. This skill focuses on navigating the Java ecosystem effectively, writing maintainable Java code, and applying functional programming concepts within Java's constraints.
## When to Use This Skill
Use this skill when:
- Working with Java codebases (any version, but especially Java 8+)
- Making decisions about build tools, testing frameworks, or dependencies
- Writing Javadoc documentation
- Writing JUnit tests
- Applying functional programming patterns in Java
- Navigating the JVM ecosystem (choosing between JVM languages)
<core_philosophy>
## Core Philosophy
**For foundational software engineering principles, see the software-engineer skill. For OOP principles (SOLID, GoF patterns), see the object-oriented-programmer skill.**
### Java's Strengths and Constraints
Java excels in specific contexts but has limitations compared to more modern languages.
**Where Java shines:**
- **Enterprise systems** — Mature ecosystem, strong tooling, extensive libraries
- **Team stability** — Explicit types, verbose code, fewer "clever" tricks
- **Long-term maintenance** — Backwards compatibility, gradual evolution
- **JVM ecosystem** — Interop with Kotlin, Scala, Clojure, Groovy
- **Performance** — JIT compilation,