Position: Web Systems Developer
Ref: BAS 81/15a
Return to Job Vacancy Listing
Role Summary
As a web systems developer you will contribute to the design and implementation of all tiers of our software architecture for our data portal systems. You will work with JavaScript libraries to provide data visualisations and mapping. You will design robust and self-documented PHP code and write unit tests. You will work with our databases and file systems to expose scientific data and you will work with our external partners (i.e. other NERC data centres) to access their data where necessary.
Team Structure
The role will be based in the Web & Applications team that is part of a wider Information Services group. We specialize in web and data systems and we are responsible for the research, design and implementation of most of the web-based systems at the Survey. We use off-the-shelf and open source products whenever we can and design bespoke systems, primarily in PHP using Laravel 5, when existing systems cannot meet our requirements.
We can’t do this alone and we have great support from colleagues in other BAS teams including:
- Mapping and Geographic Information Centre (MAGIC) – Web mapping & GIS specialists who have developed our mapping infrastructure – e.g. http://www.add.scar.org/home/add6
- ICT team – Provide help with setting up VMware virtual machines and solving DNS and firewall issues.
- Polar Data Centre – Data managers and software developers who work directly with scientific data and provide help with visualisation and data formats.
You’ll have support from individuals within all of these teams and you will be working with scientists, policy makers, funders and other end-users to ensure the data portals support their goals.
Projects
The projects you’ll be working on cover a variety of technologies and tools.
Existing Data Portals – We have a prototype portal serving marine data that has been developed using Laravel 5, PostgreSQL, Bootstrap and jQuery. This is in internal beta at present but you will extend this system to provide access, discovery and visualization tools to new scientific datasets.
We use Geoserver and Openlayers for our web-mapping and you will be working with PostGIS, the spatial extension to PostgreSQL. See https://www.bas.ac.uk/polar-operations/sites-and-facilities/station/ for an example of our OpenLayers/Geoserver mapping.
APIs – The data portals will need to pull data in from external data services using API connections and, where appropriate, make some of our data available via APIs (see https://api.bas.ac.uk/ for some current examples).
Some examples of our API fed systems are:
- BAS Public Website – https://www.bas.ac.uk – It uses our APIs to display projects, images and weather.
- Webcams – https://legacy.bas.ac.uk/webcams/archive/ – Our historical archive of images collected from our remote platforms.
- Mapping – http://jsfiddle.net/ekgerdo9/ – A simple consumer of our Ships API service.
Development and Deployment
We manage the development of our projects using JIRA for issue tracking with an internal Stash Git server and Github for source code management We use VMware workstation, Vagrant and Ansible for local development environments and we use PHPUnit for application testing. We are currently working on implementing a continuous integration system using Bamboo.
We host our services using a combination of an internal VMware cluster, AWS, and Digital Ocean. Our API endpoints are currently hosted on Digital Ocean droplets and we are using AWS for CDN services.