Oscar Forner
$(whoami) Projects Resume


This is an HTML version. In here you can find an interactive application version and in here you can download a PDF version.

2021 - 2024: Software Engineer at Sketch

For the first 2 years I worked as the single Backend Engineer for the Prototype Team. My duties for the team were to implement all the different Prototype features required such as assets generation, regeneration on-demand, invalidation, and deletion from S3 buckets. These features had to be implemented in different number of services implemented in Elixir and Go

Afterwards, the teams got disolved and we started working on verticals. In my case, I was part of the Web vertical. During my time as part of the Web vertical I worked on multiple projects such as permission groups, optimization of the rendering pipeline, optimization of the ingestion pipeline, workers to remove unused data from S3 buckets, etc. These projects also required to modify or implement services in Elixir and Go

2020 - 2021: Lead Software Engineer at Paack

During my time in Paack I have worked in the Warehouse Management System, a new platform to allow parcels to be scanned and assigned to routes in a timely fashion. Moreover, I lead the revamp of the Business Rules Management System, a platform to allow Product People to change the rules applied to deliveries without having to change code. During this reworked the whole architecture of the system changed, and a new UI was developed to fulfill the new requirements. I also had to design and implement the migration process for the system to avoid downtime.

In addition, I have also worked on the development of the New Retailer API that handles the traffic from all the new retailers and it has become the new way to integrate against Paack.

As part of my role as Lead Software Engineer I mentored several people in my team and I was heavily involved in the hiring process of the company.

2018 - 2020: Senior Software Engineer at GlobalSign

High Performance Platform: Serves thousands of request to generate SSL certificates per second. I took care of the migration of backend storage from MongoDB to PostgreSQL.

Kubernetes prototype: I implemented a prototype of the system used in production to test the feasibility of a future migration.

Others: I Mentored multiple new-hires and had a highly involved role in the hiring process. As a side project I developed an static analysis tool to enforce the code style used in the company.

2016 - 2018: Software Engineer at VCA Technology

Network library: Allows the user to interact with Boost ASIO through the std::stream interface.

Tools: Improve the toolchain used internally to allow the usage of clang-tidy for the linting of our code. Another tool allows to switch between several versions of the toolchain without having to change the environment.

Backend development: Several activities regarding the extension and implementation of new features in the backend of the product such as Authentication and GStreamer sinks.

2015 - 2016: Software Developer at Programming Research

Static analysis of code: Checks if the code has some patterns that have an undefined behaviour, unspecified in the Standard, and/or implementation-defined.

Dataflow analysis of code: Checks the complexity of methods, pointer problems, memory handling, etc.

Took over two projects to refactor, maintain and add new features.

2013 - 2015: Software Engineer at European Bioinformatics Institute

RESTful service: Allows users to query for information about complexes in the database.

Cluster algorithm: Developed a new algorithm to cluster biological information from proteins.

2013 - Present: Open Source

YAUS: A URL Shortener writen in Go and deployed in Heroku.

Prefix Tree Comparison: Compare performance for different Trie, Ternary Search Tree and Radix Tree.

ARM C Compiler (ACC): I am creating a self-hosting compiler for C in the ARM architecture.

Interactive CV: Application built in Rust and with Docker to show my resume in an interactive way.

Programming Languages
  • 90% 90%
  • 85% 85%
  • 85% 85%
  • 80% 80%
  • 75% 75%
  • 50% 50%
  • 25% 25%
Operating Systems
  • 95% 95%
  • 85% 85%
  • 70% 70%
  • 35% 35%
Technical Skills
  • - Agile for developers
  • - Algorithms, Part II
  • - Algorithms, Part I
  • - Cryptography: The Big Picture
  • - SSCP: Cryptography
  • - Cryptography and PKI afor CompTIA Security+
  • - Building Distributed Applications with Go
  • - Scaling Go Applications Horizontally
  • - Concurrent Programming with Go
  • - Creating Well-tested Applications in Go
  • - The Go CLI Playbook
  • - Go Fundamentals
  • - Go: Getting Started
  • - Kubernetes Installation and Configuration Fundamentals
  • - Docker and Kubernetes: The Big Picture
  • - Getting Started with Kubernetes
Linux Kernel
  • - LFD331: Developing Linux Device Drivers
  • - LFD320: Linux Kernel Internals and Debugging
  • - Advanced Python
  • - Python - Beyond the Basics
  • - Python Fundamentals
2010 - 2013: Bachelor of Engineering in Computer Science; Universitat Jaume I (Spain)
  • Advanced Data Structures
  • Advanced Operating Systems
  • Compilers and Interpreters
  • Distributed Systems
2006 - 2010: Associate Degree in Computer Science; Universitat Jaume I (Spain)
  • Concurrent Programming
  • Real Time Operating Systems
  • Embedded Systems
  • Spanish: Native
  • English: Fluent