Competence

I have over a decade of experience writing enterprise grade content management software, software architecture planning and software engineering. My skillset is pretty wide, so I tend to break it up by level of expertise and involvement with real-life projects.

Most of my skillset is geared towards providing services under high load with high availability constraints. On the front-end, the services typically fall under some kind of CMS system (CMS for a news website, CRM for a pharmacy group, CRM for a tourist agency, CRM for a call centre) and on the back-end it can range anywhere from scripting jobs, deployments and writing network services.

Senior expertise

I have extensive experience in developing highly-available web services - front and back-end. They range from programming languages and a deep understanding of networking principles and protocols. I can pick up anything here and feel right at home.

  • PHP - several large scale projects/codebases, open source projects too
  • MySQL - strong DBA knowledge creating schema, indexing, optimisation, replication
  • Go - wrote two books on the subject, several apps in production
  • Bash - strong knowledge of bash scripting for cron jobs and similar
  • LUA - strong knowledge of low-latency nginx/LUA API endpoint development
  • Wowza - strong knowledge of plugin development, deep understanding of HTTP streaming
  • Nginx - strong knowledge of configuration and caching principles for HTTP(S) delivery
  • Docker - strong knowledge of building and using docker environments in production
  • Redis - deep understanding of caching principles and Redis data types
  • CSS: strong knowledge of HTML/CSS and LESS, BEM, several large scale projects
  • Protocols: TCP, UDP, HTTP, Websocket (wrote my own implementation in PHP), SMTP,…

Mid-level expertise

My expertise here can be described as “picking the right tool for the job”. In many cases, I leverage existing packages or frameworks to deliver a product or functionality for my clients.

  • Node.js - API development with Express.js, chat bot for Discord, various tools
  • Wordpress - Developed several back and front-end services (CMS, API)
  • PostgreSQL - created database schema for several projects, used in production
  • Swagger - documenting API schemas up to industry standards
  • Databases: MSSQL, ORACLE - a MSCE certification for MSSQL and experience with both
  • Embedded: Familiarity with hardware projects on RaspberryPI, GPIO, I2C

Junior expertise

I have a familarity with many tools and programming languages which I picked up over the years. While I tend not to use them very often, I am fluent enough to pick up and create what needs to be done.

  • Perl - back-end scripting, content crawlers, network services
  • Silex/Slim - using and familiarity with creating API endpoints for one-off projects
  • C/C++ - fluent enough to extend and modify existing software projects
  • P2P/WebRTC - familiar with basic principles of in-browser P2P communication
  • Vue.js 2.x - several applications using the Vue.js framework
  • Angular 1.x - a few applications using Angular framework (one complex with routing)
  • SCSS - much like LESS, but I tend to pick LESS more often (same principles)

Other

These don’t really fit into programming competencies, but generally fit well together. After all, software has to run somewhere, doesn’t it?

  • AWS - basic knowledge of S3 bucket management, EC2 instances, Auto-scaling groups, Route53 geo-dns
  • Google - basic knowledge of Google Container engine, and principles,
  • DigitalOcean - VPS with an orchestration api for hot-spot instances,
  • Docker Swarm - on-premises orchestration for docker containers and scaling services
  • Linux - Debian based distributions (Debian, Ubuntu, Raspbian), Alpine
  • Windows - managing a Hyper-V cluster, Windows 10 Hyper-V service