Principal Software Engineer
Work collaboratively with a team of talented software engineers building platform software solutions. Our team of engineers builds and manages a diverse suite of products and services, with opportunities to work on content management systems, authentication and authorization, system auditing, orchestration engine, and search technology.
Responsibilities :
You will be building scalable, maintainable, and well-tested software solutions which are flexible enough to meet the requirements of multiple customers and stakeholders. You will:
- Provide subject matter expertise on design and coding best practices and assisting in building and implementing related guidelines and standards
- Advise on architecture and propose solutions that span multiple teams and organizations
- Maintain a deep understanding of our core systems and how they interact with upstream and downstream dependencies.
- Contribute and review code, set standards, and work with engineers to ensure product and design specifications are met
- Responsible for fundamental platform performance, scalability, and resiliency
- Partner with stakeholders to refine requirements, and propose solutions to problems that span multiple teams
- Influence and contribute to department technical strategy and planning
- Provide mentoring to engineers on advanced technical issues
- Define requirements and architecture for multi-layered systems
- Direct and influence the efforts of engineers across teams
- Partner with leaders from other teams to ensure the planning and delivery of medium and large-scale projects.
Basic Qualifications :
- 10+ Years industry experience
- Computer Science degree or equivalent experience
- Experience with REST APIs, Microservice architectures, async programming models
- Experience with wide range of data store technologies such as Postgres, Redis, MongoDB, Elasticsearch, and DynamoDB
- Experience with Java and JVM ecosystem including Spring Framework and Spring Cloud
- Experience with Cloud-based technologies such as AWS EC2, S3, SQS, Lambda and Step Functions, and Fargate
- Experience with build and deployment technologies such as Docker, Gitlab-CI, Terraform/Cloud formation, and Jenkins
- Experience in Agile/Scrum methodology
- Expertise with full lifecycle of application development, including best practices of unit testing, code reviews, documentation, etc.
- Motivated self-starter with the ability to learn and adapt to new technologies.
- Can effectively articulate complex ideas and influence others through well-reasoned explanations
- Has had a leading role in the design, implementation, and deployment of one or more high volume, cross-functional enterprise-level system.
- Team player with strong oral and written communications skills