Portfolio

Daži no projektiem, kuru izstrādē esmu piedalījies ir minēti zemāk.

Eleving

Period: 2021-04-20 — presently

As of April 2021, I've joined Eleving as a Linux Administrator/DevOps

My daily routine includes:

  • writing quality server configurations in Ansible
  • reacting to all sorts of issues
  • managing server infrastructure with Terraform
  • communicating with development teams to deploy new or improved features
  • migrating services from AWS to Azure
  • reducing technical debt
  • improving service security
  • communicating with 3rd parties to help solve common problems

Stuff that I use daily:

  • git
  • Ansible
  • Terraform
  • gitlab/gitlab-ci
  • Prometheus/Grafana/Alertmanager
  • AWS
  • Azure
  • CentOS
  • Debian
  • PostgreSQL
  • MySQL
  • nginx
  • and much, much more

Evolution

Period: 2017-11-13 — 2021-04-19

Dažas lietas, ko esmu darījis:

  • Uzturēju apmēram 120 produkcijas un testa serverus
  • Uzturēju ap 1800 bezdiska serverus
  • Būvēju OS bezdiska serveriem
  • Izveidoju dinamiskās vides video kodēšanas komandai
  • Izveidoju dinamiskās vides video izplatīšanas komandai
  • Ieviesu metriju savākšanu visām manis uzturētajām iekārtām
  • Pamatīgi vienkāršoju piegādes procesu
  • Samazināju atjaunojumu piegāžu laiku no 25 līdz apmēram 3 minūtem
  • Izstrādāju vienkāršotu Jenkins paiplainu
  • Dramatiski pārstrādāju bezdiska OS būvēšanas procesu
  • Atbalstīju komandu visos jautājumos saistītos ar Linux
  • Ieviesu PostgreSQL augstas pieejamības klāsteri
  • Cieši strādāju ar citiem departamentiem (tier2, NOC, ProdOps, SRE, InfoSec, Servisu menidžeriem u.c.)

H5 property pasūtījumu apstrādes sistēma

Periods: 2017.05.01 — 2017.10.31

Mani nolīga Fjord Software kā Vecāko Ruby on Rails izstrādātāju lai palīdzētu izstrādāt pasūtījumu apstrādes sistēmu vienam no lielākajiem norvēģu nekustamo īpašumu mārketinga risinājumu sniedzējam — H5 Property.

Mans lielākais pārbaudījums šajā projektā bija saprast, kā strādā vecais kods, jo ar iepriekšējo programmētāju man tā arī neizdevās sazināties. Par laimi es varēju iegūt izsmeļošu informāciju par biznesa vajadzībām un to attīstības vēsturi.

Sasniegumi sešos mēnešos:

  • Migrēju autorizācijas kodu no CanCanCan ruby gem uz Pundit. Tas ļāva paātrināt turpmāko izstrādi, tai pat laikā samazinot iespēju ieviest jaunas kļūdas autorizācijas kodā. Šīs izmaiņas nākotnē pamatīgi atvieglos autorizācijas koda auditu.
  • Izstrādāju rēķinu izrakstīšanas sistēmu.
  • Izveidoju integrāciju ar Quickbooks.
  • Izveidoju integrāciju arTripletex.
  • Pārliecināju biznesu migrēt failus no Amazon EBS uz S3, lai samazinātu izmaksas par vairāk nekā 50%.
  • Izstrādāju kodu, kas ļāva pārvietot vairāk nekā 3TB failu no servera uz Amazon S3 bez sistēmas pārtraukumiem un klientu traucējumiem.
  • Izstrādāju pamatus API v2.
  • Izstrādāju audita atskaiti. Es arī izdomāju viltīgu veidu, kā izmantot iegūtos datus, lai lietotājam atrādītu notikumu secību (timeline) izvēlētajam pasūtījumam. Diemžēl šo ideju es nematerializēju, jo pametu Fjord Software.
  • Sāku daļēji izmantot Trailblazer (Cells, form objects, operations).
  • Izstrādāju integrāciju ar Goolge Vision API, kas ļāva automātiski klasificēt bildes.
  • Daudzos servisos uzlaboju veiktspēju.
  • un daudz ko citu

Tehnoloģijas:

  • Ruby on Rails
  • Mysql
  • SASS (SCSS)
  • git
  • sidekiq
  • jQuery
  • ImageMagick
  • Trailblazer
  • Pundit
  • grape
  • swagger

CakeHR - cilvēkresursu vadības sistēma

Periods: 2016.01.17 — 2017.04.17

Es pievienojos CakeHR projektam kā vadošais programmētās lai palīdzētu izstrādāt jaunus moduļus, refaktorētu veco kodu, viektu koda auditu, labotu kļūdas un uzlabotu kopējo koda kvalitāti.

Šī projekta lielākais izaicinājums bija vecā koda refaktorēšana kvalitātes un ilgtspējības uzlabošanai.

Dažas liektas ko esmu darījis:

  • Pilnībā refaktorētēju un standartizēju front-end
  • Izstrādāju darbinieku novērtēšanas un attīstības plānošanas moduli
  • Izstrādāju uzņēmuma hierarhijas attēlošanas un rediģēšanas moduli
  • Izstrādāju objekta izmaiņu saglabāšanas moduli audita nolūkiem
  • Refaktorēju lielu daļu vecā koda

Tehnoloģijas:

  • Ruby on Rails
  • ActiveAdmin
  • PostgreSQL
  • MongoDB
  • SASS (SCSS)
  • git
  • sidekiq
  • MaterializeCSS
  • jQuery
  • d3.js

Nameswitch

Periods: - 2016-01-17 — 2016-11-11

Viens no maniem pirmajiem projektiem strādājot Mosties bija sistēmas izveide cilvēku personas datu maiņai.

Galvenā doma ir palīdzēt cilvēkiem automātiski aizpildīt dokumentus saistītus ar vārda, uzvārda, dzimuma maiņu u.c.

Pēc nepieciešamo detaļu aizpildīšanas, klients izvēlas organizācijas un kompānijas kurām vajag sagatavot attiecīgos iesniegumus. Katram uzņēmumam tiek aizpildīta attiecīgā standarta forma, viss kas jādara klientam - jāizdrukā aizpildīta forma, jāparaksta un jānosūta uzņēmumam.

Sistēma palīdz ļoti ekonomēt laiku, jo nav jāmeklē uzņēmumu specifiskās formas - tās jau ir pieejams vienuviet, kā arī dati jāsavada vienureiz, nevis katrai formai atsevišķi.

Šī projekta lielākais izaicinājums bija izdomāt elastīgu veidu, kā spēt aizpildīt visas iespējamās PDF formas.

Tehnoloģijas:

  • Ruby on Rails
  • ActiveAdmin
  • PostgreSQL
  • sidekiq
  • jQuery
  • daži slepeni triki

Mogo iekšējā finanšu sistēma

Periods: 2013.04.25 — 2015.08.31

Vissarežģītākais no projektiem — MOGO finanšu sistēma.

Šī projekta ietvaros esmu piedalījies praktiski visu sistēmas moduļu izstrādē kopš projekta sākuma.

Daži no moduļiem kuru izstrādi esmu veicis:

  • Līgumsodu aprēķināšana
  • Dokumenu ģenerēšana
  • Permisiju modulis (iespējas liegt modificēt pat konkrētus laukus formā lietotāju grupām)
  • Līgumu un apakšlīgumu loģika
  • Ļoti sarežģītu atskaišu ģenerēšana (ar perspektīvas datumu)
  • Dažādu nedokumentētu ārējo servisu integrēšana

Izaicinājumi:

  • Veiktspēja
  • Trūkstošo vai lieko centu medīšana sarežģītās formulās
  • Konfigurējamība
  • Koda sarežģītība un apmēri
  • Projekta ilgums
  • Sirmi mati

Tehnoloģijas:

  • Releaf
  • Ruby on Rails
  • Rspec
  • SASS
  • jQuery
  • MySQL
  • Redis
  • MongoDB
  • HAML
  • SOAP
  • REST API

Releaf satura vadības sistēma

Periods: 2012-10-01 — 2018-11-29

Tehniski interesantākais projekts - Ruby on Rails satura vadības sistēmas izstrāde (SVS).

Izmantotās tehnoloģijas:

  • MySQL
  • PostgreSQL
  • Ruby On Rails
  • Rspec
  • HAML
  • SCSS (SASS)
  • JQuery
  • git

Releaf ir atvērta pirmkoda projekts (izmanto BSD licensi).

Latio majaslapa

Periods: 2014.01.29 — 2014.07.11

Tehnoloģijas:

  • Releaf vadības sistēma
  • Ruby on Rails
  • Rspec
  • MySQL
  • HAML
  • CSS
  • jquery
  • git

Viens no šī projekta interesantākajiem aspektiem ir fakts, ka jaunā sistēma tika izveidota pa virsu vecajai.

Nemitīgi mainīgā satura dēļ mēs izveidojām sarežģītu kešošanas mehānismu.

DNB internet bankas istrāde (frontend)

Periods: 2012.06.07 — 2013.04.23

Tehnoloģijas:

  • Leaf CMS
  • php
  • Smarty
  • CSS
  • jQuery
  • git

Latvijas American Express un Membership Rewards

Periods: 2013.02.11 — 2015.08.20

Projekta izstrādes laikā es biju atbildīgs par Releaf satura vadības sistēmas izstrādi un backend instrādi.

Galvenie izaicinājumi:

  • CMS izstrāde Ruby on Rails ietvaram
  • dažādu trešo pušu servisu integrācija
  • Bankas drošības prasību ievērošana

Pēc projekta nodošanas es turpināju to uzturēt līdz pat 2015 gada augusta beigām, kad pametu Cube Systems komandu.

Tehnoloģijas:

  • Releaf CMS
  • Ruby On Rails
  • Rspec
  • MySQL
  • HAML
  • CSS
  • javascript/jQuery
  • SOAP servisi
  • dažādu trešo pušu servisi
  • git

elbook - DNB bankas intranets

Periods: 2011.09.27 — 2013.02.14

Mans pirmais projekts Cube Systems komandā bija DNB bankas iekšējās dokumentu pārbaldības sistēmas izveide.

Mēs izveidojām pilnīgi jaunu sistemu un uzrakstijām skriptu, dokumentu importam no vecās sistēmas vienlaicīgi sapludinot lokalizētos dokumentus un izveidojot dokumentu saites (saistītiem dokumentiem).

Mēs arī izveidojām sarežģītu hierarhisku pielaižu sistēmu (grupām un individuāliem lietotājiem)

Tomēr vissarežģītākā funkcionalitāte ir saistīta ar dokumentu priekšskata attēlošanu. Sistēmā ievietotos dokumentus konvertēja uz normalizētiem HTML failiem, kā arī automātiski izveidoja saites starp saistītiem dokumentiem.

Iespējas:

  • Dokumentu priekšskats
  • Automātiska dokumentu saistīšana
  • Dokumentu koks
  • Dokumentu versionēšana
  • Sarežģītas hierarhiskas pielaides

Tehnoloģijas

  • Ruby on Rails
  • OpenOffice
  • MySQL
  • HAML
  • CSS
  • git

AirBaltic mājaslapas izstrāde (frontend)

Periods: 2012.11.27 — 2013.01.03

Mani palūdza palīdzētu ar dizaina "griezšanu", lai pabeigt projektu laikā.

Lielākais izaicinājums bija sataisīt sākumlapas galveno izvēlni atbilstoši dizainam, lai tā korekti strādātu (pašreizējā izvēlne AirBaltic mājaslapā ir daudz vienkāršāka nekā, tā, kuru savulaik izstrādāju es).

Izmantotās tehnoloģijas

  • Ruby On Rails
  • SCSS
  • jQuery
  • SQLite
  • sh
  • git

Baltcom intranet

Periods: 2012.03.23 — 2013.02.19

Baltcom iekšējā dokumentu pārvaldes sistēma.

Iespējas:

  • Hierarhiska dokumentu pārvaldība
  • Dokumentu versionēšana
  • Dokumentu versiju salīdzināšana
  • Dokumenu piekļuves organizēšana (grupām vai konkrētiem lietotājiem)
  • E-pastu notifikācijas par jauniem vai modificētiem dokumentiem
  • Lietotāju darbību atskaites

Tehnoloģijas:

  • Ruby on Rails
  • Mysql
  • HAML
  • CSS
  • jQuery
  • CoffeeScript

zfSnap

Periods: 2010.07.08 — 2014.03.01

Es esmu autors zfSnap - ZFS momentuzņēmumu pārvaldīšanas skripts.

Oriģināli šis projekts sākās kā diskusija FreeBSD forumā, kas pārauga koncepta pierādījumā, ka ZFS momentuzņēmumus var pārvaldīt uzrakstot vienkāršu Bourne Shell skriptu un nav nepieciešama citu programmēšanas valodu izmantošana.

Skripts ātri attīstījās un kļuva populārs. Kopš 2014. gada tā uzturēšanu esmu pārtraucis, bet jebkurš var "ziedot" kodu skripta attīstībai.