SDE 2- Backend Developer
Indexed description
Design and Development:
- Architectural Design: Develop and implement robust backend architectures that support complex business requirements and scale effectively
- Feature Implementation: Write high-quality code to implement new features and enhance existing functionalities using Java and associated frameworks (e. g., Spring Boot)
- Technical Documentation: Create comprehensive technical documentation for the design and development processes to ensure maintainability and knowledge sharing
- Cloud Services Utilization: Leverage AWS/GCP services (such as EC2 S3 Lambda, RDS, Cloud Functions, and Kubernetes) to deploy and manage scalable, secure, and efficient cloud-native applications
- Infrastructure as Code: Utilize tools like Terraform or CloudFormation to manage and automate cloud infrastructure
- Service Design: Design and implement microservices that are resilient, maintainable, and scalable, following best practices for microservices architecture
- Inter-Service Communication: Ensure efficient and reliable communication between microservices using appropriate protocols (e. g., REST, gRPC, message queues)
- Schema Design: Design database schemas to support new and existing features, ensuring data integrity and performance
- Optimization: Optimize queries and indexing strategies to improve database performance and reduce latency
- Data Migration: Plan and execute data migration strategies for seamless upgrades and transitions
- API Design: Design and develop RESTful APIs, ensuring they are well-documented, secure, and easy to consume by front-end applications and third-party systems
- Security: Implement authentication and authorization mechanisms (e. g., OAuth, JWT) to secure APIs
- Best Practices: Follow and enforce coding standards and best practices to ensure code quality and consistency
- Testing: Write unit, integration, and end-to-end tests to ensure code reliability and performance
- Code Reviews: Conduct code reviews to provide feedback, ensure code quality, and share knowledge with team members
- Profiling and Monitoring: Use profiling tools and monitoring systems to identify and resolve performance bottlenecks in the application and infrastructure
- Scaling: Implement strategies for horizontal and vertical scaling to handle increased load and ensure high availability
- Collaboration:
- Cross-Functional Teams: Work closely with front-end developers, product managers, designers, and other stakeholders to deliver high-quality software solutions that meet business and user needs
- Agile Methodology: Participate in Agile/Scrum ceremonies (e. g., daily stand-ups, sprint planning, retrospectives) to ensure effective communication and collaboration
- Learning and Development: Stay up-to-date with emerging technologies, industry trends, and best practices in software development and cloud computing
- Process Improvement: Propose and implement improvements to development processes, tools, and methodologies to enhance productivity and quality
- Guidance and Support: Mentor junior engineers by providing technical guidance, conducting code reviews, and offering career advice
- Knowledge Sharing: Organize and conduct training sessions or workshops to share knowledge and best practices within the team
- Degree: Bachelor's degree in Computer Science, Engineering, or a related field
- Equivalent Experience: Consideration of equivalent practical experience in software development
- Professional Experience: 2.5-5 years of experience in backend development, with a strong focus on Java and relevant frameworks
- Project Experience: Proven track record of delivering large-scale, high-performance backend systems in a production environment
- Hands-On Experience: Practical experience with AWS and/or GCP services, including EC2 S3 Lambda, RDS, Cloud Functions, and Kubernetes
- Certification: Relevant cloud certifications (e. g., AWS Certified Developer, Google Professional Cloud Developer) are a plus
- Core Concepts: Deep understanding of core Java concepts, including multithreading, concurrency, and memory management
- Frameworks: Proficiency with Java frameworks such as Spring Boot, Hibernate, etc
- Design and Development: Experience in designing and developing microservices-based architectures, including service discovery, load balancing, and circuit breaking
- Tools and Technologies: Familiarity with tools like Docker, Kubernetes, and service mesh technologies
- SQL and NoSQL: Proficient in SQL databases (e. g., MySQL, PostgreSQL) and NoSQL databases (e. g., MongoDB, Cassandra)
- Optimization: Experience with database optimization techniques, indexing strategies, and query performance tuning
- RESTful APIs: Strong experience in developing and consuming RESTful APIs
- API Documentation: Proficiency in documenting APIs using tools like Swagger/OpenAPI
- Git: Proficient in using Git for version control, including branching, merging, and pull request workflows
- Collaboration Platforms: Familiarity with platforms like GitHub, GitLab, or Bitbucket
- Analytical Skills: Excellent analytical and problem-solving skills to troubleshoot and resolve complex technical issues
- Creativity: Ability to think creatively and propose innovative solutions to technical challenges
- Technical Communication: Strong verbal and written communication skills, with the ability to convey complex technical concepts to non-technical stakeholders
- Documentation: Ability to create clear and concise technical documentation for internal and external use
- Collaboration: Ability to work effectively in a collaborative, fast-paced environment, contributing to team success
- Adaptability: Flexibility to adapt to changing priorities and project requirements
- You will be expected to design, develop, and maintain large-scale complex backend web applications
- You will be expected to rapidly learn and apply relevant new technologies
- You will be having a high level of interaction with business and product stakeholders
- You will be working on the entire web application stack, which includes: Web server hosting, RESTful communication, Message brokering, Backend application layer, which includes the service and domain layers, and Data layer for persistence or caching
- You will be participating in an agile software development cycle, which includes: Design, Development, Code Review, Unit and Integration Testing, and Release
- Web application frameworks: Node.js, Java Play, Vert. x, AIOHTTP, AWS Lambda
- Languages: Java, Kotlin, Javascript
- Data stores: PostgreSQL, Aerospike, Redis, Amazon Redshift
- Communication: HTTP, Amazon SQS, Sidekiq, Amazon SNS
- Server Management: Amazon ECS, Docker
Create a free Caio profile to unlock the full index and keep your job-search signal for future recommendations.
Unlock free search