2023-07-01 00:06:43 +02:00
|
|
|
|
# Vladan Popovic
|
2023-07-02 23:32:51 +02:00
|
|
|
|
## Senior software and systems engineer
|
|
|
|
|
|
2023-07-03 04:43:46 +02:00
|
|
|
|
\pagenumbering{gobble}
|
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
Bulevar Oslobodjenja 150, 11042 Belgrade, Republic of Serbia
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
Tel : +381 62 1436099
|
2022-12-29 00:08:47 +01:00
|
|
|
|
|
2020-02-03 17:40:21 +01:00
|
|
|
|
E-mail: vladanovic@gmail.com
|
2024-02-06 13:42:15 +01:00
|
|
|
|
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2023-07-01 00:06:43 +02:00
|
|
|
|
## Profile
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
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
|
2023-07-02 23:32:51 +02:00
|
|
|
|
CoreOS, or any other [**OSTree based
|
2024-02-06 13:42:15 +01:00
|
|
|
|
distro**](https://forge.vp.mk/vladan/workstation-ostree-config) in a production
|
2023-07-02 23:32:51 +02:00
|
|
|
|
environment. My
|
2023-07-01 00:06:43 +02:00
|
|
|
|
[**Linked-In**](https://www.linkedin.com/in/vladan-popovic-957ab733),
|
2024-02-06 13:42:15 +01:00
|
|
|
|
[**GitHub**](https://github.com/vladan>) and [**my selfhosted forge
|
|
|
|
|
server**](https://forge.vp.mk/vladan) may provide more info if needed.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2023-07-01 00:06:43 +02:00
|
|
|
|
### Skills and toolset
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2022-12-29 00:08:47 +01:00
|
|
|
|
Python is the language and ecosystem I have the most experience with. I've done
|
2024-02-06 13:42:15 +01:00
|
|
|
|
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.
|
2023-07-02 23:32:51 +02:00
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2023-07-04 19:44:14 +02:00
|
|
|
|
Professionally I used to manage infrastructure on AWS, GCP, OpenStack and
|
2023-07-02 23:32:51 +02:00
|
|
|
|
employed Ansible on multiple projects. Docker was a thing I've used a lot in
|
2024-02-06 13:42:15 +01:00
|
|
|
|
the past, but switched to Podman due to its daemon-less, free [as in
|
|
|
|
|
freedom] nature and its Kubernetes compatibility.
|
2023-07-02 23:32:51 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
### Hobbies
|
2023-07-02 23:32:51 +02:00
|
|
|
|
|
|
|
|
|
I spend most of my free time writing Rust, from [**lock-free
|
|
|
|
|
queues**](https://github.com/filipdulic/bus-queue) to [**web applications in
|
|
|
|
|
WebAssembly**](https://git.vp.mk/ui) (must also mention that Elm provided me
|
2023-07-04 19:44:14 +02:00
|
|
|
|
with one of the greatest hobby-programming experiences ever). Recently I've
|
|
|
|
|
been busy with an [**embedded application in Rust for tracking
|
2024-02-06 13:42:15 +01:00
|
|
|
|
e-bikes**](https://forge.vp.mk/e-bike-tracker) on an esp32 with a sim module.
|
2023-07-02 23:32:51 +02:00
|
|
|
|
|
|
|
|
|
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.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
### Languages
|
|
|
|
|
|
2022-12-29 00:08:47 +01:00
|
|
|
|
Macedonian is my native language. I speak English and Serbian fluently and have
|
2023-07-02 23:32:51 +02:00
|
|
|
|
a fair German knowledge with a C2 degree in 2001.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
\
|
2023-07-05 22:40:03 +02:00
|
|
|
|
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2022-09-05 15:56:01 +02:00
|
|
|
|
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2022-09-05 15:56:01 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
## Work Experience
|
|
|
|
|
|
|
|
|
|
#### Self Employed - Rust Developer / Embedded (current)
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2024-02-06 13:42:15 +01:00
|
|
|
|
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](https://aiven.io/) (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.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
#### 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)
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2024-02-06 13:42:15 +01:00
|
|
|
|
Distributed application for managing and editing documents written in
|
|
|
|
|
TypeScript (NodeJS) and PostgreSQL using JSON-RPC for inter-node communication.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
#### TradeCore - Python Lead (Jul 2017 - Nov 2018)
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2019-08-03 22:06:25 +02:00
|
|
|
|
Reduced the technical debt by refactoring, planning and discovering bottlenecks
|
|
|
|
|
and bad/redundant implementations. Improved the development flow, enforced a
|
2024-02-06 13:42:15 +01:00
|
|
|
|
stronger code review practice and Python coding standards for the main product
|
|
|
|
|
written in Django, which also utilized PostgreSQL, ElasticSearch, Celery, etc.
|
2022-09-05 15:56:01 +02:00
|
|
|
|
Introduced a solid CI/CD infrastructure by automating the Selenium tests and
|
2024-02-06 13:42:15 +01:00
|
|
|
|
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.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
#### Itekako - Software Engineer / Python Lead (Jun 2012 - Sep 2013, Sep 2014 - Jun 2017)
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2024-02-06 13:42:15 +01:00
|
|
|
|
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)
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
|
|
|
|
Development and RPM packaging on OpenStack Nova. Tested, debugged and deployed
|
|
|
|
|
various OpenStack scenarios and use cases.
|
2019-08-03 22:06:25 +02:00
|
|
|
|
|
2024-02-06 13:42:15 +01:00
|
|
|
|
#### Asseko - Software Developer (Dec 2010 - May 2012)
|
2023-07-01 00:06:43 +02:00
|
|
|
|
\
|
2019-08-03 22:06:25 +02:00
|
|
|
|
Part of a new team working on a complete rewrite of a legacy proprietary
|
2024-02-06 13:42:15 +01:00
|
|
|
|
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.
|