Breakthrough is looking for a Software Engineer II to design, develop, and maintain full stack software solutions, contributing to the company's mission of advancing sustainability in transportation and reducing environmental impact through technological innovation.
Requirements
- Proficiency in multiple programming languages, frameworks, and technologies, including some or more of the following Python, SQL, ReactJS, Node.js, JavaScript, TypeScript, Apache Beam, dbt and BigQuery.
- Knowledge of application architectures, security best practices, and data integration concepts.
- Exposure to ETL technologies and data engineering with a focus on building and maintaining data platforms and pipelines.
- Understanding of database concepts, data modeling, and data warehousing principles.
- Understanding of distributed data management systems and related applications.
- Familiarity with public cloud infrastructure design, tools, and strategies.
- Experience with Python, Postgres, Node, React, TypeScript, graphQL, Google Cloud Platform (GCP), Terraform, Docker, BigQuery, dbt, GCP Monitoring.
Responsibilities
- Write clean, efficient, and maintainable code.
- Contribute to development tasks as part of a cross-functional team.
- Participate in design discussions, and contribute to the overall success of the product.
- Contribute to optimization and refactoring of code to address performance bottlenecks and improve system efficiency.
- Participate in code reviews and learn from more senior engineers to ensure delivery of high-quality, maintainable code.
- Write and execute unit tests to ensure the quality and reliability of the code.
- Identify and address technical challenges, troubleshoot issues, and work collaboratively to find effective solutions.
Other
- 3+ years as a software engineer, with a focus on a combination of frontend, backend, and data engineering.
- Bachelor’s degree in Computer Science or related technical field involving coding (e.g., physics or mathematics), or equivalent technical experience
- Effective communication skills, with the ability to articulate technical concepts to both technical and non-technical stakeholders.
- Enthusiastic about tackling complex challenges and can distill them into actionable solutions.
- Prioritize writing clean, readable, and testable code, while understanding the importance of pragmatism.