Your Opportunity
The thinkorswim 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.
What you are good at
- Performs product design & troubleshooting exercises of extremely high complexity which require extensive research and analysis
Leads system design and specification development, program logic and flow-charting, testing, debugging, and documentation
- Will be responsible for making complex design choices to be used by the development teams
- Leads complex programming tasks, providing review of various development tasks and documentation
- Provides analysis of problems and recommends solutions
- A key contributor in client/technology interactions in the development of technology solutions
- Will interface with Enterprise Architecture & Infrastructure teams on strategic designs and initiatives
- Leads the troubleshooting of complex problems in development and production environments, ensuring timely resolution of issues
What you have
- 3+ Years of Java, J2EE (both client and server side) required
- 1+ Years experience working on the thinkorswim desktop application required
- 3+ Years Experience with OOA/OOD, distributed systems/software, real time processing, relational database systems, messaging systems preferred
- Experience working on high-transaction desktop trading systems required
- Experience with concurrency & multi-threading required
- Experience with scaling, Java Garbage Collection, and performance tuning required
- Experience with agile, test-driven development required
- Experience with Java Swing required
- Experience with Unix/Linux, Windows required
- Experience with build, deploy and test automation tools like Ant, Gradle, Maven and TeamCity, JUnit required
- Demonstrated experience working with core business logic within applications
- Experience in developing APIs and Frameworks
- Excellent written and verbal communication skills
- Bachelor's degree in Computer Science or equivalent discipline
# of Years Required:
- 3+ Years of Core Java (both client and server side)
Required Education:
- Bachelor's degree in Computer Science or similar degree