home icon Barcelona, Spain

I'm a versatile software developer with a mathematics background. I now work as a C++ developer, although I started my career as an iOS developer. I'm comfortable solving new problems and learning new things. I've contributed to several open source projects in different languages. I know C++, Rust and Swift, among other languages. My skills include mathematics, algorithmics, functional programming, category theory and basic electronics.

Skills

C++
C++ coroutines
Qt
GoogleTest
CMake
Rust
Valgrind
GDB
Git
SQL



Swift
iOS
Objective-C



Functional programming
Haskell
Category theory


Work experience

ASUNI

Mar. 2021 – Present C++ Developer

At ASUNI I'm developing VisualARQ, an architectural design pluguin for Rhino.

FREENOW

Sept. 2018 – Sept. 2020 iOS Developer

At FREENOW I developed, tested, released and monitored new key business features that were launched internationally to thousands of drivers. I worked in a cross functional team developing new features and maintaining legacy code.

The app is based on the Sensor reactive architecture, based on RxSwift. I fixed bugs and improved and developed new and existing features for the architecture supporting library.

Jan. 2020 – June 2020 Back-end Developer

I joined the release tooling team, a newly formed team with the mission to develop a back-end service that automates our apps release process.

I developed the architecture of the service based on Spring, Hibernate, Kotlin and Arrow using functional programming patterns.

Clubberize

Jan. 2019 – June 2019 iOS Developer

At Clubberize I lead the development of the app. I developed, improved and tested their location services, which use geofencing and beacons, Branch.io deep links and push notifications.

Basetis

Apr. 2016 – Dec. 2018 iOS Developer

At Basetis I worked on several iOS projects for several clients. I also worked as a QA on an electronic voting project for a client.

Everis

Oct. 2015 – Mar. 2016 iOS Developer intern

Education & Training

May 2017 ISTQB Certified Tester Foundation Level ISTQB International Software Testing Qualifications Board
2011 - 2019 Degree in Mathematics (Unfinished) Universitat Politècnica de Catalunya
2009 - 2010 Degree in Informatics Eng. (1st course) Universitat Politècnica de Catalunya

Languages

English
Spanish
Catalan
Italian


Open source contributions

Project Contributions

Mixxx

Dj software (C++)

Aoide

A distributed music library management system (Rust)

  • Allow to build a search query with a binary tree of filters and "and" and "or" combinations[1]
  • And more...

Aoide iTunes

An Aoide client to retrieve iTunes library metadata (Swift)

Project creator

SwiftGraph

Graph data structures and algorithms library (Swift)

Bow

Functional programming library (Swift)

  • Rank-N polymorphism documentation[1][2]
  • New Exists type encoding the notion of existential type used to improve Coyoneda implementation[1]
  • Program type for free-er monads[1]
  • Multi-way tree data type and its usual typeclass instances[1]
  • Functor, Applicative and Monad instances for Trampoline[1]
  • MonadTrans and ComonadTrans typeclasses and its laws[1]
  • And more...

Swift Snapshot Testing

Library for snapshot testing (Swift)

  • Separate file content transformations from file IO so we can write unit tests[1]
  • Escape snapshot literals appropriately when they contain special characters[1]

Sensor

Functional reactive architecture and supporting library (Swift)

  • Sensor DSL to manage side effects in the reducer[1]
  • SensorTest improvements and Sensor unit tests
  • Add unique ID to effects so they can be triggered more than once
  • And more...

nixpkgs

A collection of software packages for Nix package manager

  • Allow chromaprint library to be built on macOS[1]