The World’s Operating Manual If the earth came with an instruction manual, geography would be Chapter 1. Essentially, we’re all just trying to keep civilization going, and Esri invented a way to sustain society on an operational level using maps to preempt and solve problems.  There’s no lack of businesses, agencies, and departments that need assistance achieving operational health and even saving lives. We call that “job security.”  Strength in NumbersWe have 4,000 employees, with 1,100 on our dev and product teams—and growing! 350,000 organizations around the world rely on our software. We’ve pledged $1 billion in STEM software to 100,000 K-12 schools and have supported 13,000 nonprofits around the world. We spend almost 30% of our annual revenue on R&D. Our ArcGIS product suite has been localized in more than 30 languages."Data meets geography at Esri, a billion-dollar company whose mapping technology enables feats like predicting flash floods, managing supply chains in real time, and cutting disease outbreaks off at the pass." --Fast Company

Esri

Redlands, CA

Java Software Engineer - Security

Build the next generation of ArcGIS Enterprise, a suite of products delivering state-of-the-art mapping and analytics capability to thousands of customers and millions of users worldwide.

Our team builds cutting-edge, highly scalable and reliable distributed software for on-premises and the cloud to make maps, geographic information, and analyses available on any device, anywhere, at any time. Our software engineers provide a strong technical voice in the product development process and use the best tools available to design, develop, and deliver a high-quality distributed systems platform.

As a security software engineer, you will analyze software designs and implementations from a security perspective and identify and resolve security issues. You will include the appropriate security analysis, defenses and countermeasures at each phase of the software development lifecycle, to result in robust and reliable software. You will work with our cross-functional global team of software engineers, product engineers, designers, product managers, and release engineers. You will be actively involved in enhancing the capability of the ArcGIS Enterprise platform from feature inception to delivery, using bleeding edge technology.

If you are passionate about building secure distributed systems, micro-services architecture, and spatial data analytics, join us!

Responsibilities:

  • Build server-side Java components and web services to power user experience and geospatial workflows that incorporates applied cryptography techniques, such as symmetric or asymmetric encryption
  • Prototype, design, develop, and deliver complete software features and products that can scale, are fault tolerant, and handle concurrent workloads
  • Design, architect, and lead a team to build complete software features/products to meet customer requirements
  • 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
  • Mentor and groom junior engineers through design and code reviews, technology presentations, and insights

Requirements:

  • 5+ years of experience developing security patterns in software, including authentication and authorization, applied cryptography (e.g., symmetric and asymmetric encryption), and identifying security vulnerabilities and remediation
  • Strong understanding of TLS and PKI implementations
  • 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
  • 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

Recommended Qualifications:

  • Knowledge of Docker containers, orchestrators such as Kubernetes, and secure patterns in these environments
  • Familiarity with JSON and XML
  • Knowledge of relational databases such as SQL Server, Oracle, PostgreSQL, or DB2
  • Experience with automated integration testing techniques, such as Jenkins and JMeter
  • Knowledge of and familiarity with Java build systems, i.e. Maven
  • Experience with HTTP monitoring tools (Fiddler) and JDK debugging tools (JProfiler, jmap)