About Kisi
At Kisi, we’re revolutionizing the way people access and secure their spaces. Our innovative technology is transforming how businesses control access to their offices, facilities, and buildings. If you’re passionate about cutting-edge technology and want to be part of a dynamic team that’s changing the world, we want to hear from you!
About the role
- As an Embedded Firmware Developer, you will play a crucial role in our engineering team, leading the development and enhancement of firmware. Your responsibilities will include writing, testing, and debugging firmware to ensure the highest levels of reliability and functionality in our devices. You will work closely with senior developers, hardware engineers, and cross-functional teams to deliver robust embedded solutions. This position provides an excellent opportunity to leverage your technical expertise, contribute to innovative projects, and significantly impact the advancement of our advanced security technologies.
- This role will be focused on the Gen3 Platform, with an emphasis on developing and maintaining firmware, ensuring seamless compatibility and performance across a variety of hardware platforms.
- This is an in-office position where we expect you to be present at the office 5 days a week.
What you'll do
- Firmware Development and Maintenance:
- Lead the design, development, and maintenance of embedded firmware for microcontrollers and other embedded systems.
- Independently implement and optimize firmware functionalities, collaborating with senior firmware developers for advanced features.
- Conduct thorough code reviews and contribute to continuous improvements of the codebase.
- Hardware-Software Integration:
- Work closely with hardware engineers to ensure seamless integration between hardware and firmware.
- Troubleshoot and resolve complex hardware-software interface issues.
- Conduct comprehensive testing and validation of firmware on hardware prototypes.
- Coding and Testing:
- Write clean, efficient, and well-documented code using programming languages such as C and C++.
- Conduct extensive unit testing, integration testing, and debugging to ensure the reliability and functionality of firmware components.
- Develop and maintain automated test scripts for firmware validation.
- Documentation:
- Create and maintain detailed technical documentation for firmware, including design specifications, user manuals, and release notes.
- Document code changes, testing procedures, and bug fixes.
- Collaboration and Communication:
- Collaborate effectively with cross-functional teams, including hardware engineers, software developers, and quality assurance teams.
- Communicate progress, challenges, and solutions clearly and effectively with team members and stakeholders.
- Continuous Learning and Improvement:
- Stay updated with the latest trends and advancements in embedded systems and firmware development.
- Proactively seek opportunities to learn and improve technical skills, participating in training sessions and workshops.
- Support and Troubleshooting:
- Provide expert support in troubleshooting and resolving firmware-related issues reported by internal teams or customers.
- Identify root causes of firmware bugs and implement effective solutions.
- Quality Assurance:
- Adhere to and promote established quality standards and coding practices.
- Participate in quality assurance activities, including code reviews, testing, and audits.
- Project Contribution:
- Contribute to the planning and execution of firmware development projects, ensuring timely delivery of assigned tasks.
- Assist in the estimation and tracking of development timelines and milestones, providing accurate progress updates.
- Version Control:
- Utilize version control systems, such as Git.
- Ensure proper versioning and branching of firmware code to facilitate collaborative development and maintain code integrity.
Qualifications
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field - degree preferred.
- 2-4 years of experience in embedded firmware development or a related role, including significant hands-on experience with embedded systems and firmware projects.
- Strong understanding of embedded systems, microcontrollers, RTOS, and hardware-software integration with extensive experience on platforms like ARM, PIC, and AVR. Proficiency in C and C++ with knowledge of Assembly.
- Extensive experience with debugging tools (JTAG, SWD, and GDB) and familiarity with unit and integration testing methodologies for robust and reliable firmware.
- Proven ability to work effectively in cross-functional teams, strong analytical and problem-solving skills, and demonstrated ability to troubleshoot and debug complex firmware issues efficiently.
- Ability to create and maintain clear and concise technical documentation.
- Commitment to learning new technologies, staying updated with industry trends, and continuous improvement in embedded systems and firmware development.