cv
Most of the things I've done so far
Basics
Name | André Videla |
Label | Software Engineer |
andre.videla@strath.ac.uk | |
Url | https://andrevidela.com |
Summary | A programmer using applied category theory |
Work
-
2023.01 - 2023.12 Functional programming consultant
EF Grant Contractor @ Cybercat
Worked on the integration between the OpenGame Engine and Ethereum's HEVM library and ACT programming language.
- Haskell
- Compiler engineering
- Applied category theory
-
2022.04 - 2023.07 Functional programming consultant
Contractor @ Begroup
Worked on a domain-specific language for contracts in Haskell inspired by Poly, the category of polynomial functors.
- Compiler engineering
- Dependent types
- Applied category theory
-
2021.01 - 2021.07 Functional programming consultant
EF Grant Contractor @ Statebox
Hired to deliver on the Ethereum Foundation grant to improve the developer experience of the Open Game Engine. Wrote the front end parser, the template haskell backend and provided support for better error messages.
- Haskell
- Compiler engineering
- Applied category theory
-
2019.04 - 2020.01 Software engineer
Statebox
Maintainer for Typedefs, a programming language to describe types and generate serialisers and deserialisers for multiple languages. Author of multibase and multihash for Idris, collaborated on idris-ct, a library for category theory in Idris.
- Idris
- Purescript
- Applied category theory
-
2018.04 - 2018.12 Backend Developer
Bity SA
Lead a small team to develop new microservices in Haskell to provide a formal method approach to banking services. Trained staff and interns on the new stack and developed processes and documentation for haskell development.
- Haskell
- Microservices
- Management
-
2017.10 - 2018.03 Mobile Developer
Self-Employed
Worked as a consultant for private customers on iOS mobile applications. During that time I specialised in delivery and service apps like Uber clones.
- iOS
- Swift
- Objective-C
- Mobile development
-
2016.10 - 2017.06 Mobile Developer
Sicpa SA
Maintained a number of internal libraries, lead the team toward a UI/UX redesign, acted as a point of contact with the team in Spain, developped B2B products, worked on embedded bluetooth systems.
- iOS
- Swift
- Objective-C
- C
- Mobile Development
-
2016.07 - 2016.07 Computer Programming Teacher
Techspark Academy
Taught mobile-app developement for kids, ages 12-18 during a summer camp. We taught swift, basics concepts of variables, loops, recursion and graphic design.
- iOS
- Swift
- Mobile Development
- Game Development
-
2015.07 - 2015.09 Programming Intern
Kabotip
Worked on microservices for an online tipping platform.
- Clojure
- Redis
- APNS
-
2013.10 - 2014.01 Software engineer
Dischan Media
Port a game engine from iOS to Android using LibGDX.
- Java
- LibGDX
- UX
- QA
-
2010.08 - 2010.09 Robotics teacher
Creative Studios
Teach robotics for kids age 8-14, at a summer camp using the Lego Mindstorm and WeDo platform.
- Lego
- Mindstorm
- Robotics
- Teaching
Education
-
2020.10 - 2024.09 Glasgow, Scotland
PhD
University of Strathclyde, Glasgow, Scotland
Computer Science
- Quantitative type theory
- Low level performance
- Server backends & API Design
- Category of Containers
-
2019.10 - 2020.09 St-Andrews, Scotland
Masters by research
University of St-Andrews, St-Andrews, Scotland
Computer Science
- Quantitative type theory
- Low level performance
- Programming patterns
- Compiler Benchmarks
-
2017.10 - 2019.07 Besançon, France
-
2012.10 - 2016.07 Lausanne, Switzerland
Bachelor en Informatique
EPFL
Computer Science (Not graduated)
- Computer architecture
- Functional Programming
- Software engineering
- Compiler construction
Volunteer
-
2022.10 - Present Student representative
SPLI
Strathclyde Student representative for SPLI, an organisation aimed at bringing together students and institutions across scotland.
- SPLI PhD Induction 2022
-
2021.12 - 2023.09 Organiser
Idris Developer Meeting
Managed and organised the Idris developer meetings. Coordinated participants online, setup schedules, talks and events, handled social media and announcements, coordinated with aborad university for international collaboration, etc.
- Idris developer meeting Aug 2023 (Zurich)
- Idris developer meeting Dec 2022 (St-Andrews)
- Idris developer meeting May 2022 (Online)
- Idris developer meeting Dec 2021 (Online)
- Idris Community talks (Online)
-
2021.11 - 2022.12 Student Ambassador
NPL, PGI
Helped organise in-person and online events, designed new processes for knowledge management and transfer
-
2021.05 - 2021.05 Organiser
SPLS
Organised SPLS online in 2021. Handled the programme, registration, speakers, moderation, social media, etc
-
2012.10 - 2012.07 Class representative
EPFL
Class representative of the first years computer science class in 2012. Represented a cohort of 250 students, engaged in collaboration with the school's direction and AGEPoly
-
2010.05 - 2010.05 Presenter
EPFL - Centre Roberta
Teaching robotics using the LEGO mindstorm platform to kids between the age of 10 to 14
Publications
-
2024.01.20 Customisable binder syntax for dependently-typed programming languages
WITS
Binders in dependently-typed programming are especially important due to types such as Σ : (a : Type) -> (a -> Type) -> Type and Π : (a : Type) -> (a -> Type) -> Type. This work-in-progress in the Idris compiler aims to bring the ergonomic benefits of custom binders brought by arbitrary syntax extension, while keeping the grammar fixed in order to provide bespoke quality error messages.
-
2022.03.29 Lenses for Composable Servers
Arxiv
We implement the semantics of server operations using parameterised lenses. They allow us to define endpoints and extend them using classical lens composition. The parameterised nature of lenses models state updates while the lens laws mimic properties expected from HTTP. This first approach to server development is extended to use dependent parameterised lenses. An upgrade necessary to model not only endpoints, but entire servers, unlocking the ability to compose them together.
Languages
French | |
Native speaker |
English | |
Fluent |
Spanish | |
Oral practice |
Japanese | |
Beginner |
German | |
Beginner |
Interests
Infrastructure | |
Railway | |
Transportation | |
Housing | |
Energy |
Formal methods | |
Agda | |
Idris |
References
Professor Robert Atkey | |
PhD supervisor |
Professor Jules Hedges | |
Long term collaborator |