add h4
This commit is contained in:
parent
fa34c8f6f7
commit
59f2b3ebad
1 changed files with 73 additions and 54 deletions
127
source/cv.md
127
source/cv.md
|
@ -3,36 +3,35 @@
|
|||
|
||||
\pagenumbering{gobble}
|
||||
|
||||
"Bulevar Oslobodjenja" 150/51, 11042 Belgrade, Serbia
|
||||
Bulevar Oslobodjenja 150, 11042 Belgrade, Republic of Serbia
|
||||
|
||||
Tel : +381621436099
|
||||
Tel : +381 62 1436099
|
||||
|
||||
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 flavors, currently endeavoring to use Fedora
|
||||
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**](https://gitea.vp.mk/vladan/workstation-ostree-config) in a production
|
||||
distro**](https://forge.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.
|
||||
[**GitHub**](https://github.com/vladan>) and [**my selfhosted forge
|
||||
server**](https://forge.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.
|
||||
Nowadays 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, large set of configuration options and
|
||||
wonderful documentation.
|
||||
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
|
||||
|
@ -41,79 +40,99 @@ 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 nature (as in
|
||||
freedom) and its Kubernetes compatibility.
|
||||
the past, but switched to Podman due to its daemon-less, free [as in
|
||||
freedom] nature and its Kubernetes compatibility.
|
||||
|
||||
### Hobbies and Languages
|
||||
### Hobbies
|
||||
|
||||
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 hobby-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.
|
||||
e-bikes**](https://forge.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.
|
||||
|
||||
### 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 Software Engineer (current)
|
||||
#### Self Employed - Rust Developer / Embedded (current)
|
||||
\
|
||||
Location Based Services for tracking electric bikes. The platform rests on an
|
||||
ESP32 Microcontroller and is written the Rust. It also contains a SIM modem
|
||||
(sim800l + an ublox neo6m GPS modem is the first implementation, the second is
|
||||
on A7670E with an embedded GPS module).
|
||||
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/) (2021-2022) - Site Reliability Engineer
|
||||
#### [Aiven](https://aiven.io/) (Mar 2021 - Feb 2022) - Site Reliability Engineer
|
||||
\
|
||||
SRE in a dynamic multi-cloud setup consisting of tens of thousands of nodes,
|
||||
offering managed Postgres, Kafka, Clickhouse, Mysql, Elastic/Opensearch, etc.
|
||||
with platform management software written in Python.
|
||||
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 (2019-2021) - Senior Python/Platform Engineer
|
||||
#### 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 own private
|
||||
cloud management solution running on-site. My responsibilities included
|
||||
implementing best practices by setting up automation, reviewing most of the
|
||||
code in Gerrit and maintaining a Jenkins CI/CD pipeline (code-test-deploy
|
||||
automation).
|
||||
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.
|
||||
|
||||
#### Seavus - Senior Engineer (2018-2019)
|
||||
#### H4 - Senior software engineer (Nov 2018 - Oct 2019)
|
||||
\
|
||||
Responsible for maintaining a big data pipeline for Sunrise, a Swiss
|
||||
telecommunications provider. Based on the Hortonworks appliance (Ambari, Spark,
|
||||
Kafka, HDFS, Hive) with the code written purely in Scala.
|
||||
Distributed application for managing and editing documents written in
|
||||
TypeScript (NodeJS) and PostgreSQL using JSON-RPC for inter-node communication.
|
||||
|
||||
#### TradeCore - Python Lead (2017-2018)
|
||||
#### 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, Celerry, etc.
|
||||
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.
|
||||
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 (2012-2013, 2014-2017)
|
||||
#### Itekako - Software Engineer / Python Lead (Jun 2012 - Sep 2013, Sep 2014 - Jun 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.
|
||||
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 (2013-2014)
|
||||
#### 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 (2010-2012)
|
||||
#### 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.
|
||||
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.
|
||||
|
|
Loading…
Add table
Reference in a new issue