cv

Most of the things I've done so far

Basics

Name André Videla
Label Software Engineer
Email 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

    Licence en Informatique
    Université de Franche Comté, Besançon, France
    Computer Science
    • Logic
  • 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