This role is for Weekday's client.
Requirements
Key Responsibilities :
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 Integration :
- 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.
- Microservices Architecture :
- 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).
- Database Management :
- 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 Development :
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.Code Quality :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.Performance Optimization :
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.Continuous Improvement :
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.Mentorship :
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.Required Qualifications :
Education :
Degree : Bachelor's degree in Computer Science, Engineering, or a related field.Equivalent Experience : Consideration of equivalent practical experience in software development.Experience :Professional Experience : 5-8 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.Cloud Expertise :
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.Proficiency in Java :
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.Microservices :
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.Database Skills :
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.API Development :
RESTful APIs : Strong experience in developing and consuming RESTful APIs.API Documentation : Proficiency in documenting APIs using tools like Swagger / OpenAPI.Version Control :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.Problem-Solving :
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.Communication :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.Team Player :
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.Technical Overview :
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 hostingRESTful communicationMessage brokeringBackend application layer, which includes the service and domain layersData layer for persistence or cachingYou will be participating in an agile software development cycle, which includes :
DesignDevelopmentCode ReviewUnit and Integration TestingReleaseAs an Software Development Engineer 3 you will be expected to contribute to design, code review, refactoring, and project management.
You will be exposed to the following technologies :
Web application frameworks : Java Play, Vert. x, AIOHTTP, AWS LambdaLanguages : Java, Kotlin, JavascriptData stores : PostgreSQL, Aerospike, Redis, Amazon RedshiftCommunication : HTTP, Amazon SQS, Sidekiq, Amazon SNSServer Management : Amazon ECS, Docker