notes/source/cv.md

6.3 KiB
Raw Permalink Blame History

Vladan Popovic

Senior software and systems engineer

\pagenumbering{gobble}

Bulevar Oslobodjenja 150, 11042 Belgrade, Republic of Serbia

Tel : +381 62 1436099

E-mail: vladanovic@gmail.com

Profile

Experienced software developer and systems engineer in multiple fields, with around 20 years professional experience. FOSS enthusiast, honorary member of Macedonia's Free Software NGO and Belgrade's first hackerspace. Designed and implemented distributed and monolith systems in the cloud, on-site and in hybrid infrastructures. Keen on refactoring for the greater good. A long time GNU/Linux user of many flavors, currently endeavoring to use Fedora CoreOS, or any other OSTree based distro in a production environment. My Linked-In, GitHub and my selfhosted forge server may provide more info if needed.

Skills and toolset

Python is the language and ecosystem I have the most experience with. I've done a lot of web apps in Django, Flask, FastAPI and made heavy use of SqlAlchemy. Nowadays I use AsyncIO for most Python projects, used gevent before AsyncIO was introduced. Deployed WSGI apps on uWSGI and love it for its robustness, richness, large set of configuration options and wonderful documentation.

Huge fan of PostgreSQL with some NoSQL experience in Apache CouchDB. I have fair experience with Apache Kafka, RabbitMQ, MQTT, ZMQ, gRPC for message distribution and make use of Protobuf and Cap'n Proto for packing data before sending it through the wire.

Professionally I used to manage infrastructure on AWS, GCP, OpenStack and employed Ansible on multiple projects. Docker was a thing I've used a lot in the past, but switched to Podman due to its daemon-less, free [as in freedom] nature and its Kubernetes compatibility.

Hobbies

I spend most of my free time writing Rust, from lock-free queues to web applications in WebAssembly (must also mention that Elm provided me with one of the greatest hobby-programming experiences ever). Recently I've been busy with an embedded application in Rust for tracking e-bikes on an esp32 with a sim module.

I'm an avid table tennis player, frequent hiker (~100k steps/week), pizza and bread baker and an ordinary everyday cook. I also enjoy playing video games, mostly football when in good company.

Languages

Macedonian is my native language. I speak English and Serbian fluently and have a fair German knowledge with a C2 degree in 2001.

\

\

\

Work Experience

Self Employed - Rust Developer / Embedded (current)


Location Based Services for tracking electric bikes. ESP32 Microcontroller written in Rust that also contains a SIM modem (SIM800L + u-blox NEO-6M GPS modem, or A7670E with embedded GPS module) that sends location information to a broadcast server (also written in Rust) with a streaming architecture that receives locations from all devices (via MQTTS, or HTTPS) and streams those locations to designated parties (mobile apps) via websockets.

Aiven (Mar 2021 - Feb 2022) - Site Reliability Engineer


SRE in a dynamic multi-cloud setup consisting of close to 100.000 of nodes, offering managed Postgres, Kafka, Clickhouse, Mysql, Elastic/Opensearch, Cassandra, etc. The platform management software was written entirely in Python and hosted on AWS, GCP, Azure, OVH and other smaller cloud providers.

Sigma Technology (Oct 2019 - Feb 2021) - Senior Python/Platform Engineer


Consultant in Ericsson LabOps team in Linköping - Sweden. Worked on automating the infrastructure procurement for the R&D department in Ericssons on-site private cloud. My responsibilities included implementing best practices, reviewing most of the code in Gerrit and maintaining a Jenkins CI/CD pipeline (code-test-deploy). The most interesting part for me was to develop a Python project generator based on Jinja2 that contained configuration for the whole pipeline, i.e. tests with Tox, wheels, Sphinx documentation, Docker images and publishing to Artifactory.

H4 - Senior software engineer (Nov 2018 - Oct 2019)


Distributed application for managing and editing documents written in TypeScript (NodeJS) and PostgreSQL using JSON-RPC for inter-node communication.

TradeCore - Python Lead (Jul 2017 - Nov 2018)


Reduced the technical debt by refactoring, planning and discovering bottlenecks and bad/redundant implementations. Improved the development flow, enforced a stronger code review practice and Python coding standards for the main product written in Django, which also utilized PostgreSQL, ElasticSearch, Celery, etc. Introduced a solid CI/CD infrastructure by automating the Selenium tests and frontend packaging for ~25 environments, GitLab Review Apps, etc. Lead the team reworking the product to a microservice architecture and successfully moved large parts of the monolith to new services.

Itekako - Software Engineer / Python Lead (Jun 2012 - Sep 2013, Sep 2014 - Jun 2017)


Designed and built a scalable platform in the cloud for home security cameras written in Python with JSON-RPC as the synchronization protocol hosted with uWSGI on AWS with around a dozen service types: a server that kept a live connection to every camera over TCP with Protobuf, transcoding server with FFMpeg, Live555 custom streaming server, a DB/RPC service to handle clients, file syncing service with SSH key management, a couple of notification services, back office service for managing the platform, etc. Other projects included reducing development and deployment overhead by dockerizing a couple of clients complete infrastructures, a machine-generated-content service by implementing a ranking algorithm in PostgreSQL, etc.

RedHat - Software Engineer - OpenStack (Oct 2013 - Sep 2014)


Development and RPM packaging on OpenStack Nova. Tested, debugged and deployed various OpenStack scenarios and use cases.

Asseko - Software Developer (Dec 2010 - May 2012)


Part of a new team working on a complete rewrite of a legacy proprietary Banking Software to C# and MSSQL. I was part of a team writing the new software that also made the adapters for data migration from the old to the new platform.