The Software Engineer is responsible for operating, supporting, maintaining, developing, integrating, and deploying software that supports the scientific mission of the JCVI. Software Engineers contribute to all phases of the software engineering lifecycle to maintain JCVI’s scientific leadership through the cost-effective application of software engineering tools and techniques.
Essential Functions
Supports the full software development lifecycle as well as operations for software-based tools developed at JCVI, typically integrating COTS, or open-source software from 3rd parties.
Works under the direct supervision of Informatics management, or their designees, to execute software engineering assignments to meet project goals. Must be able to work independently where appropriate, exercising engineering judgment and involving supervisory personnel where appropriate. The Software Engineer’s assignments will be determined by management as a function of business requirements and personnel capabilities. The Software Engineer will assume progressively more autonomy and independence as professional progress is achieved.
Develops and maintains an understanding of the business domain supported by the team, as well as software and IT technologies used by the team.
Collaborates closely and effectively with software, bioinformatics, scientific, information technology, and administrative personnel within and outside the Venter Institute to accomplish goals. Is an effective member of software and multi-disciplinary teams.
Complies with all documented JCVI policies and procedures. Works with manager and JCVI administrative functions to resolve issues as they arise.
The dimensions upon which an Engineer’s established capabilities and professional growth will be judged are based on the ability to:
Execute complex tasks effectively with limited supervision
Design complex components within established architectures, and new architectures for medium complexity projects
Advance the level of software technology used within their team
Provide project leadership beyond the scope of their own work, including leadership of small ad-hoc project teams
Define and estimate scope of tasks prior to implementation
Execute projects within estimated time frame.
Pre-Requisites
BS or MS in Computer Science/Software Engineering is required
Specific technical skills and experience pre-requisites will be established for each Software Engineer position, and may include some combination of the following:
Enterprise Java (Java, Javascript, JSP, Struts, Spring, EJB, MDB, Ajax, Hibernate) and associated tools and containers.
Java software development experience in a complex, multi-developer environment.
C/C++ and associated tools
Relational Database (Oracle, Postgres, MySQL, and related tools including SQL and PL/SQL)
Bioinformatics tools and techniques
Scripting languages (Perl, Python, shell) and associated tools
Web technologies (HTML, DHTML, XML, CSS, and JavaScript) and Graphics tools (Photoshop, Image Ready, Fireworks or similar).
Data Modeling (UML, ER, Ontology-based) and Agile development practices
Operating Systems: UNIX and UNIX variants, Windows, Macintosh, and Grid technologies, including Sun Grid Engine.
Agile development practices.
Relational Databases.
Hibernate, NoSQL.
Version Control (SVN, Git).
JIRA.
Design Patterns.
JUnit.
Scripting languages (Perl, Python, shell) and associated tools.
Development in mixed environment of Windows and Linux.
Strong written and verbal communication skills.
Ability to collaborate across a multi-disciplinary team, and work independently.
Work Environment
The work environment characteristics described here are representative of those a teammate encounters while performing the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
Moderate noise (i.e. business office with computers, phone, and printers, light traffic)
Ability to work in a confined area.
Ability to sit at a computer terminal for an extended period of time.
Physical Demands The physical demands described here are representative of those that must be met to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
While performing the duties of this job, the employee is regularly required to, stand, sit; talk, hear, and use hands and fingers to operate a computer and telephone keyboard reach, stoop kneel to install computer equipment
Specific vision abilities required by this job include close vision requirements due to computer work
Light to moderate lifting is required
J. Craig Venter Institute is an Equal Opportunity Employer. All qualified applicants are encouraged to apply and will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other legally protected characteristic or status.