Job Summary
Assist in research/development and maintenance of real-time/embedded software including low-level development. OS/Kernel configuration Linux/VxWorks (BSP) for various hardware architectures as well as verifying hardware through software. Development in C/C++, hardware device drivers, networked
client-server applications, multiple database driven applications, and/or network security methodologies.
May have a specific technical project or product responsibility.
Major Responsibilities
- Plans, designs, modifies and implements software applications from functional and
system design specifications.
- Codes, integrates, tests, debugs, and refines the software to produce the required
product.
- Develops software tools and subsystems to support software development, test, and
reuse, and manages their implementation.
- Enhances software to reduce operating time or improve efficiency and robustness.
- Reviews, evaluates, and analyzes design interfaces.
- Prepares, reviews, and evaluates interface documentation, specifications, test plans
and procedures.
- Assists in definition, analysis and allocation of requirements.
- Supports system test programs and analyzes system testing results.
- Maintains the developed software efficiently through familiarity with software lifecycles.
- Documents designs in engineering documents including functional block diagrams and
data/logic flow charts.
- Conducts in-depth troubleshooting and debugging of designs.
- Provides solutions and recommendations to project lead.
Knowledge/Skill Requirements
- Advanced technical writing ability to prepare reports and documentation for submission to
management.
- C/C++ programming in Linux environment including TCP/IP network programming and device
drivers are a must.
- Familiarity with network security methodologies a plus.
- Prior experience with multimedia application development including streaming audio/video
servers and clients highly desirable.
- Demonstrated ability to manage multiple priorities and make efficient use of given resources such
as system lab time and down stream process owners and tasks.
- Proficient in project planning and ability to plan for internal and/or external dependencies.
- Ability to work well in a small-team setting and interface with customer, i.e. in the way of
engineering documentation.
- Uses clearly demonstrable skills as an experienced professional within the Software Engineering
field.
- Must be capable of clearly identifiable contributions to the success of a product or project.
- Knowledgeable with commonly used concepts, practices, and procedures within the Electronic Plans, designs, modifies and implements software applications from functional and
system design specifications.
- Codes, integrates, tests, debugs, and refines the software to produce the required
product.
- Develops software tools and subsystems to support software development, test, and
reuse, and manages their implementation.
- Enhances software to reduce operating time or improve efficiency and robustness.
- Reviews, evaluates, and analyzes design interfaces.
- Prepares, reviews, and evaluates interface documentation, specifications, test plans
and procedures.
- Assists in definition, analysis and allocation of requirements.
- Supports system test programs and analyzes system testing results.
- Maintains the developed software efficiently through familiarity with software lifecycles.
- Documents designs in engineering documents including functional block diagrams and
data/logic flow charts.
- Conducts in-depth troubleshooting and debugging of designs.
- Provides solutions and recommendations to project lead.
Knowledge/Skill Requirements
- Advanced technical writing ability to prepare reports and documentation for submission to
management.
- C/C++ programming in Linux environment including TCP/IP network programming and device
drivers are a must.
- Familiarity with network security methodologies a plus.
- Prior experience with multimedia application development including streaming audio/video
servers and clients highly desirable.
- Demonstrated ability to manage multiple priorities and make efficient use of given resources such
as system lab time and down stream process owners and tasks.
- Proficient in project planning and ability to plan for internal and/or external dependencies.
- Ability to work well in a small-team setting and interface with customer, i.e. in the way of
engineering documentation.
- Uses clearly demonstrable skills as an experienced professional within the Software Engineering
field.
- Must be capable of clearly identifiable contributions to the success of a product or project.
- Knowledgeable with commonly used concepts, practices, and procedures within the Electronic
Engineering field.
- Uses professional concepts while applying company policies and procedures to resolve a variety
of issues.
- Works on problems of moderate scope where analysis of situations or data requires a review of a
variety of factors.
- Familiarity with a variety of the discipline field’s concepts, practices and procedures.
- Demonstrated engineering communication expertise including concise written and verbal skills is
a must.
Education/Experience Requirements
- Bachelor of Science Degree in Computer Sciences, Computer Engineering or Software
Engineering, or equivalent experience.
- 3-6 years’ of software development experience.
Other Requirements
- Ability to travel to domestic or international locations as required, up to 5% of the timE