Java Software Engineer

Join our team of exceptional software developers where you’ll design and build next-gen ArcGIS for Server software for enterprise and cloud for millions of users worldwide. We are looking for professionals in a number of specific areas such as Amazon and Azure cloud services, Java EE, RESTful web services, and new and upcoming middleware and server-side technologies.


Build server-side Java components that power UX and scriptable administration of ArcGIS for Server
Design and build REST interfaces for administration of ArcGIS for Server
Design and build server-side components that seamlessly run on-premises and on cloud platforms
Find, analyze, and fix bugs/performance problems whenever and wherever they occur
Work collaboratively with other teams to understand requirements and incorporate them into the software

Bachelor's, master’s, or Ph.D. in math, computer science, physics, or related field, depending on position level
Three or more years of experience developing middleware software components using core Java, Servlets, JSP, EJBs
Good understanding of cloud computing platforms and services such as Amazon S3, SQS, EC2 and Azure services such as Blob Service, Table Service, etc.
Good understanding of Java design patterns
Knowledge of relational databases such as SQL Server, Oracle, PostgreSQL, or DB2
Experience developing code in a popular Java IDE, i.e. Eclipse/IntelliJ IDEA
Fundamental understanding of web services including SOAP and REST
Knowledge of working with a source control system, preferably Borland StarTeam and GIT
Excellent problem-solving, design, development, and debugging skills
Excellent written and verbal communication and time management skills

Familiarity with JSON and XML
Knowledge of and familiarity with Java build systems, i.e. Maven and ANT
Experience with HTTP monitoring tools and JDK debugging tools
Java Software Engineer