Senior Backend Engineer
About the job
Type: Full Time
Location: Hybrid
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience
- 7+ years of experience in developing software in Java, Spring Boot, Hibernate, and related stack
- Strong knowledge of data structures, algorithms, and software development principles
- Proficiency with OOP concepts, large-scale software architecture, networking and distributed system and UNIX/Linux environments
- Experience with data modeling and database design with focus on performance
- Experience with Relational (especially PostgreSQL) and NoSQL databases
- Experience with service-oriented architecture (especially REST)
- Knowledge of Cloud Services and cloud native application development (AWS, especially EC2, ECS, RDS, S3, Lambda)
- Expert-level understanding of CI/CD principles, know-how of various tools, and passionate focus on CI/CD practices
- Experience with containerization and orchestration frameworks such as Docker and/or Kubernetes
- Strong unit test and debugging skills
- Proficiency in code versioning tools such as Git
- Strong sense of analytical thinking and problem-solving skills
- Excellent attention to detail
- Highly effective time management and multitasking skills
- Strong verbal and written communication skills
- Fluent in English
Preferred qualifications:
- Basic understanding of front-end technologies such as JavaScript, React, HTML5 and CSS3
- Prior experience with SCRUM/Agile methodologies
- Contributions to open-source projects
- Experience with purchasing and/or ERP systems
About The Role
As a Senior Backend Engineer, you will be responsible for developing key technical solutions for complex purchasing and supply chain business problems. As a member of our engineering team, you will be expected to be a team player, be an owner of the product, and contribute and add meaningful innovation to our development. You will have a significant opportunity to be an important part of Sourcing Value. You will collaborate very closely with all other teams to assist in their functions.
Responsibilities
- Writing well-designed, reusable, testable, and secure code by applying best software development practices
- Designing and implementing low-latency, high-availability, and performant applications
- Architecting well-defined APIs for user-facing elements developed by frontend developers
- Investigate 3rd party tools and assess fit to various requirements such as data management, performance, and security
- Create flow diagram cases
- Collaborating in a multi-disciplinary team
- Participating and conducting code reviews
- Troubleshooting system-level integration and performance issues
- Discovering, learning and implementing new technologies
- Improving the coding standards and processes within the team
- Documenting the software components
- Mentoring junior team members in best practices, pair programming, giving internal trainings, etc.