Job Title - Software Engineer
Summary :
This role focuses on software development, debugging, testing, and failure analysis, primarily in systems-level environments. It requires strong programming experience in Kotlin and at least one additional language like Java or C++ , along with proficiency in unit testing frameworks and debugging tools. The role involves analyzing logs, crash dumps, and system behavior to identify root causes of defects, developing tests, and driving improvements in defect detection through automation.
Key Responsibilities
- Strong programming experience in Kotlin and at least one of Java or C++.
- Proven experience in unit testing frameworks (e.g., JUnit, Mockito, or GoogleTest).
- Experience in debugging, profiling, and using tools like Android Studio, LLDB, or gdb.
- Perform failure analysis by investigating and reproducing issues reported from field, CI pipelines, or customer environments.
- Analyze system logs, stack traces, and crash dumps to identify root causes of defects.
- Develop and execute unit tests and test harnesses to validate defect fixes and ensure code stability.
- Familiarity with test automation frameworks and continuous integration tools (e.g., Jenkins, Bazel, Gradle).
- Prior exposure to failure pattern analysis, crash triage, or system-level diagnostics.
- Collaborate with development teams to provide actionable insights and recommendations for defect resolution.
- Maintain detailed documentation of findings, root-cause summaries, and resolution status.
- Drive improvements in defect detection efficiency and test coverage through automation and proactive validation.
- Participate in code reviews to uphold coding standards and maintainable design practices.
- Working knowledge of CI / CD pipelines and automated test workflows.
- Strong analytical, problem-solving, and troubleshooting skills.
- Excellent communication and documentation skills.