Role
Junior Java Developer
Location
Ann Arbor, MI (4 days on site and one remote day)
Duration
12 Months
Overview
The development team is looking for a talented Java developer to join our team, working on an industry‑leading desktop trading platform. We work in a collaborative, innovative, and technically challenging environment, where developers have the opportunity to perform complex software design tasks and technical analysis on a highly performant, multi‑threaded and resilient system, where high performance is key. Specifically, this role will act as a subject matter expert on the thinkorswim Desktop application, while providing expertise on our installer, Java JRE updater, Java UI, and various backend modules.
Responsibilities
- Performs product design & troubleshooting exercises of extremely high complexity requiring extensive research and analysis
- Leads system design and specification development; program logic and flow‑charting, testing, debugging, and documentation
- Responsible for making complex design decisions used by development teams
- Leads complex programming tasks, reviewing various tasks and documentation
- Provides analysis of problems and recommends solutions
- Key contributor in client/technology interactions in the development of technology solutions
- Interfaces with Enterprise Architecture & Infrastructure teams on strategic designs and initiatives
- Leads troubleshooting of complex problems in development and production environments, ensuring timely resolution of issues
Core Qualifications
- 1+ year of experience in Java and J2EE (client and server side)
- 1+ year experience with OOA/OOD, distributed systems/software, real‑time processing, relational database systems, messaging systems
- Strong understanding of data structures, algorithms and design patterns (GoF)
- Experience with agile, test‑driven development
- Experience with rich UI frameworks like AngularJS, jQuery, HTML5, Swing, JavaFX or similar
- Experience with application development frameworks like Spring, Hibernate, JSF or similar
- Experience with Unix/Linux, Windows, Mac
- Experience with build, deploy and test automation tools (Ant, Gradle, Maven, Jenkins, TeamCity, JUnit or similar)
- Demonstrated experience working with core business logic within applications
- Experience developing APIs and frameworks
- Excellent written and verbal communication skills
- Bachelor's degree in Computer Science or equivalent discipline
Preferred Qualifications
- Experience developing a downloadable desktop application
- Experience with concurrency & multi‑threading
- Experience with scaling, Java garbage collection, and performance tuning
- Working knowledge of finance and/or trading domain
Required Education
Bachelor's degree in Computer Science or similar degree with test‑driven development.
#J-18808-Ljbffr