Jean-Alexandre Barszcz


jalex_b [at] hotmail [dot] com · github.com/jabarszcz

Compétences

Informatiques

Python, C/C++, Erlang, Haskell, OCaml, Agda, Scheme, Java, Bash, XSLT, Assembleur x86-64, GNU/Linux, Nix/NixOS, Git, Emacs, GDB, LaTeX, Claude Code

Générales

Communication
Apprentissage rapide
Pédagogie

Langues

Français (courant)
Anglais (compétence professionnelle)

Projets

2025 -
Co-mainteneur de papis.el
Emacs LispNix
  • Ajout d'une intégration avec le package citar
  • Ménage de la base de code Emacs Lisp existante
  • Implantation de tests d'intégration et simulés (mocks)
2026
Auteur de papis-make-epub [PyPI]
PythonNix
  • Extension du gestionnaire de bibliographie papis construisant des renditions EPUB d'articles scientifiques à partir du HTML d'arXiv ou des éditeurs, avec pré-rendu optionnel des maths pour liseuses.
2026
Contributeur à agda-unused, un linter de code inutilisé pour Agda
HaskellAgda
  • Portage de l'outil vers Agda 2.8 et correction de faux positifs, avec tests; intégré en amont par le mainteneur
  • Cadrage de fonctionnalités subséquentes avec le mainteneur, en PRs et issues ciblées (p. ex. commentaires de suppression)
2023 - 2024
Types dépendants de versions (doctorat)
Haskell
  • Réponse au dependency hell par la conception des « types dépendants d'intervalles de versions » et leur implantation en Haskell
  • Prise en charge de plusieurs versions de types en évolution par une seule fonction, avec compatibilité vérifiée à la compilation
  • Développement d'outils pour comparer et explorer les changements de types de données dans les historiques de versions de packages de Hackage
2021 - 2023
Élaboration réfléchie (proposition de doctorat)
OCaml
  • Réalisation d'un prototype de réflexion pour Typer, vers une métaprogrammation à portée correcte
  • Déboggage et explication d'une régression de performance en instrumentant et profilant l'interprète Typer à l'aide de flamecharts
2022 - 2023
Formalisation de la conversion de fermetures (doctorat)
Agda

Expérience professionnelle

2020
Auxiliaire d'enseignement pour deux cours
SchemeCAssembleur x86-64GDBHaskell
Université de Montréal
2017 - 2018
Développeur logiciel dans l'équipe Backend
ErlangC++
Adgear
  • Accélération de l'encodage des records (Erlang) vers JSON en produisant du code natif (C++) à partir de signatures de types et d'annotations, évitant le surcoût d'interprétation
  • Évaluation de l'accélération à environ 4x sur des données de production et validation par des tests fondés sur les propriétés
  • Intégration de l'outil à la phase de construction (build)
2016
Stagiaire en développement logiciel sur le projet kunwind
CLinux
Laboratoire de recherche sur les systèmes répartis ouverts et très disponibles (DORSAL)
École Polytechnique de Montréal
  • Écriture d'une première version d'un module noyau ainsi que sa bibliothèque pour dérouler la pile de programmes à partir du noyau, avec le but d'ajouter cette trace d'appels (backtrace) à des points de trace lttng pour l'observabilité
2015
Stagiaire en développement logiciel dans l'équipe PDK du groupe IP
PythonSQLRESTSKILL (Lisp)
Cadence Design Systems
  • Accélération du déploiement distribué d'une suite logicielle interne, passant de 2h à 1 minute, et ajout d'un suivi avec un tableau de bord Jenkins et des alertes, réduisant le fardeau administratif et les frictions à la collaboration
  • Développement, dans le dialecte SKILL de Lisp/Scheme, d'un outil graphique pour utilisation interne servant à vérifier la qualité des blocs électroniques

Formation

2021 - 2024
Doctorat en informatique (thèse non déposée)
Université de Montréal
2022
École d'Été d'Oregon en Langages de Programmation (OPLSS)
University of Oregon
2019 - 2021
Maîtrise en informatique
Université de Montréal
2013 - 2018
Baccalauréat en génie informatique
École Polytechnique de Montréal

Prix et distinctions

2018
Deuxième place dans la catégorie Programmation fonctionnelle
2017
Deuxième place dans la catégorie Intelligence artificielle
2015
Première place dans la catégorie Embedded
2014
Troisième place dans la catégorie Embedded
Compétition interuniversitaire Computer Science Games (équipes de 2-3)

Autres expériences

Haskell
Comité organisateur 2019 des CS Games
2016
Organisateur responsable des épreuves pour la compétition informatique
HaskellPython
Comité étudiant en génie informatique
  • Conception d'épreuves algorithmiques couvrant la recherche dans les graphes, la programmation dynamique et la combinatoire
  • Recrutement d'autres personnes pour l'écriture de questions supplémentaires
  • Évaluation des soumissions des participants
  • Présentation des prix à la cérémonie de fermeture
2014 - 2016
Trésorier
2013 - 2016
Membre de l'équipe Navigation
Société technique Élikos à l'École Polytechnique de Montréal
  • Première place en Amérique du Nord à l’International Aerial Robotics Competition en 2014, 2015, et 2016

Loisirs et intérêts

Patin à roues alignées, vélo, escalade (bloc), voile, monocycle, slackline, hockey