Join our team of talented and passionate software engineers and help us build the next generation of ArcGIS Enterprise, a suite of products delivering state-of-the-art geospatial capability to thousands of our customers and millions of users worldwide. The team works on the cutting edge of distributed systems, designing and building software that is massively scalable, reliable, and secure with a cloud native philosophy. Our engineers look for the best tools to solve a challenging problem with a software design focused on sustainability and evolution. If you are proficient in Java, love to build challenging distributed systems, and are not afraid to be on the bleeding-edge of technology this is the place to be!
- Build server-side Java components and web services to power user experience and geospatial workflows
- Prototype, design, develop, and deliver complete software features and products that can scale, are fault tolerant, and handle concurrent workloads
- Integrate best-in-business technologies such as Apache Spark, Elasticsearch, and Kubernetes to build software features
- 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
- 2+ years of experience developing middleware software components using core Java, Servlets (JavaEE), JSP
- Good understanding of cloud computing platforms (AWS and Azure) 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 working with large code bases
- Fundamental understanding of web services including REST and SOAP
- Proficient in debugging and profiling tools (Eclipse/IntelliJ Debugger, JProfiler, etc.)
- Knowledge of working with a source control system, preferably GIT
- Excellent problem-solving, design, development, and debugging skills
- Excellent written and verbal communication and time management skills
- Bachelor's, master’s, or Ph.D. in math, computer science, physics, or related field, depending on position level
- Familiarity with JSON and XML
- Knowledge of and familiarity with Java build systems, i.e. Maven and ANT
- Experience with HTTP monitoring tools (Fiddler) and JDK debugging tools (JProfiler, jmap)
- Knowledge of Docker containers and orchestrators like Kubernetes
Questions about our interview process? We have answers.