James Gardiner

Python Engineer

Cardiff, United Kingdom

Summary

I am an experienced and motivated Python developer, who is an expert in engineering all aspects of the data pipeline, including acquisition (web scraping, APIs), databases (mainly PostgreSQL with some MongoDB), analysis (Pandas, NumPy, SciPy), dissemination (Matplotlib, Seaborn, D3, Plotly) and web frameworks (Flask, Django). I have very good software development skills across the stack and a thorough, test-driven approach to program design.

I have particular expertise in the development of geospatial applications, using technologies such as PostGIS, GDAL, Leaflet, OpenLayers, Shapely and Fiona.

Languages:

English

Favorite Python Packages:

Requests, SQLAlchemy, Scrapy, Pandas

Experience

Data Engineer - Nesta

Jan 2016 – Present

I currently hold a position with Nesta, where I am involved in building data analytics platforms for government. My role focuses on the acquisition and storage of data from multiple data sources. I use a number tools to scrape, query and gather relevant data including Scrapy, SQLAlchemy, PyMongo, Postgres, AWS, Requests and MongoDB.

Since joining the company, I have also introduced a new data analytics methodology based on using directed acyclic graphs and makefiles to automate entire analytics pipelines.

Technology used:
Python, Flask, SQLAlchemy, PostgreSQL, HTML, CSS, Javascript, Leaflet, OpenLayers, Apache Geoserver, QGIS, Git, Pytest, Travis CI, Sublime, AWS, S3, EC2

Skills used:
• Data engineering
• Data analytics
• Test driven development
• Agile Methodologies
• Automated testing and code quality assurance management


Senior Consultant - Data Unit Wales

May 2014 – Present

With the Data Unit I developed and maintained a number of customer solutions. I mainly focussed on implementing a geographic server built on PostgreSQL, PostGIS and Apache Geoserver to serve spatial data to customers using front end mapping libraries like Leaflet and OpenLayers for visualisation.

Technology used:
Python, Flask, SQLAlchemy, PostgreSQL, HTML, CSS, Javascript, Leaflet, OpenLayers, Apache Geoserver, QGIS, Git, Pytest, Travis CI, Sublime,

Skills used:
• Front-end/Back-end Development
• Test driven development
• Automated testing and code quality assurance management


Graduate Officer - RCT

Oct 2012 - May 2014

With RCT I used my programming skills to apply data analysis to organisational challenges, using diverse and unstructured data to achieve ambitious organisational goals.



Technology used:
Python, Pandas, Numpy, SciPy, Sci-Kit Learn, Ipython Notebooks (now Jupyter).



Skills used:
• Data analysis

• Automated testing and code quality assurance management

• Data analysis
• Automated testing and code quality assurance management

Skills

Amazon Web Services, Backend Development, Big Data, Flask, Git, JavaScript, Linux, MongoDB, Pandas, PostgreSQL, SQLAlchemy, SciPy, Scrapy, Virtualenv, Web Scraping

Joined: Jan. 6, 2017