
Software Engineer - Java
- Lahore, Punjab
- Permanent
- Full-time
- Understanding requirements around functionality and develop state or the art software that is efficient, scalable and durable
- Be responsible for enhancing and maintaining a highly transactional Java platform and build new Microservices
- Work as part of an amazing team of like-minded individuals with a can-do attitude to change the world
- Proactively identify technical debt, where the platform can be optimised, and introduce operational efficiencies
- Design and produce performant, scalable, highly transactional software, that adheres to functional and nonfunctional requirements, and be able to explain them to both technical and non-technical stakeholders
- Estimate, prioritise and execute tasks in a high-pressure environment
- Support the execution of production deployments and go-lives
- Contributing to team meetings; troubleshooting development and production problems across multiple environments and operating platforms.
- Working closely with all team members to understand full-stack functionality and architecture.
- Contributing ideas (technological and product) to enhance the overall app experience.
- Staying abreast with technological updates and implementing technology improvements after R&D.
- Ensure adherence to engineering processes such as code reviews, source control, unit testing, use case analysis, defect management, continuous integration and deployment
- Supporting teams by developing documentation and assistance tools
- BS degree in Computer Sciences
- 2-4 years of commercial experience in Java
- Proven experience of Spring Frameworks including Spring Boot, Spring Security and Spring Data
- Having a working knowledge of Docker, Kubernetes, AWS, UNIX-based operating systems, and Microservices
- Have experience working with relational DBs such as MySQL and noSQL DBs such as MongoDB
- Sound knowledge of AWS
- Have experience developing and designing RESTful API
- Ability to choose the right technology for the task at hand, whether it turns out to be the latest framework or an established one
- Must have a strong knowledge of object-oriented design, data structures, design patterns, SOLID principles, transaction management and development best practices
- Strong and innovative approach towards problem solving and finding solutions.
- Flexible and proactive/self-motivated working style with strong personal ownership of problem resolution.
- Good understanding of code versioning tools, such as Git
- Knowledge of static and dynamic code analysis and CICD pipeline.
- Should be able to estimate, prioritise and execute tasks either by pair programming or single-handedly in a high-pressure environment
- Good verbal and written communication skills
- Good team player that is enthusiastic about delivering results
- Experience working with Agile teams or startups
- Market Competitive Salary 💰