Java Software Engineer - Insights for ArcGIS

Esri   •  

Redlands, CA

Industry: Technology

  •  

Less than 5 years

Posted 35 days ago

Responsibilities:

  • Build server-side Java components that power UX and scriptable front-ends
  • Architect solutions working as an expert Java programmer, writing scalable, reusable, and maintainable code
  • Design and build REST interfaces
  • 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

REQUIREMENTS

  • 3+ years of experience developing middleware software components using core Java, Servlets, JSP, EJBs
  • Good understanding of cloud computing platforms and services (MicroService Architectures, Docker Containers) and working with cloud services (Amazon S3, SQS, EC2) and Azure services (Blob Service, Table Service, etc.)
  • Good understanding of Java design patterns
  • Knowledge of data systems to span structured, semi-structured, and unstructured data systems
  • Experience developing code in a popular Java IDE, i.e. Eclipse/IntelliJ IDEA
  • Fundamental understanding of web services including SOAP and REST
  • Understand the importance of software development methodologies (Agile, Scrum, Waterfall, RAD, RUP) and software design techniques (UML, entity relationship diagramming, use cases, data flow diagramming); know how they impact the quality of your design process, team collaboration, and work product
  • Knowledge of working with a source control system, preferably Borland StarTeam and GIT
  • Excellent communication skills and the ability to work with a diverse team
  • Bachelor's, master’s, or Ph.D. in math, computer science, physics, or related field, depending on position level

Recommended Qualifications:

  • Familiarity with JSON and XML
  • Knowledge of and familiarity with Java build systems, i.e. Maven and ANT
  • Experience with Apache Spark, Hadoop or other similar technologies
  • Familiarity with Spatial technologies
  • Experience with HTTP monitoring tools and JDK debugging tools
  • Working knowledge and experience with SQL and relational data systems