
Fernando González Cortés
Software Developer
Fernando is a software engineer with a two-decade-long professional background. His main area of expertise is working with Java and performing testing, and he is getting to speed with the Go programming language. With 15 years of experience working remotely, Fernando is looking for opportunities involving end-to-end ownership.
Portfolio
Availability
Preferred Environment
Java, GIS, Kubernetes, Spring, Go
The most amazing...
...job I've had is at Parknav, an early-stage startup, with a lot of freedom and responsibility working with different tech stacks, resulting in a steady delivery.
Work Experience
Java Software Engineer
Freelance Clients
- Delivered projects for Yunex Traffic, working with Java, Spring, and Kubernetes.
- Created clients for trading and crypto APIs using Java for Menai Financial Group.
- Decomposed a big service into smaller ones for Juni.
Senior Software Engineer
AI Incube
- Implemented the CI/CD system in charge of deploying the company production services using a Gradle plugin and Google Cloud Build.
- Normalized the Kubernetes deployment scripts of all company services using Kustomize. Built a command-line interface to manage the deployment of all services and jobs using Slack, Spring Shell, and Google Pub/Sub.
- Replaced an Azure API gateway by an installation of Kong Ingress in our own clusters, saving the company $2,000/month.
- Managed a GCP project and deployed services in production.
- Reduced cluster memory requirements to 80% by optimizing the memory usage in the city probability calculation services.
- Built a garage microservice from scratch: implementation, testing, scaling, figuring out and implementing pricing models, and more.
- Implemented an outdoor sensor solution that sends data to our services in real-time using Raspberry PIs and Spring services.
- Applied machine learning models in order to merge two garage databases automatically using Weka, reducing the need for manual intervention.
- Developed the company's data portal (Portal.parknav.com) using Spring, PostgreSQL, React-admin, and Firebase authentication.
- Developed a portal to showcase the company parking probabilities service (Places.parknav.com) using Mapbox Vector Tiles.
Data Analyst | Full-stack Developer | GIS Developer
Freelance Work
- Automated the process chain to transform remote sensing data in vector formats for agriculture machinery, thus saving many hours of manual processing. Completed on behalf of the Polish startup, Satagro.
- Developed a web application (Bankgeheimnisse.ch/map) to document benches in Switzerland for the Association for the promotion of Swiss bench culture. It had around 20,000 benches and 600 users at the end of 2020.
- Developed on my own initiative a real-time map of public transport speed in Pays de Gex/Geneva showing current status, past data, and 24 hours of predictions, allowing users to avoid jams on the Swiss/French border.
Geospatial Software Engineer
Food and Agriculture Organization
- Developed a web application to publish country national forest data in the context of the different national REDD programs using PostgreSQL/PostGIS, GeoServer, Servlet API, and jQuery.
- Deployed the application in Argentina, Paraguay, and Ecuador.
- Created data publication pipelines that reduced publication times by 25%, using Python, GDAL, and Geoserver REST API.
- Automated testing and continuous integration in Travis CI.
- Fixed a bug in GeoServer (osgeo-org.atlassian.net/browse/GEOS-7243) that was causing some problems with an Ecuadorian coordinate reference system.
Full-stack Developer | GIS Developer
Freelance
- Developed a mobile client for a collaborative mapping platform on Android along with another freelance. Made a contribution to an existing open-source mapping solution to increase the rendering speed for big vector layers.
- Built a web tool based on an existing desktop application to plan geotechnical surveys using Google Web Toolkit. Based on the building data (height, geometry, location, and more), soil type data and regulations would output a soil sampling plan.
- Deployed a NetCDF data repository within a team of three using Geonetwork and Geoext. The repository was used by several research institutions to allow experiments' reproduction. Built different tools to transform the labs' data files to NetCDF.
- Wrote an algorithm to calculate the radiation and visibility in 3D urban environments using JTS. The algorithm involved projecting the buildings to the 2D plane, where JTS works.
- Developed a geoprocessing specific language allowing users to create complex chains to process spatial information, regardless of the data storage (database, file, web service) or format (shapefile, GML, PostGIS, TIFF, JPEG, and so on).
- Built open-source GIS tools to analyze radar data, support land surveying processes, and cadastral management.
- Developed a tool to control image quality in the National Plan for Aerial Orthophotography in Extremadura, Spain. For instance, it would check for image overlap, saturation. Used JAI pipeline capabilities to deal with 4GB images on small machines.
Research Engineer
Institut de Recherche en Sciences Techniques de la Ville
- Developed OrbisGIS, a desktop GIS application providing a spatial SQL engine implementation which allows researchers to manipulate their spatial data (raster, vector, databases, files, web services, and more) in a transparent way.
- Designed and implemented the data abstraction layer for different file formats and database vendors of both raster and vector data.
- Constructed the OrbisGIS SQL engine on top of the data abstraction layer.
- Developed a disk-based R-tree implementation for the indexation of spatial data sources.
- Fixed a bug in Geotools: Osgeo-org.atlassian.net/browse/GEOT-3759.
Full-stack Developer | GIS Developer (Freelance)
Institute for Regional Development in Castilla La Mancha
- Trained and supported some coworkers in the development of gvSIG extensions, which enabled the team to base their developments on open source solutions, thus saving the cost of using software licenses.
- Developed a desktop application for the management of pasture in Castilla la Mancha, Spain. The application allowed municipalities to control the rental and billing of pasture land.
- Developed a test suite for PHP services, introducing the team to the benefit of automated test suites.
GIS Developer
IVER
- Developed the core of gvSIG, an open-source desktop GIS application. Applied a variety of design patterns that allowed other developments to extend the application in the following years.
- Designed the framework to support computer-aided design (CAD) in gvSIG, allowing a precise edition of spatial data by means of the usual workflows in CAD environments: point snapping, keyboard and mouse input, and more.
- Created a dynamic map for the Valencian tourist agency's web page, showing resources of interest for tourists.
Experience
Bench Secrets
https://www.bankgeheimnisse.ch/map?l=deMusic Jargon
http://fergonco.org/MusicJargon/Skills
Languages
Java, Bash Script, ECMAScript (ES6), Python, JavaScript, SQL, HTML, CSS, Go, R, Java Persistence Query Language (JPQL), PL/pgSQL
Frameworks
JUnit, Mockito, JSON Web Tokens (JWT), Spring MVC, Spring, Spring Boot, Spring Security, JPA, Swing, Google Web Toolkit, Xtext, Jasmine, Django, Django REST Framework, gRPC
Libraries/APIs
GDAL/OGR, GDAL, LeafletJS, React, JPA 2, jQuery, Java Digital Image Processing (DIP), JTS Topology Suite, Lombok
Tools
GIS, Apache Maven, Git, GeoTools, Kong, Gradle, IntelliJ, Grafana, Vim Text Editor, PyCharm, Servlet, gvSIG, Weka, Docker Compose, Jenkins, Travis CI, Apache JMeter, Monit, JVisualVM, Webpack, Babel, ActiveMQ, Helm, GitLab CI/CD
Platforms
Eclipse, Kubernetes, Google Cloud Platform (GCP), Raspberry Pi, Linux, Docker, Android, Amazon Web Services (AWS), Amazon EC2, MapServer, Apache Kafka
Storage
GeoServer, PostGIS, Spring Data, PostgreSQL, Amazon S3 (AWS S3), Datadog
Paradigms
REST, Microservices, Microservices Architecture
Other
Java Advanced Imaging, Google Cloud Build, Google Pub/Sub, Kustomize, Remote Sensing, NetCDF, OpenStreetMap, Testcontainers
Education
Master's Degree in Computing Engineering
Polytechnic University of Valencia - Valencia, Spain