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
-
Su Ruby ir Ruby on Rails dirbu nuo 2012 m.
-
Laisvai samdomas programinės įrangos inžinierius nuo 2015 m., su ilgalaikiais klientais — daugiausia Ruby pagrindu kuriamos programos.
-
Vyresnysis (Lead) programuotojas nuo 2016 m.; CTO nuo 2024 m.
-
Itlogas bendraįkūrėjis ir CTO (2014–2015) — personalo valdymo ir rinkimų valdymo platformos bei įmonės IT ir operacijos.
-
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.
-
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.
- —Paprasta, kur įmanoma
- —Aišku, kur reikia
- —Pakankamai stebima, kad būtų galima derinti
- —Pakankamai saugu rizikai
- —Pakankamai greita apkrovai
- —Sukurta pagal realius apribojimus
- —Pataisoma tų, kurie ją valdo
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ų.