Senior Engineer - Java
Role details
Job location
Tech stack
Job description
Our Senior Java Engineer is a key member of the engineering staff working across the organization to provide a friction-less experience to our customers and maintain the highest standards of protection and availability. Our team thrives and succeeds in delivering high quality technology products and services in a hyper-growth environment where priorities shift quickly. The ideal candidate has broad and deep technical knowledge, typically ranging from front-end UIs through back-end systems and all points in between., GEICO is seeking an experienced Senior Java Engineer with a passion for building high-performance, low maintenance, zero-downtime platforms, and applications from the ground up. You will help drive our insurance business transformation as we transition from a traditional IT model to a tech organization with engineering excellence as its mission, while co-creating the culture of psychological safety and continuous improvement., Our Senior Java Back-End Engineer is a key member of the engineering staff working across the organization to provide a friction-less experience to our customers and maintain the highest standards of protection and availability. Our team thrives and succeeds in delivering high quality technology products and services in a hyper-growth environment where priorities shift quickly. The ideal candidate has broad and deep technical knowledge, typically ranging from front-end UIs through back-end systems and all points in between, and a proven background in Java, Linux, Microservices, Containers (Kubernetes), and database modeling, performance tuning, query optimization, data sharding, partitioning, building, configuring, and maintaining PostgreSQL., As a Senior Java Engineer, you will:
- Scope, design, and build scalable, resilient distributed systems
- Build product definition and leverage your technical skills to drive towards the right solution
- Engage in cross-functional collaboration throughout the entire software lifecycle
- Lead in design sessions and code reviews with peers to elevate the quality of engineering across the organization
- Define, create, and support reusable application and database components/patterns from a business and technology perspective
- Utilize programming languages like JavaScript, TypeScript, Java, C#, Python, and Container Orchestration services including Docker and Kubernetes, and a variety of Azure tools and services across the software development life cycle (task management, source code, building, deployment, operations, real-time communication) to perform advanced-level Java application design and PostgreSQL database design, implementation, and maintenance under minimal direction
- Mentor other engineers
- Consistently share best practices and improve processes within and across teams
Requirements
- Fluency and specialization with at least two modern languages such as Java, C++, Python or C# including object-oriented design
- Proven understanding of micro-services architecture and extensible REST APIs
- Advanced understanding of DevOps Concepts and Cloud Architecture
- Experience building the architecture and design (architecture, design patterns, reliability, and scaling) of new and current systems
- Experience with PostgreSQL database design, implementation, and administration
- Experience with application monitoring tools and performance assessments
- Knowledge of security protocols and products: Understanding of Active Directory, Windows Authentication, SAML, OAuth
- Knowledge of Kubernetes or willingness and ability to learn
- Experience with continuous delivery and infrastructure as code
- Knowledge of developer tooling across the software development life cycle (task management, source code, building, deployment, operations, real-time communication)
- In-depth knowledge of CS data structures and algorithms
- Advanced SQL scripting skills
- Strong problem-solving ability
- Ability to excel in a fast-paced, startup-like environment, * 4+ years of professional software development experience within a Java framework (web containers and Java)
- 3+ years of experience with architecture and design
- 3+ years of experience with AWS, GCP, Azure, or another cloud service
- 2+ years of experience in open-source frameworks, * Bachelor's degree in Computer Science, Information Systems, or equivalent education or work experience