Wojciech Wozniak
Lead Software engineer with DevOps and cloud skills
I’m interested in WEB3, system programming, and development process improvement. I believe that the best code is no code. Thanks to better infrastructure and cloud solutions, we can reduce business logic to a minimum and achieve a better User Experience with fewer bugs.
email: N/A
Github: https://github.com/wojtekw92
Tech I currently use: Go, TypeScript, Rust, AWS, GCS, Kubernetes, Git, Linux, Docker, Terragrunt, Pulumi, Terraform, Argo, Loki, Prometheus
Tech that I used to use: C, C++, React, Ansible, Jenkins
Professional Experience
CRAFTO as independent consultant (2017 - now)
SOCI
Technologies: AWS, Google Cloud, Kubernetes, Docker, TypeScript, Go, PHP 7.2, MySQL, Prometheus, Grafana, Loki, Terragrunt, etc.
As a consultant, I had to prepare the Plan for cloud migration of PHP applications to containers and Kubernetes. I had to prepare the application to run it in containers and cut out some parts to microservices(rewriting them to TypeScript). I was preparing Terraform/Terragrunt stack for new infra and the process of importing legacy systems. I migrated the deployment process to the GitOps approach using ArgoCD. I introduced industry standards for monitoring and logging using Prometheus with Thanos and Loki for logging. I developed Kubernetes Operators in Go to simplify and improve the deployment process of some workloads(Smaller YAML files -> KISS). I was working with the arch team to rewrite JobQues with 12 Factor App methodology and implement autoscaling for them. I prepared wrapper service in TypeScript for legacy DB migrations written in PHP to run them as Jobs in Kubernetes. I made tooling to convert existing Cron files on the fly to Kubernetes CronJobs in CI/CD pipelines. We were using Jenkins Pipelines for running CI tooling and tests. The test pipeline was extremely long(more than one hour). I started to redesign tests to run them parallelized as native Kubernetes deployments. The final result was under 15 mins with a cold start(Test nodes in Autoscaling groups). One of the best small projects I did for the company was the RBAC Kubernetes API proxy. Thanks to that proxy, it was possible to use OneLogin to get kubectl access.
Alphalab.capital
Technologies: AWS, Kubernetes, Docker, C#, Go, Prometheus, Grafana, Loki, Terragrunt, ansible, Cryptocurrencies, WEB3
I was working with the platform team. The platform team was responsible for gathering and preparing data for the Algorithmic Trading team. Our job was to rewrite existing data pipelines written in python on bare EC2 to better fit technology and cloud solutions. We moved workloads to docker containers and Kubernetes(we also checked the Hashicorp nomad). I was working on improving latency( comparing: ZeroMQ, Aeron Mq, etc.) and reducing hops on code and infra level. As part of my work, I had to debug the issue with latency on the long tail. We had problems with Kubernetes CPU Scheduler. CFS is not the best solution for the HOT PATH pipeline code. We finally settled on static scheduling. We were also working on improving the process for Trade support engineers. I was responsible for creating various CRDs and Operators in Go. The whole stack was implemented as IaaC using Terragrunt on AWS(10 Regions).
ERGO Digital IT
Technologies: AWS, Kubernetes, Docker, TypeScript, Postgres, React, Jenkins
As a software architect, I was responsible for initial requirements and the first draft of solutions for selling insurance in car dealerships in the B2B2C model as SaaS. Our stack was TypeScript and react. After the final acceptance of the business, I was responsible for backend implementation with another team member. The project was a great success in terms of development as we finished it ahead of time despite communication issues with service providers.
CKSource
Technologies: JavaScript
Software developer in CKEditor 4. I was responsible for implementing new features and fixing bugs in CKEditor 4.
Codeweaver
Technologies: Google Cloud, helm, Terraform, GitLab CI, bash
I joined the team to prepare an E2E template for CI/CD and IaaC. Existing and new projects deployed to Google Cloud. The new solutions were designed based on Gitlab CI with Argo CD and helm templates. I migrated infrastructure to Terraform. Besides cleaning deployments and preparing helm templates, I prepared a base tooling deployment stack for new clusters.
Cubiware (2014 - 2017)
Position: C++ Developer
Projects: FlowTV, TiVo Lite, CubiConnect, AliSD
Internal Projects: WebRemote, STB Viewer, DNS UI
As C++ Developer I was working on various company projects. I was responsible for the implementation of new futures, bug fixing/maintaining, releasing, and vendor communication in FlowTV and AliSD. I had a chance to work on R&D projects like CubiConnect and TiVo Lite where as a team we were creating a whole new experience for clients and a whole new SDK for company usage. I had some personal initiatives to improve processes in the company where I implemented a couple of tools. WebRemote was a small tool that was able to send Remote Control codes to STBs using hidden endpoints and share/replay lists of commands, the tool’s purpose was to make the tesing of new features faster and easier. STB Viewer was our internal initiative to create a dashboard with RTSP streams and other data to get data quicker from our Lab. DNS UI was a simple web app that was using our internal DNS APIs. The main purpose of the tool was to validate data and help with proper settings as wrong input was able to block the DNS server in our test network.
VDLabs(2014 - 2017)
Position: Fullstack web Developer.
Projects: Super Fi, Plikk og vinn, Galeria Koloru
Technologies: HTML5/CSS3, jQuery, WebGL, Docker, PHP, MySQL, JavaScript
I was working as a full stack developer in a small team where we were doing various side projects. Super Fi was a portfolio platform for an Austrian creative agency. Plukk og vinn was a gaming platform for Norwegian Mall chains. Galeria Koloru was our biggest project. It was a customizable e-commerce platform based on the PrestaShop engine for the biggest spray pain distributor and producer in Europe. We had to merge independent shops to one backend and migrate all data.
Personal projects
- Apress.js - frontend routing library
- Subconv - CLI subtitle format converter
- QRLink - Chrome extension to generate QR code with active tab’s URL.
- Dentalstorage - SaaS platform for online management of tooth models initially created for a dental laboratory run by a family member. Written with three.js, AngularJS, express.js, and MySQL.
- Hyanza - API’s first e-commerce platform. The goal was to make the platform open source. We had a couple of shops running on the engine but a lack of marketing, and the idea of how we would like to monetize it made the project deprecated.
- cert-checker - Alerting tool that checks the expiration date of SSL certs for provided domains. The toll is written in Rust.
- spellOutPrice - Small library to convert prices written in Float/Int to String representation in the Polish language.
Competitions
- Node knockout 2017 First place in 48h hackathon contest. As a team, we made an Online FPS game in the browser.