We seek a skilled Java software engineer to help enhance and extend a widely used open-source system for the visualization and analysis of biological data. You will have an interest in open source software development, and some experience in creating software that can be used to explore and analyse complex data.
This job is within Jalview (www.jalview.org) development team, which is part of the Barton Group at the University of Dundee (www.compbio.dundee.ac.uk) in the new research Division of Computational Biology which will occupy one floor of the new CTIR building (www.lifesci.dundee.ac.uk/other/ctir) from March 2013. Jalview is an open source program for the creation, editing and analysis of multiple sequence alignments, and is used by tens of thousands of researchers, educators and students worldwide. You will work closely with the rest of the team to advance the Jalview ecosystem by extending and improving its visualization and analysis capabilities, user interface, and software architecture as well as supporting existing versions, identifying and fixing bugs. You will also help develop new features and service clients in collaboration with researchers in Dundee, EMBL-EBI and elsewhere.
We are looking for someone with:
• A degree, masters or Ph.D. in computer science, bioinformatics or related area, or equivalent industry experience.
• At least two years experience developing and supporting Java software.
• Demonstrated ability to apply good software engineering practice (version control, documentation, test-driven development)
• Good written, visual, oral, and online communication skills
• Awareness of web resources relevant to biomedical researchers (e.g. ENSEMBL, ENA, Interpro, TCGA, COSMIC, wwwPDB and GO).
• Basic knowledge of the principles of user-centric design as applied to interactive scientific software
• Good understanding of algorithms and data models for space and time efficient analysis of very large datasets
• Strong self-motivation and ability to learn new skills as needed.
You’ll have technical knowledge of:
• JAVA GUI development in Swing, AWT, SWT
• Web service technologies – e.g. HTTP & HTTPS authentication, REST & Interoperable SOAP, XML schema design, JSON & other container formats.
Ideally, you’ll also know about:
• Application and service development in Java using OSGi
• Fundamental principles for web application development
• High-level web application frameworks such as J2EE
• Community driven open source practice (e.g. the Apache Way).