About the company:
We are on a quest to create AI for the benefit of humanity. Our products, research, and services are focused on social justice, national security, and public safety. You also will conduct research and develop creative solutions/architectures to solve complex problems. Everything that we do, has never been done before.
Position Summary:
We are seeking a highly skilled and experienced Embedded Software Engineer to join our team. The ideal candidate will have a strong background in embedded systems and hardware engineering, with a passion for technology and innovation. You will play a critical role in designing, developing, and maintaining high-quality hardware and embedded systems solutions integrating a neuromorphic chip.
Duties/Responsibilities:
- Design, develop, and implement embedded systems and hardware components, ensuring optimal performance and reliability.
- Collaborate with cross-functional teams to define system requirements and develop detailed hardware and software specifications.
- Perform hardware design, including schematic capture, PCB layout, and component selection.
- Develop and optimize firmware for embedded systems using C/C++.
- Conduct thorough testing and validation of hardware and embedded systems to ensure functionality, performance, and reliability.
- Troubleshoot and resolve complex technical issues related to hardware and embedded systems.
- Stay current with advancements in embedded systems and hardware engineering to drive continuous improvement and innovation.
- Prepare and maintain detailed documentation for designs, development processes, and testing procedures.
- Work closely with project managers to ensure timely delivery of projects and adherence to specifications.
Requirements Skills/Abilities:
- Bachelor's or master's degree in electrical engineering, Computer Engineering, or a related field.
- 5+ years of experience in embedded systems and hardware engineering.
- Proficiency in hardware design, including schematic capture, PCB layout, and component selection.
- Strong programming skills in C/C++ for embedded systems development.
- Experience with embedded systems development tools and environments (e.g., Keil, IAR, MPLAB).
- Familiarity with microcontrollers, microprocessors, and other embedded system components.
- Experience with debugging and troubleshooting hardware and firmware issues.
- Knowledge of communication protocols (e.g., UART, SPI, I2C, CAN).
- Experience with simulation and analysis tools (e.g., SPICE, MATLAB).
- Strong understanding of software development methodologies, tools, and processes including Agile and DevOps.
- Excellent organizational skills and attention to detail.
- Excellent written and verbal communication skills.
- Ability to communicate effectively
- Proficiency in programming languages such as C and C++ for embedded systems development.
- Experience with high-level languages such as Python for scripting and automation tasks.
- Familiarity with additional programming languages such as Java and JavaScript.
- Strong understanding of software development methodologies, tools, and processes including Agile and DevOps. y while leading and mentoring a team.
- Ability to perform code reviews, debugging, and optimization to ensure high-quality, efficient software.
- Familiarity with version control systems such as Git for source code management.
- Extensive experience with Linux operating systems, including configuration, maintenance, and troubleshooting.
- Proficiency in using Linux command-line tools and scripting languages for automation.
Personal Characteristics:
- A self-starter, confident in their abilities, self-motivated, and able to work effectively with little supervision.
- A high-energy, results-oriented individual who can make a difference; someone who takes initiative, makes things happen, accepts accountability, and has a “can-do” attitude; has a sense of urgency.
- A passion for success and willingness to go above and beyond to accomplish goals.
- Creative and flexible in attitude and style to adapt to new situations in a rapidly changing, dynamic environment.
- A strong value system, unquestioned integrity, and good listening skills.
- Proven ability to effectively interact, communicate, and consult with senior-level leaders on a routine basis.
Education and Experience:
- Must be a US Citizen.
- Experience developing complex hardware and embedded systems that have been successfully delivered to customers.
- Experience in communicating with users, other technical teams, and senior management to collect requirements, describe hardware and software product features, technical designs, and product strategy.
- Knowledge of professional engineering practices and best practices for the full hardware and software development life cycle, including coding standards, code reviews, source control management, continuous deployments, testing, and operations.
- Demonstrated ability to mentor junior engineers in all aspects of their engineering skill sets.
- Solid networking skills, including experience with network protocols (e.g., TCP/IP, Ethernet) and network configuration for embedded systems.
- Experience with network troubleshooting tools and techniques.