Personal details

Vaidotas V. - Remote back-end developer

Vaidotas V.

Based in: 🇱🇹 Lithuania
Timezone: Vilnius (UTC+3)

Summary

Remote only! Not interested in relocation!

I am a programmer with a passion for clean, well-tested and maintainable code, automation and developer productivity.

I have experience working with distributed systems from tens to a couple of hundred microservices - from architecture to implementation to delivery, monitoring and operation.

I successfully established and implemented continuous delivery processes and the required tooling in multiple companies.

Professionally I mostly code with Java, although I have past experience with C/C++ and am experimenting with Go in my free time. My experience is not limited to writing code - I like to understand and tame the infrastructure and processes around the code too.

I think that location-independence and remote work is the future of work. I have been working half-remotely for around three years and went 100% remote since February 2016. Not looking back.

Please do not contact me with relocation offers or office-based jobs, unless it is a very short term consulting opportunity.

Engineering work aside, I love aviation and own Private Pilot Licence for airplanes.

Work Experience

Senior Software Engineer
Gradle | Dec 2019 - Present
Java
Groovy
Working on the open source Gradle build tool.
System Developer
Casumo | Jun 2016 - Dec 2019
Java
Gradle
RabbitMQ
Ansible
Docker
CQRS
Apache Kafka
Envoy proxy
Zipkin
Architected and implemented continuous delivery processes and tooling. Drove modernization of a legacy startup platform. Introduced current day development and delivery practices. My initial focus was on the delivery aspects: - introduced containers into the delivery process, set up the tooling stack and processes for continuous delivery - Jenkins, Nexus, Docker registry. Those are used to date. A more detailed overview can be found in the Medium article here: https://medium.com/@rieske/software-delivery-workflow-at-casumo-664e20eb8639 - introduced and kept promoting clean coding practices, test-driven development, higher-level black box testing, contract tests for the APIs - the ingredients required to successfully build and deliver maintainable and resilient services in a distributed system. - developed tools to enable easy observability of microservices - automated dashboards for key operational metrics that get created/updated automatically on each release. Once the continuous delivery processes were established, I shifted the focus on refactoring/cleaning up/splitting/rewriting parts of the legacy monolith: - tested the untested - scaled out the previously unscalable - fought complexity, overengineered code - made services highly available and deployable without downtime - split out and rearranged services from big-ball-of-mud monoliths into decoupled domain focused services

Personal Projects

2014
C++
C
A semi-refactored university time project - compiler for a subset of C programming language.