Norbert Kéri

Devops engineer, backend, frontend developer, ~cloud architect~

Norbert Kéri
I'm Norbert Kéri, an application developer with 17 years of experience. I have worked at agencies, small startups, large enterprises, and individual clients. I have been a coder, a system administrator, a consultant, and a lead developer. I keep a high standard of quality using methodologies such as automated testing, continuous integration, and a burning hatred for slow feedback cycles and technical debt. I'm a strong believer in passing knowledge around, from simple things such as shell tricks, to holding presentations on software development topics.

Areas of expertise

Devops, cloud 6 years

I am very proficient in writing shell scripts, setting up and maintaining an environment that can support continuous integration, creating complex deployment pipelines, database migrations, automated testing, file transfers, and automated backups. From configuration management/IAC tools, I'm familiar with, and have written libraries for Ansible and Terraform, and I have a projects running under Docker and Kubernetes, and I have held presentations (available on my blog) about Kubernetes. I can set up, and have managed quite a few servers, ranging from simple development environments, on-premise solutions, to virtual networks on Amazon AWS, Azure, and GCP. I believe every app should follow the 12 factor app guidelines. I'm a Linux junkie at heart, and I know the ecosystem and the tools around it well enough, to solve and automate most tasks. I have experience with monitoring/logging tools such as the ELK stack, Grafana and Prometheus. I dabble in Nix a bit, and have NixOS running on a Raspberry Pi, but I'm not ready to dive deeper yet.

Backend 11 years

I'm a strong backend developer, having a lot of experience in Node, Python, PHP, Rust, and the various tools and libraries in their ecosystems. I have experience in the major frameworks like Symfony, Django, Flask, and Express, and I'm comfortable using any of the 32 python package managers. I have written a small match-3 like game using PyGame, and worked a while as a Java developer. I have a SOLID grasp on object oriented programming, and I'm familiar with the usual best practices, and principles. I believe the best programming language at the moment is Rust, and I would gladly work for any company that is willing to take a bet on it.

Frontend 11 years

I can turn your designs into HTML, CSS, and JS. I can create semantic and responsive web pages using popular libraries such as React, MobX, or Redux. I'm very comfortable working with flexbox and CSS grids, and I have experience with various CSS pre/post processors like SASS. From the myriad of build/bundle tools I'm familiar with Webpack, Vite, and rspack. I prefer biome for linting. I have experience in writing browser extensions for all the popular browsers. I really like the renaissance of backend-first JS libraries like htmx.

Software testing 5 years

My strong belief is that any project without tests is doomed to be crushed under its own weight. I'm experienced in several kinds of automated testing, from testing isolated pieces of a system with unit tests, to whole end-to-end functional testing with Selenium. I have set up, and maintained behavior driven test suites as big as 1300 tests, and I'm familiar with configuring CI/CD pipelines.

Other relevant experience

I run a technical blog, where I write about my experiences in software development, and I have done presentations on rust, devops, and kubernetes. I have done interviews, recruited and trained new colleagues. I have contributed bug reports, documentation, and code to a few open source projects. I know what the root of all evil is, and I believe organizational skills beat algorithmic wizardry. My favorite interview question is "What is the best programming language, and why is it rust?"

Notable workplaces

CGI / Statens vegvesen 2023 - 2024

Infrastructure architect on-demand kubernetes, terraform, go, skaffold

Infrastructure architect for the Norwegian Public Roads administration. My job was to help build a "vending machine" like interface for on-demand spinning up new, inhouse kubernetes clusters for the developers to deploy applications to. Most of the tech was built on VMWare Tanzu, bootstrapping was done through skaffold and ansible.

CGI / Mattilsynet 2020 - 2023

Cloud architect baremetal kubernetes, kubespray, docker, microservices, jenkins2

I worked as a cloud developer for the Norwegian Food and Safety administration, helping them manage and upgrade their on-premise, baremetal k8s setup. I have upgraded various infrastructure related services like Nexus, Jenkins, RabbitMQ, and Traefik. I have set up Ceph for persistent storage with the help of Rook, and set up automated security scanning with Trivy. I have migrated all of their applications away from the end of lifed helm2 to helm3, and have written a few helm charts both for internal applications, and for 3rd party services.

Correlate AS 2018 - 2020

Lead developer gcp, kubernetes, docker, nodejs, react, graphql, apollo, websockets

Lead developer on a productivity/personal organization application. I helped to bring in the project that was initially outsourced to a foreign company, by building an inhouse development team. I have built the foundation of the next iteration of the application's backend and frontend, recruited new programmers, have set up automated testing and continous integration, and managed the infrastructure for deploying the application to GCP. Backend was standard NodeJS, while the frontend used GraphQL through Apollo. Real time collaboration on the frontend was done through websockets, using RabbitMQ as the backing store.

Yoimo AS 2016 - 2018

Full stack engineer gcp, kubernetes, docker, mobx, react, jenkins2, websockets

First developer at a startup, developing cameras for recording live videos of sports events, and a streaming streaming solution for playing the videos. The infrastructure utilizes a multi cloud deployment, using kubernetes to orchestrate most of the running microservices, and uses AWS Elemental for live video transcoding. I have recruited, and built up the development team, designed the architecture for the services, and mentored new hires. The cameras used python for the recording software and communicating with the iOS/Android clients, while the streaming portal used PHP and Symfony4.

Fronter AS 2014 - 2016

Full stack engineer nodejs, python, microservices, ansible, express, php

I was maintaining a very large, legacy, PHP4 e-learning application that has been on the market for 12+ years, while in parallel, refactoring it to a new, microservices based architecture. I have been part of writing the code for the services, setting up deployment pipelines, provisioning scripts, conducting code reviews, setting up various monitoring channels, writing tests, analyzing logs, and integrating third party services.

Hobbies

I am an avid squash player, and have played competitively in the past. I love tinkering with my home automation setup, and I spend unhealthy amounts of money building custom mechanical keyboards that I end up never using. I love games that have a very high skill ceiling, like Factorio and Starcraft. I'm running out of room to store my boardgames.