136 views
MeGaDev
Join our team to build a high-performance backend for our enterprise-grade platform. Your work will involve integrating with various systems, optimizing data flows, and ensuring top-tier security. The project utilizes both on-premises and AWS cloud environments.
Responsibilities:
Design, develop, and maintain backend services using Java (Spring Boot).
Design and implement batch processing systems using Spring Batch.
Develop and manage RESTful and GraphQL APIs.
Optimize PostgreSQL queries, write stored procedures and functions, and configure materialized views.
Set up and manage DAGs in Apache Airflow for complex ETL workflows.
Ensure high performance, reliability, and security of backend services.
Collaborate effectively with cross-functional teams, including frontend developers, DevOps engineers, and database administrators.
Write clear, concise, and comprehensive technical documentation using Markdown.
Requirements:
Java (Spring Boot and Spring Batch):
Deep understanding of Java fundamentals, including data structures, algorithms, and concurrency.
Proficiency in Spring Boot for developing microservices and Spring Batch for batch processing.
Experience with Spring MVC, Spring Data JPA, and Spring Security.
Experience with profiling and optimizing Java applications for performance.
API Development:
Strong understanding and practical experience with RESTful and GraphQL API design, implementation, and management.
Message Queues:
Experience with Kafka for asynchronous processing and message handling.
Database Management (PostgreSQL):
Advanced SQL skills, including complex queries, joins, and indexing.
Writing efficient PL/pgSQL stored procedures and functions.
Creating and managing materialized views, and optimizing database performance.
Data Orchestration (Apache Airflow):
Designing and implementing DAGs for workflow orchestration.
Proficiency in Python for writing Airflow DAGs and scripts.
Graphile Engine (Optional):
Willingness to learn and configure Graphile for efficient GraphQL API integration with PostgreSQL.
Containerization (Docker and Kubernetes):
Basic understanding of building and optimizing Docker images.
Familiarity with setting up and managing Kubernetes clusters is a plus.
Security:
Implementing security best practices in Java applications and securing APIs.
Securing Docker containers and Kubernetes clusters.
Knowledge of AWS security best practices, including IAM, VPCs, and security groups.
Deployment and Infrastructure (On-Premises and AWS):
Experience with on-premises environments and AWS cloud services.
Setting up and managing CI/CD pipelines using BitBucket Pipelines, Jenkins, or similar tools.
Proficiency with Terraform or CloudFormation for managing infrastructure.