Leifur Halldór Ásgeirsson

Montreal, Quebec · leifur@leifur.ca

I am a software developer based in Montreal since 2013 who works with a wide variety of enterprise software, distributed services and backend technologies. Since 2017, I've been working at Spiria on their post-production development team where I get to work with many different kinds of software, frameworks and languages.

Outside of work, I love taking long walks and going on hikes, hanging out with my cat Luna, playing tabletop roleplaying games as well as learning all about and getting better at knitting. I communicate and work in both French and English on a daily basis, and I have a basic proficiency in Icelandic as well.


Experience

Post-Production Developer

Work on many software projects in a wide variety of technologies, providing long-term development, support, and continuity for projects after primary development. Support both clients and internal development teams. Transfer knowledge from original developers and keep software products documented. Help with deployments and CI configuration. Develop updates for existing software to meet new requirements. Training of new developers.

Projects in a variety of domains, including:

  • Education
  • E-commerce
  • Financial
  • Healthcare

Different types of applications and technologies, including:

  • Web, mobile, desktop, etc
  • Linux, Windows, Android, iOS
  • C#, Java, Python, JavaScript, PHP, Ruby
  • PostgreSQL, MySQL, Microsoft SQL Server, Oracle, SQLite, MongoDB
  • .NET, ASP.NET, Ruby on Rails, Flask, Node, AngularJS, ReactJS
  • Microsoft Azure, Amazon AWS
June 2017 - Present

Software Developer

EBox Inc.

Developed an authentication and access control system for a client-facing service. The system restricts content depending on a client's subscription and limits the number of devices a client can use to access the service. Also wrote a key management server for DRM and an HTTP API for user management operations by staff.

February 2017 - June 2017

Software Developer

ZEROFAIL (an Openface company)

Worked on development of a Network Operations and Business Support System.

Led the development of a scalable, asynchonous RPC system built on the ZeroMQ messaging library so that workers can be added dynamically to scale to load without necessitating any changes to client configurations. The python implementation leverages the new asynchronous programming tools available with recent versions of Python, including the new async/await syntax and the asynchronous iterator protocol. Assisted a developer who implemented a client for the RPC system in Node.

Designed data models for the DataStax Enterprise database, especially the new DataStax Enterprise Graph. Contributed to, and reviewed pull requests for, the Goblin project.

Adapted a web API that provides an endpoint for sending SMS via a cellular modem; customized it to work with existing monitoring software as a notification delivery mechanism; added endpoints to monitor the health of the modem and its signal strength.

April 2015 - November 2016

Web Backend Development

Kids Code Jeunesse

Developed a web backend using the Django framework. Throughout my time with KCJ, I also visited classrooms and workshop in Montréal public schools to help share critical technology skills in web design (HTML+CSS+Javascript) and the creation of small web-based games using Scratch.

May — June 2014

Education & Certifications

Microsoft Certification (Issued by Acclaim)

Exam 483: Programming in C#

Passing Exam 483: Programming in C# validates a candidate’s ability to manage program flow, create and use types, debug applications and implement security as well as implement data access. Certificate can be viewed here.

Issued December 6, 2018

Université de Québec à Montréal

Cours en informatique et en développement de logiciel

Took courses in computer science and web development in order to further my CS foundation.

  • Fichiers et bases de données (Databases)
  • Développement de logiciel dans un environment agile (Software development in an agile environment)
  • Programmation web avancée (Advanced web development)

2013 - 2014

McGill University

Bachelor of Science
Physiology (major), Computer Science (minor)
2013

Skills

Programming Languages
  • Python
  • Java
  • Javascript
  • C
  • C#
  • C++
  • Bash
  • Ruby
  • Go
Database Systems
  • Relational (SQL)
    • Postgres
    • Microsoft SQL Server
    • MySQL
  • Search Indexing Engines:
    • Elasticsearch
    • Solr
  • Redis (in-memory cache database)
  • Cassandra
Frameworks
  • ASP.net
  • Python Flask
  • Ruby on Rails
  • React
Enterprise Messaging
  • RabbitMQ (AMQP)
  • ZeroMQ
Workflow
  • I frequently work in Linux and Windows, as well as mobile development environments
  • Comfortable using version-control software such as git
  • Agile Development & Scrum

FOSS (Free Open Source Software) Work

  • Google's GRPC
    Contributed bugfixes and patches towards compatibility with Python 3.

  • Apache Tinkerpop
    During the early development of the new Python Gremlin Language Variant (GLV), contributed an API for the raw expressions for the groovy translator, to allow the use of vendor-specific APIs. (The groovy translator was later superseded by Gremlin Bytecode.)

  • Goblin
    Contributor and reviewer for Goblin, the new python object graph mapper (OGM) for TinkerPop3-compliant database systems.

  • Django REST Framework JSON API
    This project, an extension for the popular Django REST Framework Package, provides tools to build REST services which conform to the JSON API Specification. I made several contributions to this project in the winter of 2014 to 2015, most notably adding features to automate the generation of links to related resources.

  • Django PostgresSQL Netfields
    Netfields adds support to Django for PostgresSQL's INET and CIDR field types, allowing Django application developers to efficiently query IP address and CIDR access data. I contributed a new query operator, '_family', which makes it possible to filter IP address records by family (i.e., IPv4 or IPv6) seamlessly from Django's QuerySet API.


Misc.

I enjoy spending as much time outdoors as possible — walking, hiking, kayaking, skiing, camping, you name it.

When indoors, I enjoy hanging out with my cat Luna, knitting, playing tabletop board games, and making cheese.

A photo of Leif standing in front of a small hill in Iceland.
A photo of Leif skiing at Jay Peak.
A photo of Leif holding up a giant knitted blanket that he made in 2018.
A photo of Leif's cat Luna, a little black cat, sitting on a couch and looking up curiously at the camera.

This website is put together using Bootstrap 4's Resume Theme with modifications by Gersande La Flèche.
© Leifur Halldór Ásgeirsson 2014-2019