This is a remote position.
Role Overview
We are looking for a skilled and motivated Software Engineer – Backend to join our technology team. In this role, you will be responsible for designing, building, and maintaining robust backend systems that power scalable and efficient solutions. You will collaborate closely with developers, designers, and project managers to deliver high-quality products aligned with client requirements and business objectives.
Your expertise in Python (Flask), AsyncIO, Multiprocessing, and GCP Cloud services will play a key role in building modern, reliable, and high-performance applications.
Key Responsibilities:
1. Backend Development
- Design, develop, and maintain RESTful APIs using Python (Flask).
- Implement asynchronous programming (AsyncIO) and multiprocessing for high-throughput data handling.
- Write clean, maintainable, and well-documented code following best practices.
2. Cloud & Infrastructure (GCP)
- Build and operate services on Cloud Run.
- Orchestrate automation with Cloud Workflows and schedule ingestions with Cloud Scheduler.
- Design event-driven pipelines using Pub/Sub; store and query data in Firestore/Datastore and BigQuery.
- Set up and maintainCI/CD using Cloud Build or GitHub/GitLab Actions.
- Optimize data ingestion and processing pipelines for scalability, reliability, and cost efficiency.
3. Integrations & Automations
- Integrate third-party solar inverter provider APIs (Huawei, Sungrow, Solis, SolarEdge, Growatt, etc.).
- Build robust authentication, rate-limiting, retry, and error-handling strategies for provider-specific nuances.
- Automate workflows for data collection, monitoring, and reporting.
- Develop event-driven patterns to reduce frontend load and improve system efficiency.
4. Monitoring & Observability
- Develop status/health monitoring APIs for proactive fault detection and triage.
- Track device/plant uptime and availability; ensure SLA objectives are met.
5. Reporting & Analytics
- Build and automate PDF/Excel/CSV reporting pipelines (e.g., Jinja2-based templates).
- Use SQL/BigQuery for analytics, aggregations, and time-series trend/forecast exploration.
6. Collaboration
- Work cross-functionally to resolve integration and automation issues end-to-end.
- Participate in UAT, triage bugs, and ensure timely, high-quality releases.
- Communicate technical concepts clearly to both technical and non-technical stakeholders.
Requirements
Qualifications
- Bachelor’s degree in Computer Science or IT.
- Minimum 60% aggregate marks in academics.
- 2–4 years of relevant experience in Backend Development.
- Strong verbal and written communication skills.
- Ability to prioritize and manage multiple tasks and deadlines efficiently.
Technical Skills:
- Programming & Frameworks: Python, Flask (REST API development), AsyncIO, Multiprocessing, Jinja2 (templated reports/PDF).
- Cloud & Infrastructure (GCP): Cloud Run, Cloud Workflows, Cloud Scheduler, Pub/Sub, Firestore, Datastore, BigQuery, Cloud Build.
- Data & Reporting: SQL (BigQuery), PDF automation (30+ pipelines a plus), Excel/CSV exports, time-series data handling.
- Integrations: Third-party API integrations with inverter providers; auth, retries, error handling; real-time and historical sync.
- Monitoring & Observability: Status code monitoring APIs, alerting pipelines, system performance optimization.
- Collaboration & Tools: GitHub/GitLab, Cloud Source Repositories, Jira, Confluence; Agile/SDLC practices.
Nice to Have
- Experience with energy/IoT monitoring platforms.
- Docker/Kubernetes or microservices experience.
- Familiarity with Angular/frontend consumption patterns for smoother API collaboration.