Software Systems Engineer 8/12/2016

Cytonome Boston, MA

Company
Cytonome
Job Classification
Full Time
Company Ref #
28753438
AJE Ref #
575866121
Location
Boston, MA
Job Type
Regular

JOB DESCRIPTION

APPLY
MINIMUM REQUIREMENTS Masters level preferred.

EXPERIENCE:

*

Minimum of 5years of experience in system design in consumer electronics products or medical devices.
*

At least 3+ years of practical experience designing and writing C and C++ multi-threaded, and multi-processing software.
*

Must have excellent C++ programming skills.
*

Must have strong knowledge of object oriented design and development.
*

Must have experience in systems design, implementation, and validation.
*

Direct driver (kernel and user mode) and systems level experience with Windows operating system is required.
*

Direct driver and systems level experience with embedded and real time operating systems such as Linux or ThreadX is a plus.
*

Deep networking knowledge and concepts of networking is required, including TCP/UDP, OS interfaces, kernel data structures, performance tuning.
*

Must have experience in the following areas: system integration, various communication protocols (especially USB, TCP, UDP) and integration.
*

Must be willing to work on time critical issues as needed.
*

Must have great EE fundamentals.
*

Hands-on debugging and bring-up of new boards and new chipsets is a plus.
*

A background in medical device development and or experience in designing FDA regulated equipment is a plus.
*

Other skills required include:

*

Hands-on system level architecture, design and test
*

Proficient in systems design and development, including validation methods; C and debug
*

Experience with Lab test equipment, such analog and digital oscilloscopes, logic analyzers, frequency synthesizers, and DMM's
*

Collaborative skills demonstrating strong team approaches in cross functional programs
*

Proven technical expertise based on the technical depth and fast learning ability
*

Experience in using MatLab and Labview

JOB FUNCTION:

*

Architect and design qualitysoftware for integrated complex bio/medical instruments to be implemented under a best practice product development process and or ISO standard.
*

The SoftwareSystems Engineer works very closely with the SoftwareArchitect and the Embedded SystemEngineer on an appropriate softwarearchitecture based on the requirements and design elements contained in a system specification.
*

Maintains and evolves hardware and software integration documents based on evolving systemrequirements and industry trends and technologies.
*

Works very closely with the Electrical Engineering team.
*

Designs and develops software, architecture components and services to facilitate development and test of production software.
*

Analyzes risk and reports problems in meeting systemrequirements.
*

Provides supporting information to the Engineers to aid in the creation of a system specification.
*

Assists software designer/implementers with the creation of detailed design specifications for the hardware and software integration.
*

Leads the review process for hardware and software integration documents together with the Embedded Systems Engineer.
*

Performs software version control and maintain periodic compilation schedule.
*

Participates in the system specification review process to ensure systemrequirements can be translated into valid and robust hardware and software integration.
*

Complies with all applicable product development processes.
*

Performs detailed software design as well as implements and/or maintains code according to duties and responsibilities.
*

Ensures the overall integrity of the softwarearchitecture and validates it against the hardware and software integration and system specifications.
*

Records hardware and software integration requirements in a softwarearchitecture document using use cases and the Unified Modeling Language (UML), when needed and required.
*

As a part of a multi-disciplinary team, creates product proposals with cost and time estimates.
*

Identifies tools, technologies and practices to adopt to improve SW development and hardware and software integration efforts.
*

Works cooperatively within the software group as well as across disciplines such as systems, electrical, optical and mechanical.
*

Mentors less experienced engineers.

JOB RESPONSIBILITIES:

*

Contribute and lead all phases of the hardware and software integration lifecycle for a given product (or products).
*

Verify hardware and software interface design.
*

Represent softwarerequirements in meetings with the Electrical, Optical, Fluidic, Mechanical Engineering and/or Applications teams.
*

Establishing strong partnerships with electrical engineering team.
*

Identify areas of technical risks on the project and proactively mitigate these risks.
*

Translate hardware and software integration findings into design improvements.
*

Ensure high quality and punctual software development.
*

If needed and required - develop Use Cases and various UML diagrams (e.g., Class Diagrams, Activity Diagrams, Sequence Diagrams, Communication Diagrams, State charts, etc.) that represent the behaviors and behavioral constraints of the hardware and software integration.
*

Develop executable models of systems or subsystems.
*

Perform model checking.
*

Develop existing applications by analyzing and identifying areas for modification.
*

'Bolt together' existing software products so that they work together and create code to link them.
*

Researching, designing, writing and testing new software programs.
*

Problem-solving and thinking laterally as part of a team, or individually, to meet the needs of the project.
*

Maintaining applications by monitoring, identifying and correcting software defects.
*

Database administration or maintenance if required.
*

Author technical system design documents and proper documentation as required by the quality assurance and development process.
*

Create technical specifications, testing and implementation plans.
*

Work closely with other staff to meet customer needs.
*

Consulting with clients / colleagues concerning the maintenance and performance of software application and asking questions to obtain information.
*

Integrating internal and external product design into a cohesive user experience.
*

Creating prototypes and authoring detailed interaction specifications.
*

Successfully communicating conceptual ideas and design rationale.