The Software Design & Product Engineer is responsible for designing and developing software systems in conjunction with product development. This role understands equipment requirements along with business and customer requirements that drive the design of the technical solution and participates in all phases of product development life-cycle, including concept and prototype analysis, design, production launch, sustaining production, and end‑of‑life support of designed equipment, as well as the support of complementary engineering staff for application configuration and startup support.
- Participates in the software system life cycle, including coding, testing, implementing, maintaining and supporting application software.
- Performs complex application development in C and/or C++ on an embedded Linux platform running on x86 or arm processors.
- Diagnoses and troubleshoots simple problems with existing applications, software and data.
- Participates in the analysis, design, construction of application, business reports, component design, performance monitoring, and production evaluation.
- Makes suggestions toward the development of new codes or reuse of existing codes.
- Documents the software components and applications, creates user documentation and assists in implementation and support software.
- Participates in system tuning, optimization of information/data processing, maintenance and support of the production environment.
- Coordinates database administration to design, develop, and update databases as required and ensures security of all software and related applications.
- Researches, evaluates and incorporates new technology and tools to enhance the product development process.
- Assists customers to define the system design and user interface based on customer needs and objectives.
- Additional duties as assigned.
- Bachelor’s Degree in Software Engineering or related field; or an equivalent combination of education and experience.
- 2 - 5 years of previous professional engineering experience
- Experience in developing embedded applications using C and/or C++.
- Experience in working with and developing on a Linux platform.
- Periodic travel either locally, nationally, and/or internationally may be required.
- High degree of proficiency in MS Office Suite, Outlook & Internet applications.
- Strong analytical, prioritizing, interpersonal, problem-solving, presentation, budgeting, project management, & planning skills with critical attention to detail, deadlines and reporting.
- Strong verbal and written communication skills (including analysis, interpretation, & reasoning).
- Solid understanding and application of mathematical concepts.
- Ability to develop and maintain collaborative relationships with peers and colleagues across the organization, as well as, internal and external clients.
- Ability to work well autonomously and within a team in a fast-paced and deadline-oriented environment.
- Ability to work with and influence peers and management.
- Self-motivated with critical attention to detail, deadlines and reporting.
PHYSICAL ASPECTS/WORK ENVIRONMENT:
- Regularly required to stand; walk; sit; use hands and fingers to operate a computer keyboard; reach with hands and arms; stoop, kneel, crouch, or crawl; and talk, hear and see.
- Occasionally lift and/or move up to 50 pounds.
- Specific vision abilities required by this job include close vision, distance vision, color vision, peripheral vision, depth perception, and ability to adjust focus.
- The noise level in the work environment is usually low/moderate.
- Reasonable accommodations may be made to enable individuals to perform the essential functions.