Senior Software Engineer
Why join us
We’re a small team with a clear growth trajectory, so you’ll be getting in on the ground floor of an exciting and dynamic startup. You’ll be working alongside smart and driven computational urban modellers, software engineers, data scientists and domain experts who are passionate about applying technology to solve the biggest problems facing cities.
We’re looking for an experienced software engineer who can help scale our applications for use by hundreds of public and private sector organisations and help magnify the capabilities of our team of urban system scientists.
What you’ll get up to
Implement algorithms for distributed computing for urban data analytics, urban simulation models and urban forecasting models.
Implement space-time analysis and forecasting algorithms for large spatial datasets.
Implement the modules as web-based processing services to our collaborative decision support platform, adding new functionality and features where appropriate.
Contribute to the system architecture and feed your insights to the product team to continuously improve the platform.
Build capabilities to efficiently integrate new data sources into the platform.
Build data ingestion and integration pipelines to optimize the delivery of a networked urban simulation model with thousands of concurrent events, unique data sources, and operational scalability challenges
Unit testing, tracking, system monitoring, security, auditing and other ways of ensuring the quality of the platform and the processes around it.
Provide support and coaching for the team’s data scientists implementing modelling functionality.
Why you’ll win
You have an understanding of Computer Science theory and implementation and previous experience in cloud application development. You have strong programming experience in operational/production systems and have coordinated closely with team members to build products from scratch. You are excited by working in a fast growing, dynamic team, keen on sharing best practice and on continuous learning. You have proven organizational skills and are an effective communicator.
You are great at:
Developing software using the following technologies: Java, Python, C++
Applying Agile Development Methods with a strong development background and experience of continuous integration/continuous delivery technologies
Implementing bespoke software development on Cloud platforms (GCP or AWS)
Developing web applications using RESTful APIs
Defining data models for complex software projects
Communicating complex technical concepts with different audiences including non-technical team members and senior stakeholders
Designing and implementing enterprise scale architectures for cloud applications in hybrid environments
You are familiar with:
Building streaming and batch applications with technologies including: Apache Hadoop, Apache Spark and Google Cloud Dataflow. or Hadoop/Spark
Unit testing including the creation of test data sets
Relational and non-relational databases and when to use them
Experience working with spatial data structures and algorithms.
Understanding statistics and data science to work closely with urban modellers.
Working with data formats including JSON, XML, CSV, Shapefiles, GML, GeoTiffs, Avro, etc; either scripting or using ETL technologies.
Experience with Docker, Kubernetes, ESRI ArcGIS, PostgreSQL + PostGIS, GRASS GIS, MapServer, Geoserver, Google Maps, Mapbox, OpenLayers
Start by editing this text…
More like this
- Technical Lead at Urban Intelligence
- Experienced Software Developer at GrowthIntel
- Senior Backend Developer at Karhoo
- Technical lead/Architect at *Research
- Senior Developer (node.js, React, Python) at Motorway
- Platform Development Lead at Stratajet
- Customer Success at Makers Academy
- Software Engineer at FundApps
- Senior Back End Developer - .NET/ Docker/ Azure at DoctorLink
- Product Owner at Decoded