Mid-Level Embedded Software Engineer

Date PostedMay 26, 2026LocationSelangorCompanyHiredly XSalaryRM 6000 - 8000TypeFull-Time

Job Summary

As a Mid-Level Software Engineer, you will independently contribute to the design, development, and operation of software systems. You are expected to deliver high-quality solutions that meet business needs while mentoring less experienced engineers. The role requires taking ownership of tasks, fostering team collaboration, and ensuring the timely delivery of features.

Responsibilities

  • Design and develop software systems
  • Mentor junior engineers
  • Ensure timely feature delivery
  • Manage incidents and system performance

Required Skills

  • Strong proficiency in programming languages
  • Software design patterns
  • System testing and version control
  • Cross-functional collaboration

Job Details

### Job Purpose As a Mid-Level Software Engineer, you will independently contribute to the design, development, and operation of software systems. You are expected to deliver high-quality solutions that meet business needs, mentor less experienced engineers, and consistently demonstrate ownership, collaboration, and professional growth. ### Key Responsibilities - Tackle well-scoped problems with little ambiguity, independently contributing to team goals and outcomes. - Demonstrate competence in core software engineering skills. - Provide guidance and informal mentoring to junior engineers. - Take responsibility for the timely delivery of features that meet business outcomes and project milestones. - Consistently role-model company values and foster a collaborative, supportive team environment. - Understand the business and user impact of features. - Break down tasks effectively and use data and feedback to inform decisions. - Design and implement simple, scalable software solutions. - Consider dependencies and integration points, write maintainable code, and apply lessons learned from mistakes. - Apply knowledge of availability, performance, cost, and security to engineering decisions. - Take responsibility for small incidents, ensuring follow-up learning and improvements. ### Requirements - Strong proficiency in at least one programming language, with the ability to learn and apply others as needed. - Solid understanding of software development practices, including design patterns, testing, and version control. - Experience building and maintaining production systems, with awareness of operational factors such as monitoring, alerting, and cost efficiency. - Ability to decompose complex problems into smaller, manageable tasks and deliver them effectively. - Experience collaborating in cross-functional teams (e.g. product, design, QA). - Prior experience mentoring or supporting less experienced engineers is desirable. - Basic knowledge of one or more programming languages (e.g. Python, Java, JavaScript, C, C++).