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!
- 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
- 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
- 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)