Job Description
Job Description
- As a Java Backend Engineer, you will be responsible for designing, implementing and maintaining high performance and secure backend systems.
JOB RESPONSIBILITIES
- Develop and maintain server-side logic and APIs for web applications using Java programming language.
- Design, implement, and optimize scalable, high-performance, and secure backend systems.
- Collaborate with frontend developers to integrate server-side components with user interfaces.
- Ensure the reliability, availability, and fault tolerance of backend systems by implementing appropriate error handling, logging, and monitoring mechanisms.
- Write efficient and reusable code following best practices and coding standards.
- Perform unit testing and debugging of backend components to identify and fix defects.
- Collaborate with database administrators to design and optimize database schemas, queries, and operations.
- Participate in code reviews to ensure code quality, readability, and maintainability.
- Stay up-to-date with the latest industry trends, technologies, and best practices related to backend development.
- Work closely with cross-functional teams, including product managers, designers, and QA engineers, to understand requirements and deliver high-quality software solutions.
- Troubleshoot and resolve production issues in a timely manner.
SKILLS AND EXPERIENCE REQUIRED
- Strong proficiency in Java programming language and object-oriented design principles.
- Experience with backend frameworks and technologies such as Spring, Hibernate, or similar.
- Solid understanding of web application architecture and RESTful APIs.
- Proficiency in SQL and experience with relational databases (e.g., MySQL, PostgreSQL, Oracle).
- Familiarity with version control systems (e.g., Git) and agile software development methodologies.
- Experience with testing frameworks (e.g., JUnit) and continuous integration tools (e.g., Jenkins).
- Knowledge of security best practices and experience implementing secure backend systems.
- Strong problem-solving and analytical skills.
- Excellent communication and collaboration abilities.
- Experience with cloud platforms, particularly AWS, and related services such as EC2, S3, Lambda, RDS, and DynamoDB.
- Knowledge of AWS deployment and management tools like AWS Cloud Formation, Elastic Beanstalk, or AWS CLI.
- Understanding of AWS networking concepts and services such as VPC, Route 53, and Load Balancers.
- Familiarity with AWS server less technologies like AWS Lambda, API Gateway, and Step Functions.
- Experience with monitoring and logging tools in AWS, such as Cloud Watch, X-Ray, or AWS Elasticsearch.
- Knowledge of AWS security services and best practices, including IAM roles and policies, VPC security groups, and encryption.
- Understanding of infrastructure as code (IaC) concepts and experience with tools like AWS Cloud Formation or Terraform.
- Familiarity with AWS containerization and orchestration services like Amazon ECS or Amazon EKS.
- Ability to architect and design scalable, cost-effective, and highly available systems on AWS.
- Experience with performance optimization and troubleshooting in AWS environments.
EDUCATION
- Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent experience).
- Professional Certifications is a plus
- 3+ years proven experience as a Java backend engineer