David Kudera

David Kudera

DevOps & backend developer

I'm someone who has never doubted that will become a programmer one day. I wrote my first function (random number generator for a lottery taken from a book) when I was eleven years old, but professionally I'm in this field for 10+ years.

Even though I always knew that I would be a programmer, it was never an easy thing trying to stay on top and be the best developer I could be. Luckily that's what I like on this carrier, the push its constantly giving me to learn new technologies and pursuing perfectionism in the code I write.

My main focus is on APIs written in PHP Slim framework, tools in node.js, CI+CD, containerized applications, Kubernetes and Google Cloud. I'm also proficient enough in Golang and recently I started to learn C# with .NET Core. I like developing frontend applications in Angular too.

I also develop and maintain many open source libraries which you can find here (I’m using gitlab more than github):

Contacts:

Email:
[email protected]
Telegram:
@davidkudera
Twitter:
@david_kudera
LinkedIn:
david-kudera
Address:
Czech Republic, Prague

Certificates

I can help you with

Docker

Not only new applications can benefit from docker, but legacy apps can too. No matter into which category your application belongs, I can help your existing team with docker by pointing them in the correct direction or do the work myself.

Google Cloud & Kubernetes

Trying to understand and choose the right tools from the ever-growing collection of Google Cloud offerings can be a truly overwhelming task. Let me help you with the cloud platform design and/or deployment into Kubernetes.

Angular applications

I was using Angular.js (version 1), but when Angular 2 was released, I immediately switched to it. From that time I was in love with Angular. It's still astonishing to me that you can build such powerful applications so quickly in typescript (another thing I love).

Node.JS & Electron apps

Writing code for node.js (in typescript) is a way for me to recharge myself and take a break from the "traditional" backend development. I started with node.js in 2012 and collected a vast knowledge of this ecosystem by building many private and open source projects ever since.

Microservices and APIs in PHP

This is where my origin lies. I know PHP better than any other technology. This is the language on which I relied most of the time in my carrier. I watched how it become a modern and powerful language with cool new features. I was using it mainly with Nette framework (which I still sponsor) but recently I switched exclusively to building APIs with Slim framework.

Consultancy & crimping RJ45

I'm most enthusiastic about passing my knowledge to other people. We can discuss any of the outlined topics or really anything it/cloud/programming related........ And when my brain starts to hurt, I can crimp some RJ45 connectors. I heard that manual work is helping with that...

Skills <codestats>

C# & .Net Core
favorite favorite favorite favorite favorite_border
Typescript
star star star star star_half
Node.JS
star star star star star
Angular
star star star star star_half
Vue.js
star star star_outline star_outline star_outline
Go
star star star_half star_outline star_outline
PHP
star star star star star
Nette
star star star star star
Docker
star star star star star
Kubernetes
star star star star star_outline
PostgreSQL
star star star star_outline star_outline
Linux
star star star star_half star_outline
Google Cloud
star star star star_half star_outline
GIT
star star star star star_outline
English
star star star star star_outline

Experience

Software engineer - self employed (August 2019 - Present)

Lead developer at HyperMedia a.s. (August 2018 - September 2019)

HyperMedia is the first company where I worked on code which was not written by me or my team. Part of my job was to maintain as well as improve legacy applications. What I'm most proud of is starting the development of new systems (mainly microservices), tools, containerization of legacy applications and moving into Google Cloud.

One of my biggest tasks was, for example, to migrate user photos from HyperInzerce. All of them were stored on ordinary spinning hard drives, now all 7TB is in Google Cloud Storage.

I also created the base for all microservices, Docker containers, deployments into Kubernetes (in Google Cloud), Cloud Run, Cloud Functions, logging, internal tools, and a few other things.

In HyperMedia I learned:

  • Maintaining legacy applications
  • Containerization of legacy applications
  • Electron
  • Vue.js
  • Google Cloud Run
  • Google Cloud Functions (node.js + golang)
  • Google Cloud Stackdriver (Debugger, Trace, Error Reporting, Monitoring, Logging)
  • Moving 7TB of production data to Google Cloud Storage

and I used these languages/tools/...:

  • GitLab with CI & CD
  • Git
  • PHP7 (main language)
  • PHP RoadRunner (used in all microservices)
  • PHP Slim (used in all microservices)
  • Google Cloud Storage, Vision, Kubernetes, Stackdriver, Functions, Run, SQL, ...
  • Golang for internal tools and in Google Cloud Functions
  • Node.js for internal tools
  • Electron for internal tools

Lead developer at WebACAD s.r.o (June 2017 - August 2019)

This is the company where I fully embraced the cloud motion for the first time. To be more specific I switched from using VPS's to Google Cloud and Kubernetes.

In WebACAD we were building a new education portal and I worked here as a full stack developer.

I developed the frontend in Angular and backend in PHP Slim.

In WebACAD I learned:

  • Migrating dockerized application into Kubernetes
  • Migrating application from VPS into Google Cloud
  • Better logging (a side effect of moving to cloud)
  • Kubernetes
  • Google Cloud (Functions, Logging, PubSub, Storage, ...)
  • Microservices
  • Golang (using in Google Cloud Functions)

and I used these languages/tools/...:

  • Google Cloud
  • Kubernetes
  • Angular 7
  • PHP 7.3
  • Slim framework
  • Doctrine with PostgreSQL
  • Golang
  • Git
  • GitLab with CI & CD

Lead developer at Europa Workintense (September 2012 - May 2017)

I remember working for this company the most. This is because I made many friends here, learned a lot of new cool things, the environment was nice and, of course, because I spend almost 5 years here.

My main work consisted of developing a new job portal.

Main features were:

  • Publishing vacancies
  • Publishing resumes
  • Creating a company presentation page
  • Communication between companies and applicants
  • Notifications

At the same time, I was the only backend developer here so my job was also to find some new colleagues. The situation in the Czech Republic was not ideal, so we looked into other countries and hired people from many different parts of the globe.

When we grew some more we needed for own servers. We decided to use this opportunity to "fix" our local network too. I build our rack with two custom build servers, new gigabit switch, new router and UPS (it was work of art :-)). The servers were based on Intel Xeon CPUs and Supermicro motherboards. I installed the awesome OpenStack system on these servers. We were able to easily host our GitLab, mail server and many other things in OpenStack.

Just before I left I started working on a new simpler job portal workmarket.eu. Also two years after docker was published (2015) I switched everything into docker and started using it everywhere.

In Europa Workintense I learned:

  • Leading team of developers
  • English
  • Doing job interviews (locally and remotely via Skype)
  • Code reviews
  • Nginx
  • Angular.js
  • Node.js
  • Hosting GitLab on own servers
  • Docker with docker-compose
  • OpenStack
  • CI+CD
  • to love automation

and I used these languages/tools/...:

  • PHP with OOP
  • Nette 2
  • Angular.js
  • Doctrine with PostgreSQL
  • Git
  • GitLab with CI and own docker registry

Software developer at OSRAM (June 2011 - August 2012)

My first job was the development of intranet applications for Osram company.

The first application was for monitoring all the company's computers. It used reports from WinAudit CSV files which were processed and saved into the database.

Main features were:

  • See the current state of computers
  • See user information
  • See the history of computers' changes (HW and SW)
  • See the history of computers which each user used
  • Email notifications for harddisks running out of space
  • Find port in Cisco switch where the computers are connected
  • Start remote desktop connection (I forgot the name of the software we used)
  • Wake on LAN for any PC
  • List all installed applications - useful for licensing purposes

The second application should have been importing software for wages from one system into SAP. Unfortunately, this was not finished.

These applications were integrated into the existing intranet website and used LDAP.

In Osram I learned:

  • Doctrine ORM
  • Backbone.js
  • LDAP + AD
  • Nette 2 beta

and I used these languges/tools/...:

  • PHP 5.3 with OOP
  • Nette 2 beta
  • Doctrine + NotORM
  • MySQL
  • MSSQL
  • Backbone.js

How do I work

I work as a freelancer from my own office only and bill hourly.