Python Backend Developer Intern
Siemens
About the Role
- Internship Duration: 3 – 6 months
- Location: Princeton, NJ (on-site)
- Team: Autonomous Control and Operations
- Product: Energy Flexibility Platform for Siemens
Key Responsibilities
- Develop and maintain REST API endpoints for a cloud-based energy flexibility platform using Python.
- Integrate with third-party REST APIs, including authentication, retries, and error handling.
- Write and expand automated unit and integration tests to improve code quality and coverage.
- Keep API specifications (OpenAPI) and technical documentation in sync with the implementation.
- Implement database schema changes and migrations.
- Participate in code reviews and team discussions on design and implementation.
Requirements & Tech Stack
- Python fundamentals: writing functions and classes, consistent use of type hints, and exception handling.
- Experience with relational databases and SQL, including schema design and writing queries.
- Understanding of REST APIs, HTTP, and JSON, including status codes, headers and concurrency control (e.g. ETag / If-Match), and reading API specifications.
- Hands-on experience with software development best practices: version control (Git), unit testing, and technical documentation.
- Proficiency in English, both written and verbal.
- Legally authorized to work in the United States without company sponsorship.
- Experience with FastAPI (or Flask/Django), including schema validation with Pydantic and writing OpenAPI specifications is preferred.
- Experience working with linters, formatters, and static type checking in an enforced setup (e.g. pylint, black, isort, mypy, pre-commit, SonarQube) is preferred.
- Basic understanding of OAuth2 / OpenID Connect and JWT-based authentication and role-based authorization is preferred.
- Experience with PostgreSQL, SQLAlchemy, and Alembic database migrations is preferred.
- Experience with time-series databases such as InfluxDB is preferred.
- Experience with pytest (including mocking), Poetry, and API testing tools such as Postman is preferred.
- Experience with cloud platforms (e.g. AWS, Azure, GCP), especially AWS services such as RDS, Systems Manager Parameter Store, Secrets Manager, and SQS is preferred.
- Exposure to Docker, Kubernetes / Helm, and CI/CD pipelines (e.g. GitLab CI) is preferred.
- Coursework or interest in power systems and energy markets is preferred.
- Flexibility and adaptability to work in a growing, dynamic, interdisciplinary team.
Qualifications
- Bachelor's or master's degree student enrolled in a Computer Science, Software Engineering, Electrical Engineering, or closely related program.