notes/source/cv.md

112 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\pagenumbering{gobble}
# Vladan Popovic
## Senior software and systems engineer
"Bulevar Oslobodjenja" 150/51, 11042 Belgrade, Serbia
Tel : +381621436099
E-mail: vladanovic@gmail.com
\
## Profile
Veteran software developer and systems engineer experienced in multiple fields
with a shy of 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 flavours, currently endaevouring to use Fedora
CoreOS, or any other [**OSTree based
distro**](https://gitea.vp.mk/vladan/workstation-ostree-config) in a production
environment. My
[**Linked-In**](https://www.linkedin.com/in/vladan-popovic-957ab733),
[**GitHub**](https://github.com/vladan>) and [**my selfhosted Gitea
server**](https://gitea.vp.mk/vladan) 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 make heavy use of SqlAlchemy.
Nowdays I use AsyncIO for async programming, but used gevent a lot in the past
as well. I'm obliged to say I've got to use most of uWSGI's features and love
it for its robustness, richness, 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.
Professionaly 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 nature (as in
freedom) and its kubernetes compatability.
### Hobbies and Languages
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
with one of the greatest hoby-programming experiences ever). Recently I've been
busy with an [**embedded application in Rust for tracking
e-bikes**](https://gitea.vp.mk/e-bike-tracker) 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.
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
\
#### [Aiven](https://aiven.io/) (2021-2022) - Site Reliability Engineer
\
SRE in a dynamic multicloud setup consisting of tens of tousands of nodes,
offering managed Postgres, Kafka, Clickhouse, Mysql, Elastic/Opensearch, etc.
#### Sigma Technology (2019-2021) - Senior Engineer
\
Consultant in Ericsson LabOps team in Linköping - Sweden. Worked on automating
the infrastructure procurement for the R&D department in Ericssons own private
cloud management solution running on-site. My responsibilities included
implementing best practices by setting up automations, reviewing most of the
code in Gerrit and maintaining a Jenkins CI/CD pipeline (code-test-deploy
automation).
#### Seavus - Senior Engineer (2018-2019)
\
Responsible for maintaining a big data pipeline for Sunrise, a Swiss Telecom
provider. Based on the Hortonworks appliance (Ambari, Spark, Kafka, HDFS,
Hive) with the code written purely in Scala.
#### TradeCore - Python Lead (2017-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, Celerry, etc.
Introduced a solid CI/CD infrastructure by automating the Selenium tests and
frontend packaging for ~25 environments, GitLab Review Apps, etc.
#### Itekako - Software Engineer / Python Lead (2012-2013, 2014-2017)
\
Designed a scalable cloud solution and built a complete platform for home
security cameras with Python, JSON-RPC with TinyRPC, gevent, Protobuf, FFMpeg,
uWSGI and Live555, hosted on AWS. Reduced a couple of clients development and
deployment overhead by dockerizing their complete infrastructures. Created a
machine-generated-content service by implementing a ranking algorithm in
PostgreSQL and optimized critical DB queries.
#### RedHat - Software Engineer - OpenStack (2013-2014)
\
Development and RPM packaging on OpenStack Nova. Tested, debugged and deployed
various OpenStack scenarios and use cases.
#### Asseko - Software Developer (2010-2012)
\
Part of a new team working on a complete rewrite of a legacy proprietary
Banking Software to C# and MSSQL.