Speaker

Marko Šarić

Marko Šarić

Lead Software Engineer at GlobalLogic

Lead Software Engineer at GlobalLogic

Zagreb, Croatia

Marko Šarić is a passionate developer, DevOps expert and community speaker who loves to study and try various technologies in software development. He works primarily on Microsoft Stack, creating Web, Mobile and Azure based solutions.

Through his carer, he has worked on various projects for domestic and international clients, has spoken on several local conferences and is an owner of several Microsoft Certificate in Web Application Development, Cloud Platform and Application Lifecycle Management.

He worked in different roles, from developer role through development team leader and also as a DevOps consultant by helping organizations to create a strong and self-sustained DevOps team and implementing the application lifecycle management process to empower Agile teams to collaborate better and ship faster.

He is a big fan of the Apple ecosystem and he loves to experiment with the latest Microsoft tools on macOS. When away from a keyboard, he is stretching his fingers on guitar or doing miles through the dirt with a bike.

Marko se bavi razvojem aplikacija, DevOps procesima te je bloger i predavač na različitim community događanjima. Primarno radi rješenja na Microsoft Stacku za Web, mobilne i Azure aplikacije.

Kroz karijeru radio je na različitim projektima za domaće i inozemne klijente, te održao predavanja na nekoliko domaćih konferencija. Nositelj je nekoliko Microsoftovih certifikata na području Web Application Developmenta-a, Cloud Platform and Application Lifecycle Management-a.

Radio je u različitim ulogama u projektnim timovima, od developera do team leadera i DevOps konzultanta pomažući organizacijama u kreiranju DevOps kulture i implementaciji Application Lifecycle Management procesa.

Veliki je ljubitelj Apple eko-sustava, te obožava isprobavati različita Microsoftova rješenja na macOS-u. Kada je udaljen od računala bavi se brdskim biciklom ili pak rasteže prste na gitari.

Area of Expertise

  • Information & Communications Technology

Topics

  • .NET
  • DevOps & Automation
  • Microsoft Azure

Sessions

Crazy little thing called Serverless en hr

Serverless is a major thing on the Microsoft Azure Platform and its purpose goes way beyond executing just a small script or piece of code. Key technologies beyond serverless like Azure Functions and Azure Logic Apps are the main players in creating complex systems without the necessity to write much code, either as a part of a complex microservice architecture or as an auxiliary implementation of some process. The real power underneath lies in integration with the existing Azure services like Azure Storage, Service Bus, Event Hub, Event Grid, etc. Also with Azure Functions, you can easily implement a CI/CD DevOps process by using VSTS or GitHub. This session is all about Serverless on Azure and how to implement various scenarios to power-up your applications.

Crazy little thing called Serverless en hr

Serverless je jedna od ključnih tehnologija unutar Microsoft Azure Platforme i prerasao je naveliko svrhu od samog pukog izvršavanja neke skripte ili dijelova programskog koda. Azure Functions i Azure Logic Apps su ključni igrači kod izrade kompleksnih sustava, a koristeći što manje linija koda savršeno se uklapaju kod arhitekture mikroservisa ili pak kod implementacije nekih dodatnih procesa u već postojeće sustave. Kroz ovo predavanje vidjet ćemo koja snaga se krije iza Serverless-a u Azure-u, te s kojom lakoćom je moguće integrirati tehnologiju koristeći ostale Azure Servise poput Azure Storage, Service Bus, Event Hub i sl. A pošto je danas DevOps must have u razvoju software-a, svakako ćemo pokazati i kako se Azure Functions uklapaju u priču DevOps procesa.

Building Cross Platform Native Mobile Apps with NativeScript en hr

For many organizations, the hardest decision when building mobile apps is to build the app in native technology and having a great performance or to go with cost savings that they get by writing a cross-platform hybrid app that runs in a web view on the device. Most apps that try the cross-platform approach failed, because getting a cross-platform app to be as performant as a native app was a close to impossible task. Also if you are in a small company you don't have the resources or a budget to hire a team of developers with specialized skill sets for each of the native platforms that are out there.

And this is when NativeScript kicks as a technology that allows us to create cross-platform native mobile apps written by the language of the web. But that's not all, you can choose between plain HTML and JavaScript powered with TypeScript, or you can use Angular or Vue as a weapon of your choice to work with. The end result is always a completely native app because you are building actual native UI controls and the app behaves like the app natively written in Xcode or Android Studio.

The performance improvements and optimization benefits become especially noticeable with list views and rich animations that are natively optimized to be performant. To put it succinctly, NativeScript is a simple, clean, and modern way of building cross-platform native mobile applications with the best possible user experience provided by the native operating system.

In this session, we will show how to get started and how to create in NativeScript in Visual Studio Code a small iOS and Android app powered with .net core backend.

NativeScript: Ozbiljna konkurencija u segmentu izrade nativnih mobilnih aplikacija en hr

Mnoge organizacije imaju iste dileme kada odluče krenuti s izradom mobilnih aplikacija. Da li odabrati nativnu tehnologiju i uživati u benefitima performansa ili napraviti uštedu izradom hibridnih aplikacija koja će se izvršavati u web view-u uređaja. Mnogi takvi projekti završe s neuspjehom jer hibridna aplikacija ne zadovoljava performanse, a organizacije najčešće nemaju resurse i sredstva da bi uložili u specijalizirane timove po pojedinoj mobilnoj tehnologiji.

Ovdje na scenu stupa NativeScript, tehnologija koja omogućava izradu nativnih mobilnih aplikacija jezikom web-a. Al ne samo korištenjem jednog jezika, već izborom korištenja JavaScripta u kombinaciji s TypeScriptom, Angular-a ili Vue-a. što ga čini prvim izborom u već postojećoj zajednici. Kombinacija ovih tehnologija omogućava nam pisanje kompletno nativnih aplikacija pomoću nativnih UI kontrola, a sama apliakcija se ponaša kao da je pisana u Xcode-u ili Android studiu. Benefiti u performansama posebno dolaze do izražaja u nativnih komponentama i animacijama. Da sumiramo, u ovoj tehnologiji možete izrađivati na jednostavan način snažne cross-platform nativne aplikacije i omogućiti korisnicima najbolje korisničko iskustvo.

Kroz ovo predavanje proći ćemo sve segmente izrade jedne aplikacije koristeći Visual Studio Code i .net core kao backend, te dati odgovor zašto je nativescript ljuti konkurent postojećim igračima u segmentu tehnologija izrade cross-platformskih nativnih mobilni aplikacija.

Osnaživanje agilnih timova kroz Azure DevOps hr

Azure DevOps je stigao te donio radost mnogima. Međutim mnogi su još skeptični te se boje napraviti migraciju s on-premise Team Foundation Servera u Cloud, pa čak i update na Azure DevOps Server. Transformacija postojećeg razvojnog procesa može biti težak i mukotrpan proces za razvojne timove, a pružanje otpora, neiskorištavanje potpunog potencijala alata, te krnja implementacija agilnih procesa česte su "dječje bolesti" kroz koje timovi prolaze. Kroz ovo predavanje ući ćemo u dubinu Azure DevOps servisa te pokazati na koji način je moguće pomoći organizacijama da kreiraju snažne, samo-održive DevOps timove koji će na efikasan način surađivati, te isporučivati kvalitetnija rješenja efikasno u zadanim rokovima.

Mnoge timove i organizacije zanima fleksibilnost alata i ograničenja u prilagodbi procesnog workflow-a, work item-a, Dashboard-a, te ostalih dijelova servisa potrebama organizacije. Azure DevOps pruža dovoljnu fleksibilnost da se prilagodi malim i velikim razvojnim timovima s manje i više kompleksnim workflow-om razvojnog procesa. Efikasno organiziran rad u iteracijama, planiranje kapaciteta tima i praćenje toka iteracija značajka je kvalitetnih timova, a kroz alat ćemo pokazati kako se timovima može olakšati od samog početka planiranja sprinta pa do krajnje isporuke krajnjim korisnicima. Da bi povećali efikasnost samog tima dostupne su nam različita proširenja koja podižu efikasnost komunikacije u timu, proširuju CI/CD pipeline, podižu kvalitetu testiranja ili jednostavno automatiziraju neke zadatke u samom procesu. Efikasni timovi zahtijevaju i mjerljivost, a Azure DevOps nam pruža različite analitike kroz već predefinirane izvještaje, boardove, različite grafikone i naprednu analitiku. Na ovom predavanju bavit ćemo se upravo ovim temama i kroz primjere iz stvarnog svijeta pokazat ćemo kako koristiti alat, te kako on može biti moćno oružje u Vašim DevOps timovima

Efikasna organizacija i vođenje produkta uz Azure DevOps hr

Azure DevOps i Azure DevOps Server postavio je visoke kriterije u transformaciji postojećeg razvojnog procesa i implementaciji agilnih metodologija razvoja programskih proizvoda u organizacije. Alat pomaže organizacijama da kreiraju snažne, samo-održive DevOps timove koji će na efikasan način surađivati, te isporučivati kvalitetnija rješenja u zadanim rokovima.

Tema ovog predavanja je odgovoriti na pitanje koliko je alat fleksibilan za Vašu organizaciju, te kako se on prilagođava malim i velikim razvojnim timovima bilo da oni rade na produktu ili projektu. Stavit ćemo se u različite situacije unutar razvojnog tima, a počet ćemo od same ideje nekog feature-a, pa sve do organiziranja rada u iteracijama, planiranje kapaciteta tima i praćenje toka iteracija, testiranja, i na kraju do krajnje isporuke korisnicima.

Efikasna komunikacija razvojnog tima, automatizacija procesa, podizanje kvalitete testiranja, mjerljivost efikasnosti i analitika. Na ovom predavanju bavit ćemo se upravo ovim temama i kroz primjere iz stvarnog svijeta pokazat ćemo snagu Azure DevOps alata.

Where Code Ends Logic Apps Starts en hr

Developers love to write code, this is written in their core DNA and when you tell them that they could solve the problem by using the "building blocks" principles they get easily upset. But for the end-client, it's irrelevant what lies behind the application logic, it could be an architectural masterpiece that complies all the design and coding guidelines or it could be a simple serverless workflow written with zero or less code. The only thing that matters is that you provide a solution that solves the client's problems and that you deliver fast (less working hours) with the best value for money and with lower maintenance costs. This is where the software developer needs to break the coding mindset (I need to deliver a coded application) and start to think about how to provide "The Solution" that client needs.

Gdje kod završava Logic Apps počinje en hr

Developeri vole pisati kod, to je ono što im je zapisano u krvi te kada im kažete da mogu rješiti neki problem principom "građevnih blokova" oni će se vrlo lako uzrujati. Međutim, za krajnjeg korisnika (klijenta) potpuno je nevažno da li se iza aplikacijske logije u kodu krije umjetničko dijelo koje prati sve dobre prakse kodiranja i dizajna ili pak je rješenje kreirano s pisanjanjem nula linija koda. Jedino što je bitno je da dostavimo rješenje koje rješava korisnikov problem i da ga dostavimo brzo (s manje sati rada), da to bude pouzdano, te da su troškovi odžavanja mali. Ovdje developeri moraju napustiti mind-set da moraju pisati kod i prihvatiti mantru da moraju dostavljati rješenja koja zadovoljavaju krajnjeg korisnika. Ovo predavanje pokazuje praktičnu primjenu kroz stvarne slučajeve kako da pišemo manje koda i pri tome dostavljamo za krajnjeg korisnika više.

Azure DevOps: Gdje sam pogriješio i što bi drugačije napravio hr

Azure DevOps (prije Team Foundation Server) donosi mnoge prednosti i pruža dovoljnu fleksibilnost da se prilagodi malim i velikim razvojnim timovima s manje i više kompleksnim workflow-om razvojnog procesa. Sam alat pruža mogućnosti efikasne organizacije rada kroz iteracije, planiranje kapaciteta i analiziranju toka iteracije. Kroz sam alat dostupna su različita proširenja koja podižu efikasnost komunikacije u timu, proširuju CI/CD pipeline, podižu kvalitetu testiranja ili jednostavno automatiziraju neke zadatke u samom procesu. Transformacija postojećeg razvojnog procesa može biti težak i mukotrpan proces za razvojne timove, a pružanje otpora, neiskorištavanje potpunog potencijala alata, te krnja implementacija agilnih procesa česte su "dječje bolesti" kroz koje timovi prolaze. Ovo predavanje fokusirano upravo na taj segment implementacije i pričat ću o greškama u koracima, poteškoćama i smjer u kojem su me one odvele u različitim organizacijama i razvojnim timovima.

Building the Pipeline hr

Azure Pipelines je dio Azure DevOps servisa čija zadaća je podrška za CI/CD proces. Kroz ovo predavanje pokazat kako da izgradite cijelokupan build i release pipeline na primjeru jedne web aplikacije koja se sastoji od različitih komponenata (asp.net, asp.net core, typescript javascript frameworka, mariaDB baze, powershell) što je čest primjer kod velikih poslovnih aplikacija. Korak po korak analizirat ćemo kako da napravimo build pipeline nad svim komponentama aplikacije, te kako da iskoristimo integraciju s ostalim dijelovima Azure DevOps servisa kako bi kreirali release notes, te ih kasnije, u deployment procesu, poslali putem e-maila i slack-a. Završnica će biti deployment gdje ćemo demostrirati kako možemo jednostavno putem deployment groups napraviti isporuku na on-prem ili cloud infrastrukturu, te kako pomoću powershell skripta napraviti deployment naše baze na linux infrastrukturu. Pridružite nam se na putovanju od izvornog koda do produkcijskog okruženja.

Weblica 2020 Sessionize Event

May 2020 Čakovec, Croatia

Windays 2020

Building the Pipeline

April 2020 Rovinj, Croatia

NetWork 10

Azure DevOps: Gdje sam pogriješio i što bi drugačije napravio

March 2020 Neum, Bosnia and Herzegovina

Advanced Technology Days 15 Sessionize Event

December 2019 Zagreb, Croatia

Weblica 2019 Sessionize Event

May 2019 Čakovec, Croatia

Global Azure Bootcamp 2019. Developers Edition - Križevci Sessionize Event

April 2019 Križevci, Croatia

Windays 19

Uređivanje predavanja: NativeScript: Ozbiljan igrač u segmentu izrade nativnih mobilnih aplikacija

April 2019 Šibenik, Croatia

NetWork 9

NativeScript: Ozbiljan igrač u segmentu izrade nativnih mobilnih aplikacija

March 2019

CrisCon konferencija 2018. Sessionize Event

September 2018 Križevci, Croatia

Weblica 2018 Sessionize Event

May 2018 Čakovec, Croatia

Advanced Technology Days 13 Sessionize Event

December 2017 Zagreb, Croatia

Marko Šarić

Lead Software Engineer at GlobalLogic

Zagreb, Croatia