
Principal Software Engineer- Java
- Lahore, Punjab Multan, Punjab
- Permanent
- Full-time
- Responsible for feature design; evaluate designs and provide feedback
- Influence quality standards and understand, identify, measure across entire solution
- Identify performance issues and optimize solutions
- Demonstrate competence of engineering concepts and theories, combining them with business understanding to design, document and implement clean and robust solutions to complex business problems
- Collaborate with other engineering teams, business stakeholders, as well as program and product managers to define and implement technical solutions
- Demonstrate an ability to turn business needs into functional requirements, while also explaining technical details in ways the business can understand.
- Participate in defining, scoping, and estimating resulting stories
- Work closely with your peers and help the team achieve its goals
- Maintain a high bar for code quality, testing and automation while finding opportunities to continuously improve them
- Drive design and code reviews, ensuring the team ships high quality, scalable, maintainable, and well-tested code
- Maintain a DevOps mindset, promoting cloud-oriented solutions while implementing and supporting monitoring, alerting, CI/CD pipelines as well as the team's Cloud infrastructure
- 5+ years of professional experience in delivering quality software, ideally across the full stack
- Excellent proficiency in an Object-Oriented language, such as Java
- Proficient with Java, Java Spring Boot Framework, Containerization(K8s/Docker)
- Test automation experience at all levels (Unit, Integration, Regression, Load)
- Familiarity with modern infrastructure tools and pipelines (Gitlab CI/CD, Terraform)
- Experience with RESTful architecture and micro services
- Experience with system design, architecture, scaling, and performance testing. Experience building services a plus
- Experience with Cloud technologies specially AWS
- Experience with databases like postgres.
- Experience with Cache based low latency system design
- Familiarity with CI/CD and testing tools.
- Strong understanding of computer science fundamentals
- Familiarity with ops tools, logging, and metrics (New Relic, Splunk)
- Experience with messaging technologies and patterns (Kafka/SQS)