In my latest projects, I utilized knowledge in the following areas:

  • Programming languages & packages: Python (w/ AsyncIO, aiohttp, Flask), JavaScript, React.js, Redux.js (RTK), D3.js.
  • WebSocket, RabbitMQ (RPC, pub-sub), and RESTful API-based (OpenAPI 3 spec) service-to-service communication.
  • Used S3 API in Python to integrate with S3-compatible object storage.
  • Dev. tools/IDEs: VS Code, GitLab web UI, SSH, Git, and common command-line tools.
  • CI/CD: Used GitLab CI on a self-hosted server for safe and efficient offline experimentation.
  • Containerization & virtualization: primarily used Docker and docker-compose, but also experimented with alternatives (Podman, qemu, LXC, and VMs) on Debian and Proxmox hypervisors.

Some other tools and concepts I am familiar with:

  • Collaboration tools: Slack, Mattermost, GitLab Issues.
  • Documentation/markup notations: Markdown, LaTeX.
  • Other common notations: JSON, YAML, TOML, OpenAPI.
  • Cloud/distributed computing: currently taking an online course on cloud computing and AWS.
  • Distributed storage: experimented with deploying a minimal Ceph cluster (open source storage system) on RockyLinux and Debian VMs.
  • Data structures and algorithms: good understanding of the time and space complexities of code, common software design patterns, and have studied computational methods.
  • Operating Systems: MacOS and Linux (Debian/Ubuntu, CentOS/RockyLinux/AmazonLinux), OpenWrt.

Homelab

  • I use a low power multi-node homelab cluster to run my experiments and expand my understanding of different concepts: HA, reverse proxy (Traefik with SSL/TLS, nginx), virtualization, storage and backup solutions, microservices, networking (VLANs, WireGuard, routing, DNS), operating systems, and self-hosting of various dev-productivity services).
  • One of my ongoing projects on this setup is the development of a system that would read real-time trading data from Binance (and similar platforms) using their public API interface and reproduce several metrics available on their web UI. The idea for this project is to practice developing robust systems that can collect and analyze real-time data from various public sources.

Languages

  • English

Although, English is my primary communication language today, I plan to learn Japanese to expand my overall knowledge and have better opportunities for professional growth. So far, I learned the Hiragana and Katakana alphabets.

Narrow-area (and rusty) skills

Finally, in no particular order, here are some of the tools & tech I have not used in recent projects (or have used to a lesser extent in the past) and those that are less generic (e.g., used in specific fields of experimental research):

  • Programming Languages & IDEs: C, Java, PS/SQL, PHP, Eclipse, Android Studio.
  • Software tools/packages: PyQt, Gstreamer (for writing a real-time data processing pipeline), NI LabView, LIGO Digital Control System Tools, EPICS/MEDM, SVN, VirtualBox.
  • Used Matlab and Python for time-domain and frequency-domain analysis of measurement data.
  • Updated analysis scripts to run on high-performance computing clusters with HT Condor (within LIGO-Caltech and KAGRA-Uni. of Tokyo).
  • Other research-related experience: conducted tabletop optical experiments, developed/improved calibration procedures for large-scale gravitational-wave observatories.