Position: Web Systems Developer (BAS 130/16)
As a web systems developer you will contribute to the design and implementation of all tiers of our software architecture for our web based software – both internal and external.
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 cannot 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 will 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.
The projects you will be working on cover a variety of technologies and tools.
Public Website – https://www.bas.ac.uk – Our public website is a WordPress based system that was developed in conjunction with an external development company. We provided software specification for the architecture of the website, implemented the CloudFlare DNS integration, developed project and people web applications to connect out internal data with our public website.
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 Gitlab CI and Semaphore CI.
We host our services using a combination of an internal VMware cluster, Amazon Web Services (AWS), and Digital Ocean. Our API endpoints are currently hosted on Digital Ocean droplets and we are using AWS for CDN services.