Overview
Job Purpose
ICE is seeking a Senior Java Developer to join its Single Sign-on (SSO) Enterprise Service development team. This team oversees the highly distributed, resilient, reliable, and secure SSO ecosystem. This position offers both server-side and front-end development opportunities.
This open position is quite unique. The developer not only builds top-quality, mission-critical software but also can do so with fun and flexibility. Our platforms are implemented with modern Java and rich front-end JavaScript/TypeScript applications using React.js. This is a great opportunity to learn new things and to have a significant impact on our world-class applications.
Responsibilities
The primary responsibility is for the design, implementation, and support of the SSO system based on current security standards, customer requirements, and integration needs for numerous applications within and beyond the ICE enterprise. A candidate that succeeds in this team (and at ICE in general) should have a product mentality, have a strong sense of ownership, and strive to be a good steward for his or her software. More than any concrete experience with specific technology, it is more important for the candidate to have a strong sense of what constitutes good software, be conscientious in picking the right technology stack, and be open-minded to learn (from others and from failures).
On the technical side, the ideal candidate should be highly proficient in Java design and development, have experience with front-end development using HTML5, JavaScript, CSS & React, developing or interfacing with relational databases such as Oracle or Postgres. In addition to fulfilling the typical development duties, the individual is expected to look beyond just writing code by contributing to the team’s success in multiple facets. The candidate should be able to communicate effectively and maintain good transparency on project status. The candidate is expected to interact closely with clients, quality assurance, and project/product management.
Knowledge and Experience
Bachelor’s degree or equivalent in Computer Science with 5+ years of Java development experience, or master’s degree with 3+ years of Java development experience
Demonstrable experience in design and system architecture
Good understanding of common design and architectural principles
Strong interpersonal skills and ability to work well in a team environment
Ability to work with little supervision and under pressure
Good decision-making ability; good judgment
Good communication skills
Extensive experience leading web-based development efforts using HTML5, JavaScript, Typescript, CSS, React/Redux and NodeJS
Core Java/Java collections
Relational databases
Performance tuning, debugging, and memory profiling
Unit, integration, and end-to-end tests
Knowledge of UNIX command and tools
Experience with SSO standards such as SAML/OAuth/OpenID Connect
Modern browser cookie management and debugging experience
Preferred Knowledge and Experience
Financial services experience
Experience with Kafka
Multi-threaded server-side development and Java concurrency
Cross-browser development and troubleshooting experience