Software
As a Software Developer, you will help modernize our toolchain to be OS-agnostic, ensuring smooth execution across Linux, Windows (WSL2), and high-performance compute environments. This is a great opportunity to learn about cross-platform development, CI/CD automation, and developer experience (DX) while directly impacting how engineering teams build products.
Are you in?
Your role
Key responsibilities in your new role
- Tool Development: Write, maintain, and optimize backend code and command-line interfaces (CLI) using Python and C++ to simplify complex engineering setups.
- Cross-Platform Engineering: Help refactor legacy scripts to ensure they run flawlessly on both Windows (WSL2) and Linux environments by replacing hardcoded OS dependencies with dynamic environment variables.
- Data Interoperability: Work with data serialization formats (JSON, XML, YAML) to help standardize how different simulation tools communicate and pass data to one another automatically.
- CI/CD & Automation: Write automated validation scripts ("linters") that run in our Jenkins CI/CD pipelines to catch errors, enforce coding standards, and prevent bad code from breaking the platform.
- User Experience (DX): Improve internal tool usability by catching software exceptions and writing clear, human-readable error messages and "fix hints" for users.
- Testing & QA: Write unit tests and assist in running automated stress tests to ensure software packages install and perform correctly under various conditions.
Your profile
Qualifications and skills to help you succeed
- Education: Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field (recent graduates or 1-2 years of experience).
- Programming: Strong foundational skills in Python and/or C++.
- Environments: Comfortable working in both Linux and Windows command-line environments.
- Version Control & CI/CD: Familiarity with Git. Basic understanding of Continuous Integration/Continuous Deployment (CI/CD) concepts.
- Data Handling: Basic knowledge of configuration files and data structures (YAML, JSON).
- Soft Skills: Strong problem-solving mindset, eager to learn, and a passion for making tools that make other developers' lives easier.
- Familiarity with Windows Subsystem for Linux (WSL).
- Basic knowledge of Electronic Design Automation (EDA) tools, SystemC, or hardware simulation workflows.
- Experience writing bash scripts or working with build automation tools.
Bengaluru, Karnataka, India
On-site
Full-time
3 hours ago