Participate in software design and development for Patton Electronics entire line of communications and networking products. Independently architect and develop a wide variety of software components for LAN and WAN networking applications, targeting microprocessors and communication specific integrated circuits. Tasks include specification, design, coding, test and debug of real-time embedded software in an agile team with other software and electrical engineers. Develop new features and participate in maintenance of Patton Electronics in-house developed Linux-based operating environment.
Responsibilities
- Analyze requirements and develop specifications for software components
- Design or participate in design of system architectures
- Develop software to meet specifications
- Document software, including user interface and programmer APIs
- Conduct or participate in design and peer reviews
- Perform design verification testing
- Maintain existing software components
- Participate in debugging and troubleshooting of products
- Mentor junior team members
- Lead small team as required
Requirements
- A degree in Engineering or Computer Science and at least five years relevant experience developing software products in an agile environment using C++ is required.
- Candidates must be well organized, able to work under minimal supervision and possess excellent verbal and written communication skills.
- Hands-on experience in development of embedded Linux Application or Kernel software and use of Open Source components is expected.
- Familiarity with networking principles and routing protocols as well as voice and data communications is advantageous.
- Routine use of version control systems, preferably Git, defect tracking and ticketing systems is to be demonstrated.