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.
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:
Different types of applications and technologies, including:
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.
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.
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.
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.
Took courses in computer science and web development in order to further my CS foundation.
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.
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.
This website is put together using Bootstrap 4's Resume Theme with modifications by Gersande La Flèche.
© Leifur Halldór Ásgeirsson 2014-2019