Ruby / Rails · Infrastruktūra · DI · Techninė įranga

Saulius Morkevičius

Ruby/Rails inžinierius, infrastruktūros kūrėjas ir praktiškas sistemų problemų sprendėjas.

Kuriu programines sistemas, kurios sujungia verslo logiką, backend inžineriją, infrastruktūrą, duomenų bazes, mokėjimus, realaus laiko komunikaciją, DI ir techninę įrangą. Didžioji dalis mano darbo — ne vien kodas, o visa sistema aplink jį: kaip ji veikia, kaip gedimą atlaiko, kaip įdiegiama, kaip per ją juda pinigai ir kaip visa tai išgyvena produkcijoje.

Ką kuriu

Geriausiai dirbu ten, kur problema reali, techniška ir netvarkinga.

Backend platformos
Backend orientuoti produktai su Ruby on Rails: API, autentifikacija, foniniai darbai, realaus laiko atnaujinimai, duomenų bazių logika, mokėjimų srautai, administravimo skydeliai ir išorinės integracijos — kur backend yra produkto branduolys, o ne plonas apvalkalas.
Rails ir API sistemos
Grape API, JWT autentifikacija, Action Cable/WebSockets, Redis, foniniai darbai, mokėjimų atgaliniai iškvietimai, realaus laiko balanso atnaujinimai, pranešimų kanalai, administravimo procesai, tiekėjų integracijos ir įdiegimo automatizavimas.
Lažybos, žaidimai ir tranzakcijos
Sistemos, kur svarbu pinigai, būsena, laikas ir teisingumas: piniginės, įnašai, išmokėjimai, statymų ciklai, žaidimų raundai, provably-fair mechanika, planuoti tiražai ir išmokų logika. Suprask būsenų mašiną, apsaugok kritinį kelią, padaryk gedimus atstatomus.
Produkcijos infrastruktūra
Linux, Docker, NGINX, Puma, Capistrano, MySQL/PostgreSQL, Redis, Cloudflare, SSL/TLS, eilės, atsarginės kopijos, stebėsena, reverse proxy — ir viso steko derinimas, kai įdiegimo, SSL, DB ar Docker tinklo problema neaprašyta tvarkinguose dokumentuose.
Savarankiškai talpinamos sistemos
Infrastruktūros valdymas, kai tai prasminga: savas GitLab, privatūs servisai, Docker stekai, lokalūs DI serveriai, VPN, paštas, stebėsena ir dedikuota techninė įranga — pakankamai suprantama, kad būtų galima pataisyti be maldavimo tiekėjo skydeliui.
DI, vaizdas ir edge sistemos
DI, kuris stebi, aptinka, nusprendžia ir paleidžia veiksmą — ne prie produkto priklijuotas pokalbių robotas. Lokalus vaizdo apdorojimas, objektų aptikimas, kamerų srautai, Jetson įrenginiai, GPU serveriai, edge įdiegimas ir praktiška saugumo automatizacija.
Logistikos ir operacinės platformos
Dispečerija, maršrutizavimas, atsiskaitymai, kurjerių/pardavėjų/klientų/administratorių srautai, prekyvietės logika ir finansiniai atsiskaitymai — visas veikimo modelis, dažniausiai praktiškas modulinis monolitas su stipria duomenų bazės struktūra ir įvykiais tik ten, kur jie padeda.

Techninės sritys

Backend

Ruby · Rails · Grape · REST API · JWT · foniniai darbai · service objektai · tranzakcijų srautai · administravimo sistemos · tiekėjų iškvietimai · realaus laiko atnaujinimai

Frontend

React · Bootstrap · jQuery · serverio pusėje generuojami Rails vaizdai · administravimo skydeliai · dashboard'ai · responsyvios, patogios sąsajos

Duomenų bazės

PostgreSQL · PostGIS · MySQL · schemų projektavimas · migracijos · replikacija · užraktai · tranzakcinis nuoseklumas · užklausų derinimas · ataskaitos

Eilės ir pranešimai

Redis · Sidekiq tipo darbai · delayed jobs · RabbitMQ · Kafka / Racecar · Redpanda tipo įvykiai · webhook apdorojimas · pakartojimų valdymas

Infrastruktūra

Linux · Ubuntu · Docker · NGINX · Puma · Capistrano · Cloudflare · SSL/TLS · SSH · GitLab CE · reverse proxy · stebėsena · atsarginės kopijos

DI ir techninė įranga

NVIDIA GPU · RTX darbo stotys · Jetson Orin · lokali inferencija · vaizdo dekodavimas · YOLO tipo aptikimas · modelių dydžiai · edge DI · PCIe/saugykla/tinklas

Tinklai

MikroTik · UniFi · LTE/5G maršrutizatoriai · valdomi komutatoriai · VLAN · DHCP/DNS · PoE kamerų tinklai · VPN · nuotolinė prieiga · gedimų šalinimas vietoje

Patirtis

  1. Su Ruby ir Ruby on Rails dirbu nuo 2012 m.

  2. Laisvai samdomas programinės įrangos inžinierius nuo 2015 m., su ilgalaikiais klientais — daugiausia Ruby pagrindu kuriamos programos.

  3. Vyresnysis (Lead) programuotojas nuo 2016 m.; CTO nuo 2024 m.

  4. Itlogas bendraįkūrėjis ir CTO (2014–2015) — personalo valdymo ir rinkimų valdymo platformos bei įmonės IT ir operacijos.

  5. Programinės įrangos inžinierius Wise Monks (2012–2014) — kodavimas, sistemų projektavimas ir komandos vadovas Groupon tipo Lietuvos akcijų platformoje (akcijatau.lt) bei e. komercijos klientams; kūriau vidines sistemas, įskaitant SMS siuntimo platformą ir didelio pajėgumo el. laiškų sistemą (~400 tūkst. laiškų per dieną). Čia pradėjau dirbti su Ruby on Rails.

  6. Informacinių technologijų bakalauras, Vilniaus Gedimino technikos universitetas (VILNIUS TECH).

Kaip galvoju apie inžineriją

Gera inžinerija — ne naujausio įrankio naudojimas kiekvienai problemai. Tai reiškia, kad sistema daro tai, ko reikia verslui, atlaiko gedimus, gali būti suprasta vėliau ir nesugriūva, kai pasirodo pirmas realus vartotojas ar kraštutinis atvejis. Man svarbesnė teisinga architektūra nei madinga architektūra.

Paslaugos

Backend kūrimas
Rails programos, API, administravimo sistemos, autentifikacija, foniniai darbai, verslo logika, duomenų bazėmis paremti procesai ir integracijos.
Infrastruktūra ir įdiegimas
Linux serveriai, Docker stekai, NGINX, SSL, Cloudflare, GitLab, duomenų bazės, Redis, eilės, įdiegimo automatizavimas ir produkcijos gedimų šalinimas.
Sistemų architektūra
Techninis planavimas platformoms, prekyvietėms, logistikai, žaidimams, mokėjimams imliems produktams, DI/vaizdo sistemoms ir savarankiškai talpinamai infrastruktūrai.
DI / vaizdo / edge prototipai
Lokali DI inferencija, kamerų/vaizdo apdorojimas, Jetson ir GPU serverių planavimas, objektų aptikimo procesai ir praktiškas edge įdiegimas.
Derinimas ir gelbėjimo darbai
Sugedusių produkcijos sistemų, nepavykusių įdiegimų, duomenų bazių problemų, tinklo ir neaiškių infrastruktūros gedimų tyrimas ir taisymas.

Turite sistemą, kurią reikia sukurti, stabilizuoti, skalinti ar išgelbėti?

Susisiekite, jei reikia žmogaus, kuris dirba su backend kodu, infrastruktūra, duomenų bazėmis, tinklais, DI ir technine įranga, netraktuodamas jų kaip atskirų pasaulių.