Previous Job
Previous
Java Developer
Ref No.: 16-00716
Location: Santa Clara, California
Position: Sr. Software Engineer, Java (contract)
Job Description: We are a fast-moving, highly technical team of people with the ambitious goal of disrupting next generation DNA Sequencing¿. Developing our unique platform requires expertise across a range of fields: software engineering, data science, biology, chemistry, protein engineering, circuit design, and electrochemistry, just to name a few. We're pushing the boundaries in DNA sequencing technology. Our chemistry and biology coupled with our custom hardware creates a system that generates data at tremendous rates, a big challenge for existing technology for data processing. We're looking for a top-notch software engineer to help create "best in class” applications for the management of sequencing instruments, data management and the genomic workflow. The Sr. Software Engineer is passionate about software and will take the lead to design, develop and install software solutions. The successful candidate will be able to build high-quality, innovative and fully performing software in compliance with coding standards and technical design.

Responsibilities include:
¿ Execute full lifecycle software development and serve as a subject matter expert in software design and development.
¿ Propose, develop requirements, prototype and execute new design and implementation concepts in collaboration with the architects and scientists. Produce specifications and determine operational feasibility.
¿ Write clean, well designed, testable, efficient code. All software code must be maintainable, documented and using best engineering practices in the industry (design patterns, TDD, peer review, CI, automated testing etc.). Document and maintain software functionality and design. Participate in design reviews.
¿ Ability to synthesize user, technical and design requirements into highly usable applications
¿ Integrate software components into a fully functional software system
¿ Develop software verification plans and quality assurance procedures
¿ Tailor and deploy software tools, processes and metrics
¿ Solid understanding of object-oriented design, high performance application design and distributed microservice architectures.
¿ Monitors work to ensure quality, and continuously promote Quality First Time.

Skills:
¿ Minimum 10 years experience designing and coding high performance applications using Java, application servers and databases.
¿ Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate). Knowledge and experience with Node.js, and working in an environment that includes a variety of middle-ware and backend web technologies such as Java, JSTL, Tomcat, Oracle, PHP, UNIX, SQL, Perl, LDAP, HTTP a plus.
¿ Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, AngularJS, Spring MVC)
¿ Experience in cloud based application development and deployment.
¿ Experience with test-driven development and mastery in software engineering tools
¿ Ability to document requirements, specifications and design.
¿ Familiarity with software development methodology and release processes. Knowledge and experience with Agile development process is desirable.
¿ Experience developing applications using OOP and MVC design patterns.
¿ Experience with common data interchange formats and protocols: JSON, REST, AJAX, XML.
¿ Experience with source control systems such as SVN, and Git; bug tracking systems such as bugzilla, and Jira.
¿ Excellent attention to detail; strong analytical, diagnostic, problem-solving, debugging and optimization skills.
¿ Able to interact and communicate diplomatically with other team members, multiple internal departments, and management.
¿ Ability to work under deadline pressures.