System administration

Experience: 4 years

Understanding of operating systems and shell scripting are essential skills when you work with back-end and DevOps.


For a long time, Arch Linux was my day-to-day system, and Debian was the typical choice for servers. Recently I got interested in ideas of stateless operating systems based on functional declarative configurations, which led me to NixOS ( my config ) and Guix .

From system administration perspective, it’s interesting that NixOS may eliminate the hassle of fiddling with Ansible when upgrading servers and ensure that they will work at any upgrade, but the lack of NixOS-based boot images from cloud providers at the moment limits the applicability of these ideas. As for Guix: despite the all Scheme attractiveness, its time has not yet come (and may not come at all): even if the system can be started on real hardware (there are difficulties), kernel recompilation on every update due to the use of non-free drivers is just too much—thanks, Gentoo was enough…

Talking about Linux these days, you cannot get around the topic of containerization: in addition to writing and optimizing Dockerfiles, I have an experience in deploying systems with Docker inside LXC -containers with restricted rights (oh, those wonderful multi-admin situations).

As for systemd : I have a little experience in writing units, no allergies.

FreeBSD, OpenBSD

Some time ago I was interested in the BSD world.

FreeBSD : quite a viable option for any task (even Wayland is working… somewhat), and it’s interesting to follow the development of FreeBSD’s answer to Docker Hub: Bastille . However, the rationale for using FreeBSD in production systems today is not so clear.

OpenBSD : A perfect example of a well-documented and well-thought-out system (no kidding). It’s unfortunate that, due to eternal problems with real hardware and an experimental status of kernel-level virtualization ( vmm - Theo gaved up), the prospects for the applicability of this system are even more vague than FreeBSD.

Nevertheless, I acquired love and respect for ZFS from this experience, which is quite reliably ported to Linux ( OpenZFS ). Better than native Btrfs for sure.

Shell Scripting

Despite the fact that Python can be found on almost any machine now (especially when Python is the main working language in your company), sometimes it is much easier and faster to glue together separate programs using shell scripts. Usually, I write scripts using bashisms, but depending on the task (Debian-based system on the server, busybox-based image…), I can write in a POSIX sh-compatible form as well.


In the field of embedded systems, I have an experience in real-time operating system development using C++, as well as experience with FreeRTOS. RTOS in C++ is used in UAV autopilot, FreeRTOS is used in power converters. See also the C++ section.


email icon telegram icon github icon