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.

Feel free to contact me for consultancy/freelance work.

Get in touch

Most of my engineering skillset is geared towards providing development services for projects with high load and 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 complex network services and APIs.

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
  • Vue.js 2.x - several applications using the Vue.js framework
  • 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
  • SCSS - much like LESS, but I tend to pick LESS more often (same principles)

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
  • Angular 1.x - a few applications using Angular framework (one complex with routing)

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