This role works closely with the ICE teams in the U.S. Therefore, qualified candidates are expected to overlap part of their working hours with the U.S. Eastern time zone.
Responsibilities
Follow team guidelines for quality and consistency within the design and development phases of applications
Lead efforts to design, architect and write new software components
Independently handle project activities related to builds and deployments
Create design documentation for new software development
Provide support for production applications
Provide support for deployments during maintenance windows
Identify opportunities to improve and optimize applications
Work with business analysts or product management in understanding new requirements
Follow company software development processes and standards
Knowledge and Experience
Bachelor’s degree in Computer Science or Information technology
6+ years of experience of Java development
Experience with and strong understanding of
multi-threaded server-side development and Java concurrency
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
Understanding of common design and architectural principles
Strong interpersonal and communication skills to work well in a team environment
Ability to work with little supervision and under pressure
Proven track record of making decisions with positive outcome
Hands‑on experience using AI coding assistants(Claude Code / Cursor / GitHub Copilot) to support daily development work
Front-end JavaScript development (with modern JavaScript web application stack such as React) preferred
Cross-browser development and troubleshooting experience preferred
Exposure to Scala, Kubernetes, Docker, Kafka, and Postgres preferred
Nice to have: PostgreSQL, PostGIS. Experience working Geospatial data is a plus.