Pređi na sadržaj

Zdravo, ja sam

Nikola Ćurić Full Stack Web Developer

Gradim brze i skalabilne aplikacije sa PHP-om na backendu i Nuxt-om na frontendu. Hajde da ideje pretvorimo u pouzdane digitalne proizvode.

Godina rada
7+
Glavni stack
PHP · Go · Java
Fokus
Backend
Nikola Ćurić
bamboobitbucketcssdockerdoctrineelasticgitgitlabgohtmljenkinsjQueryjskafkalinuxmezziomongomysqlnuxtphppostgrepostmanrabbitmqredissymfonytailwindtsvuezend

Oblasti

Čime se bavim

Pet oblasti koje pokrivam od šeme baze do pipeline-a za isporuku.

  • Baze podataka

    Dizajn baze i modelovanje šeme uz primenu pravila normalizacije. Optimizovani i brzi upiti sa mogućnošću obrade velike količine podataka.

  • Backend

    Brz i skalabilan backend — PHP na prvom mestu, uz Go i Javu tamo gde priroda posla to traži — uz bezbedan dizajn API-ja i integraciju sa eksternim alatima i sistemima, po SOLID principima.

  • Frontend

    Responzivni i korisnički prijatni interfejsi sa Nuxt-om i TypeScript-om, uz komponente za višekratnu upotrebu i Tailwind dizajn sistem, sa fokusom na UX, pristupačnost i moderne standarde.

  • DevOps

    Pouzdana i automatizovana isporuka na namenske servere uz Docker, CI/CD pipeline i bezbedne SSH procedure — uz redovna ažuriranja i održavanje servera radi stabilnosti i optimalnih performansi.

  • Domeni i email

    Administracija pouzdanih i bezbednih domena i email naloga kod proverenih provajdera, skaliranje i čišćenje sandučeta i primena SSL sertifikata.

Zašto ovo stoji

Dubina tehnologije i poslovna pravila ispod nje

Frejmvorci se menjaju na nekoliko godina. Ono što ostaje jeste razumevanje kako se domen zaista ponaša i kako ga održati ispravnim pod opterećenjem.

Kroz osiguranje, e-commerce, zakazivanje, fitnes i hosting, teži deo retko je bio frejmvork. Teža su bila pravila: šta se dešava sa obnovom kada plaćanje pukne na pola, između kojih stanja narudžbina sme da pređe, šta biva sa domenom kada registrar API padne u timeout nakon što je zahtev već prihvatio.

To modelujem pre nego što napišem ijedan handler. Invarijante žive u domenu, a ne razbacane po kontrolerima; prelazi stanja su eksplicitni i testabilni; granični slučajevi do kojih je biznisu stalo imenovani su u kodu, umesto da se otkrivaju na produkciji. Kada je zahtev dvosmislen, vraćam se ljudima koji ga poseduju umesto da nagađam — ta jedna navika sprečila je više grešaka nego bilo koji alat.

PHP sa Symfony-jem, Mezzio-om i Laminas-om ostaje moj najoštriji alat i mesto gde idem najdublje, a Go i Java stoje uz njega tamo gde priroda posla to traži. Oko toga: PostgreSQL i MySQL šeme projektovane da budu normalizovane i brze, Redis i Elasticsearch gde čitanje mora biti trenutno, Kafka i RabbitMQ za posao koji mora da preživi restart, i Docker i Kubernetes jer kod koji radi samo na mojoj mašini nije završen.

  • Produkcioni sistemi isporučeni u osiguranju, e-commerce-u, zakazivanju, HR-u, tehničkoj dokumentaciji i web hostingu.
  • Funkcionalnosti vođene od početka do kraja — šema, API, frontend i deploy — bez predaje na prvoj granici.
  • SOLID struktura, code review, CI/CD i dvonedeljni sprintovi kao podrazumevan način rada, a ne naknadna misao.
  • Modelovanje domena

    Poslovna pravila pretvaram u eksplicitne modele i automate stanja, tako da je logika čitljiva, testabilna i teško je narušiti slučajno.

  • PHP prvo, polyglot kada se isplati

    Najdublje u PHP-u i njegovom ekosistemu, uz Go i Javu tamo gde konkurentnost, propusnost ili postojeća platforma čine da bolje odgovaraju.

  • Napravljeno da izdrži

    Indeksirane, normalizovane šeme, upiti koji se mere a ne pretpostavljaju, keš i redovi postavljeni tamo gde zaista skidaju opterećenje.

  • Isporučeno, ne samo napisano

    Komotno sa stejkholderima, code review-om i pritiskom rokova — od dnevnih sastanaka do puštanja na produkciju kroz CI/CD.

Alati

Iskustvo sa

  • Programski jezici

    • PHPfokus
    • Go
    • Java
    • TypeScript
    • JavaScript
  • Frejmvorci

    • Symfony
    • MezzioSwoole
    • Laminas / Zend
    • Spring Boot
    • Nuxt 4
    • Vue 3
    • Tailwind CSS
  • SQL baze podataka

    • PostgreSQL
    • MySQL
    • MariaDB
  • NoSQL baze podataka

    • Elasticsearch
    • MongoDB
    • Redis
  • Verzionisanje koda

    • Git
      • GitLab
      • Bitbucket
      • GitHub
  • Message brokeri

    • RabbitMQ
    • Beanstalk
  • Event streaming

    • Apache Kafka
  • Alati za isporuku

    • Jenkins
    • Bamboo
  • Radna okruženja

    • Linux
    • Docker
    • Kubernetes

Karijera

Radno iskustvo

  1. Radim preko DevTech-a kao outsource inženjer za Dogado GmbH — deo group.one grupacije, jedne od najvećih evropskih grupa za web prisustvo i hosting. Radi se o platformi na koju se hiljade korisnika oslanjaju svakodnevno, pa su ispravnost, kompatibilnost unazad i pažljivo puštanje izmena važniji od same brzine isporuke.

    Najveći deo mog rada tamo pokrivaju dve oblasti:

    • Hosting platforma i control panel: Razvoj i održavanje korisničkog dela za upravljanje nalozima i servisa iza njega — provisioning, ograničenja resursa i automatizacija koja održava pakete, nadogradnje i otkazivanja usklađenim između control panela i same infrastrukture.
    • Domeni, DNS i SSL: Registracija, transferi i obnove domena preko registrar API-ja, upravljanje DNS zapisima i izdavanje i obnavljanje SSL sertifikata — oblast puna asinhronih stanja, otkaza third-party servisa i pravila kod kojih se korisnički domen nikada ne sme tiho izgubiti.

Obrazovanje

Obrazovanje

Diplomirani inženjer mašinstva

Univerzitet odbrane

09.2015 — 06.2019

Izabrani radovi

Projekti

Svi reprezentativni projekti na kojima sam do sada radio su u privatnom vlasništvu i njihov kod nije javno dostupan. Većina njih takođe nema javnu web adresu i može se pristupiti samo unutar određene organizacije ili preko odgovarajuće VPN konekcije.