Tech Stack & Experience

Over the years I’ve built and maintained systems ranging from tiny prototypes to multi-year products. Sometimes I led teams, sometimes I reinforced them, sometimes I substituted for missing pieces.

My focus has always been on the difficult problems: research, estimation, prototypes, and bridging technologies. In short: I don’t chase the easy path. I make the complex simple — and, occasionally, the simple complex.

Languages & Frameworks

Core Languages

  • PHP: main battlefield. Symfony is the current flagship, but I’ve also wrestled with Laravel, Yii2, Slim. Composer, Doctrine, API platforms, and yes — plenty of legacy cleanup.
  • C# / .NET: years with .NET Framework & Core, ASP.NET MVC, Web API, Entity Framework, LINQ. Still remember the joy of endless XML configs.
  • Java: Jersey, JDBI, and the Android SDK. Not my daily driver now, but the scars remain.
  • Objective-C: iOS dev back in the day. Also hybrid hacks with PhoneGap and Cordova — don’t judge, that’s what we had.

JavaScript & Frontend

  • Node.js & Express for backend services
  • Frontend tooling: Webpack, AngularJS 1.x (yes, that Angular — we all suffered), jQuery (legacy support, because someone has to)
  • Modern frontend integration: enough to survive in full-stack environments without losing sanity

Markup & Data

  • HTML & CSS for UI integration
  • XML, XPath, Ajax — because not everything is JSON, unfortunately
I really tried to keep this section short and to the point — resisting the urge to turn it into an endless wall of acronyms and buzzwords. Kinda managed (in the sense of “not really”). Below, though (see Databases, DevOps, and the rest), I lost control. Sorry, couldn’t help it. Better not read further — honestly, don’t.

Databases

Engines

  • MySQL (main expertise)
  • MariaDB
  • PostgreSQL (basic experience)
  • SQLite (regular use)
  • MS SQL Server (5 years of production use)
  • Redis (occasional use)

Skills

  • SQL design and querying (DML, DDL, DCL)
  • Database design, normalization, schema evolution
  • Optimization: indexes, query tuning, execution plans
  • Transactions and ACID principles
  • Stored procedures, functions, triggers
  • Backup/restore, replication strategies

DevOps & Tools

  • Containerization: Docker, Docker Compose; some exposure to LXC
  • Orchestration: Kubernetes (basic knowledge)
  • CI/CD: GitLab CI, GitHub Actions; Ant (legacy builds)
  • Monitoring: Prometheus, Grafana; basic ELK stack
  • Error tracking: Sentry
  • Configuration management: Ansible (basic usage)
  • Infrastructure as Code: Terraform
  • Collaboration & docs: Jira, Confluence, Notion, Google Docs, Office
  • Automation: Slack bots, Telegram bots, (historically Skype bots)

Operating Systems

  • Linux: Ubuntu, Debian, Amazon Linux, Fedora, Alpine, RHEL/CentOS
  • Desktop Linux: Mint, other distros occasionally
  • Windows: both Server (AD, IIS) and Desktop (dev environments)
  • macOS: primary workstation OS
  • Hackintosh: built and tuned hardware personally

Web Servers & App Servers

  • Apache (classic LAMP stack)
  • Nginx (reverse proxy, static serving)
  • HAProxy (load balancing, health checks)
  • Tomcat (Java applications)
  • IIS (Windows hosting)
  • Caddy (basic)
  • Lighttpd

Networking & Sysadmin

  • TCP/IP fundamentals (packet tracing, MTU, TTL)
  • DNS: BIND;
  • DHCP
  • LDAP
  • NTP
  • VPN/IPsec tunnels; WireGuard and OpenVPN (manual setup)
  • Firewalls: iptables, pf
  • Traffic monitoring with tcpdump and Wireshark

Servers & Utilities

  • Cron scheduling
  • Logrotate (and similar tools)
  • Shell scripting (bash primarily, some zsh)
  • Coreutils (sed, awk, grep, find)

Cloud & Infrastructure

Cloud providers

  • AWS: EC2, S3, RDS, IAM, CloudFront, Lambda/serverless
  • Microsoft Azure: VMs, Blob Storage, Azure AD integration

Infrastructure & hosting

  • Dedicated/colocation: Hetzner, Hivelocity, other
  • ARM vs x86 deployments: Raspberry Pi, Orange Pi, mini-PCs

Networking

  • DNS management: BIND, Cloudflare DNS, Route53
  • Reverse proxies/CDN/WAF: Cloudflare, Nginx reverse proxy, Traefik
  • VPN & tunnels: WireGuard, IPsec, OpenVPN, Cloudflare Tunnels
  • Load balancers: HAProxy, Nginx, cloud-native LB

Storage & backup

  • Object storage: S3-compatible
  • Block storage: AWS EBS
  • File storage: NFS, Samba
  • Backup: Kopia, Restic, Borg

Security & identity

  • SSL/TLS management: Let’s Encrypt, certbot, Cloudflare SSL
  • IAM systems: AWS IAM, Azure AD

Testing & QA

Unit & Integration Testing

  • PHPUnit (regular use)
  • Integration tests with DB-backed services
  • Test doubles: mocks, stubs, fixtures

Behavior-Driven Development (BDD)

  • Cucumber

Static Analysis & Code Quality

  • PHPStan

End-to-End & Functional Testing

  • Selenium & WebDriver (experience with classic browser automation)
  • Webdriver.io (JavaScript E2E testing)
  • Mocha & Chai (JavaScript testing stack)

Performance & Load Testing

  • JMeter

CI Integration

  • Running tests in CI/CD pipelines (GitLab CI, GitHub Actions)

Project Management

Agile & Methodologies

  • Agile practices: Scrum (sprints, roles, ceremonies) and Kanban (flow-based, WIP limits)
  • Comfortable with hybrid approaches and adapting process to team/project context

Tools

  • Jira: beyond task tracking, worked with roadmaps and dashboards
  • Trello: used primarily for team collaboration
  • Redmine: full ecosystem — issue tracking, wiki, time tracking, Gantt charts, backlog (via plugins)
  • Mantis: bug-tracking in live projects
  • Monday: applied at a fairly deep level

Processes

  • Task estimation using story points, T-shirt sizing, and hours
  • Participated in and facilitated retrospectives and sprint reviews
  • Experience with prioritization frameworks (e.g., MoSCoW, WSJF)
  • Release planning and versioning (semver, milestones)
  • Regular stakeholder communication with tailored reporting

Documentation

  • Confluence and Notion for project documentation

Other

  • Resource management: assigning work with load balancing across the team
  • Risk management: handled at a moderate level in real projects