We are seeking an experienced and highly skilled Senior Data Engineer to join our team. This role requires a combination of software development and data engineering expertise. The ideal candidate will have advanced knowledge of Python and SQL, a solid understanding of API creation (specifically REST APIs and FastAPI), and experience in building reusable and configurable frameworks.
Key Responsibilities:
- Develop APIs & Microservices: Design, build, and maintain scalable, high-performance REST APIs using FastAPI and other frameworks.
- Data Engineering: Work on data pipelines, ETL processes, and data processing for robust data solutions.
- System Architecture: Collaborate on the design and implementation of configurable and reusable frameworks to streamline processes.
- Collaborate with Cross-Functional Teams: Work closely with software engineers, data scientists, and DevOps teams to build end-to-end solutions that cater to both application and data needs.
- Slack App Development: Design and implement Slack integrations and custom apps as required for team productivity and automation.
- Code Quality: Ensure high-quality coding standards through rigorous testing, code reviews, and writing maintainable code.
- SQL Expertise: Write efficient and optimized SQL queries for data storage, retrieval, and analysis.
- Microservices Architecture: Build and manage microservices that are modular, scalable, and decoupled.
Required Skills & Experience:
- Programming Languages: Expert in Python, with solid experience building APIs and microservices.
- Web Frameworks & APIs: Strong hands-on experience with FastAPI and Flask (optional), designing RESTful APIs.
- Data Engineering Expertise: Strong knowledge of SQL, relational databases, and ETL processes. Experience with cloud-based data solutions is a plus.
- API & Microservices Architecture: Proven ability to design, develop, and deploy APIs and microservices architectures.
- Slack App Development: Experience with integrating Slack apps or creating custom Slack workflows.
- Reusable Framework Development: Ability to design modular and configurable frameworks that can be reused across various teams and systems.
- Excellent Problem-Solving Skills: Ability to break down complex problems and deliver practical solutions.
- Software Development Experience: Strong software engineering fundamentals, including version control, debugging, and deployment best practices