Junior Java Developer - Hybrid

SmartIMS Inc.
Ann Arbor, MI, United States
30 days ago

Role details

Contract type
Temporary to permanent
Employment type
Full-time (> 32 hours)
Experience level
Starter
Experience required
1 year minimum
Compensation
$83,200.0 - $104,000.0
Working hours
Regular working hours

Tech stack

Java (Programming Language) Microsoft Windows Application Programming Interfaces (APIs) Agile Methodology Apache Ant Server Applications Macintosh Computers Apple Mac Systems Component-Based Software Engineering Application Frameworks Business Logic Software Applications
+35 more
Application Performance Management HTML5 Unix Code Review Data Structures Relational Databases Software Debugging Software Design Patterns Linux Distributed Systems Gradle Design of User Interfaces Hibernate (Java) JavaFX Spring Framework Swing (Java) JQuery JavaServer Faces Junit Apache Maven Enterprise Messaging Systems Object-Oriented Software Development Performance Tuning Software Engineering Multithreading Enterprise Software Applications Application Enhancement Tool Test-Driven Development (TDD) Concurrency Reliability of Systems Backend AngularJS Information Technology Teamcity Jenkins

Job description

As a Junior Java Developer, you will contribute to the development and enhancement of a high-performance desktop application within a collaborative and technically challenging environment. You will work on complex software design, performance optimization, and backend development activities while supporting critical components such as desktop applications, installers, Java runtime updates, user interfaces, and backend services. This role offers an opportunity to build expertise in enterprise application development, distributed systems, and modern software engineering practices while working alongside experienced development teams., * Design, develop, test, and maintain Java-based desktop and backend applications

  • Participate in software design, technical analysis, troubleshooting, and performance optimization activities
  • Contribute to system design, specifications, program logic, testing, debugging, and technical documentation
  • Analyze technical issues and recommend effective solutions for application enhancements and defect resolution
  • Support development of core business logic and backend modules
  • Collaborate with architects, developers, and infrastructure teams on strategic initiatives and system improvements
  • Participate in Agile development processes and test-driven development practices
  • Assist in troubleshooting complex issues in development and production environments
  • Develop and maintain APIs, frameworks, and distributed application components
  • Support application performance tuning, scalability improvements, and system reliability efforts
  • Participate in code reviews, technical discussions, and knowledge-sharing activities
  • Work across multiple operating systems including Windows, Linux, and Mac environments

Requirements

  • Bachelor s degree in Computer Science or a related technical discipline
  • 1+ year of experience with Core Java development on both client-side and server-side applications
  • Understanding of object-oriented analysis and design (OOA/OOD) principles
  • Knowledge of data structures, algorithms, and design patterns
  • Experience with Agile methodologies and test-driven development practices
  • Familiarity with distributed systems, relational databases, and messaging systems
  • Experience with application frameworks such as Spring, Hibernate, JSF, or similar technologies
  • Experience with modern UI technologies such as JavaFX, Swing, Angular, jQuery, HTML5, or similar frameworks
  • Knowledge of Unix/Linux, Windows, and Mac operating systems
  • Experience with build, deployment, and automation tools such as Maven, Gradle, Ant, Jenkins, TeamCity, or JUnit
  • Ability to analyze and troubleshoot technical issues effectively
  • Strong written and verbal communication skills
  • Ability to work collaboratively within a team-oriented environment
  • Experience developing desktop applications (preferred)
  • Experience with concurrency, multithreading, and performance tuning (preferred)
  • Knowledge of Java Garbage Collection and scalability concepts (preferred)
  • Experience developing APIs and reusable frameworks (preferred)
  • Familiarity with financial services, trading platforms, or capital markets applications (preferred)

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.careerjet.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:03 min

Microsoft integrating native Unix coreutils into Windows environments

Chris Heilmann +2 · LIVE

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

1:44 min

Playing synthesized backend audio objects in browsers

Lee Boonstra · LIVE

1:25 min

Building medical software with Java and JavaFX

Silvio Barbieri · Coffee With Developers

2:04 min

Defining timestamps and the international standard format

Denny Biasiolli Denny Biasiolli · Europe 2026 Virtual

5:29 min

Simulating a senior Java developer technical interview

Jakov Semenski · LIVE

Videos

See all

Related articles

See all