Staff Software Engineer

Cepheid - US
Job Location: 
Sunnyvale, CA
Job Description: 

As a Staff Software Engineer, you will work on a medical diagnostic application predominantly in the Java language running on Windows desktop. You will be a member of the Software Applications team. We are looking for a well-rounded, collaborative, software engineer with a knack for problem solving, a strong sense of software design and solid coding skills. We have a fast-paced, dynamic environment and you should be comfortable juggling multiple projects, working both independently and as a member of a team.

This position is contract with an estimated duration of 6 months.

- You will prototype, design, implement and maintain the software application.
- You will be part of a software engineering team that develops software for commercial products, manufacturing test systems and in-house research.
- Your projects will involve GUI development using Java Swing, back-end logic development, as well as mathematical data analysis, data acquisition and storage.
- You will participate in cross-functional project teams with scientists, technical support and other engineers.
- You must work well in a team environment, and also work well with internal and external customers.
- You need to be sensitive to the voice of the customers.
- You will adhere to software development and source control processes.

- A BS in Computer Science, Computer Engineering or equivalent, and a minimum of 8 -12 years of working experience in Java
- Experience designing and developing graphical user interfaces
- Exceptional Java object oriented design and programming skills
- Solid understanding of concurrency, data structures, and data caching techniques
- Demonstrated knowledge of automated testing (JUnit) and experience with test-driven development
- Exceptional debugging and profiling skills
- Experience in Gap Analysis of existing software to current and future designs
- Desire to constantly improve existing systems and methodologies
- Ability to handle multiple, time sensitive projects and activities simultaneously
- Ability to fluidly shift focus and priorities based on changing business needs
- Ability to be self-motivated, proactive, curious, responsible and flexible
- Ability to evaluate criteria and exercise judgment in selecting techniques to obtain results
- Ability to communicate complex technical issues and design to the peers
- Ability to produce thorough documentation that meets regulatory/methodology requirements
- Experience with developing and maintaining software requirements and software design documentation

To apply for this position, please CLICK HERE