Wednesday, Nov 14, 2018
Mono starter kit
Svaki početak je težak - a kako bismo vam olakšali početak rada u svijetu profesionalnog software developmenta, nudimo kratak pregled tehnologija i alata s kojima radimo u Monu, kao i materijala za učenje koji su nam se u praksi pokazali uspješnima.
Nekoliko smo puta navodili da za početak suradnje ne tražimo veliko iskustvo u radu s “našim” tehnologijama i alatima, no kod prijave za posao ili praksu preporučljivo je znati barem osnove. Evo što preporučujemo kao materijale za uvod.
Back-end development
Back-end developeri razvijaju poslovnu logiku i pripadajuće podatkovne modele. U svakodnevnom radu u Monu primarno koristimo programski jezik C# i ASP.NET MVC framework na strani servera, kao i PostgreSQL ili SQL Server RDBMS-ove za pohranu podataka, uz nekoliko različitih noSQL sustava koje koristimo po potrebi.
Znanja koja bi kandidati trebali usvojiti obuhvaćaju:
- Osnovne programskog jezika C#. Preporučujemo screencast C# Fundamentals for Absolute Beginners i C# Programming Yellow Book kao odlične izvore informacija za početak učenja.
- ASP.NET Core 2 Web Framework kao nadogradnju osnovnog znanja programskog jezika C#. ASP.NET Core - Beginner tečaj i sažeta knjiga Little ASP.NET Core Book će vam dati dobar uvod. Početnici obično zapinju na “naprednijim” temama poput dependency injectiona i unit testinga, no uz malo prakse ovi se koncepti lako usvajaju, a i mi smo tu da vam pomognemo.
- Osnove SQL-a i poznavanje relacijskih baza podataka. Za uvod možete koristiti video tečaj SQL Database Fundamentals te knjigu SQL Queries Succinctly. Isti izdavač nudi i odličan pregled za Entity Framework Core, Object Relational Mapper alat koji se najčešće koristi za komunikaciju s bazama podataka u ASP.NET aplikacijama.
- Git (kao i GitHub servis baziran na njemu), sustav za verzioniranje koda. Preporučujemo GitHub for Windows Users, kao i Git Succinctly.
- Osnove HTTP-a, REST, JSON. Dobar tutorijal na ovu temu možete pronaći ovdje.
Front-end development
Front-end developeri primarno koriste HTML, CSS i JavaScript za razvoj interaktivnih korisničkih sučelja web i mobilnih aplikacija. Neka od znanja koja trebaju usvojiti jednaka su onima koje imaju back-end developeri. Također, napominjemo da naši back-end developeri vrlo često dobro poznaju JavaScript i pripadajuće alate i frameworke.
Što trebaju znati frontend developeri?
- Osnove HTML-a i CSS-a. Preporučujemo HTML5 & CSS3 Fundamentals: Development for Absolute Beginners, kao i How to Code in HTML5 and CSS3.
- JavaScript. JavaScript Fundamentals for Absolute Beginners, JavaScript Succinctly i Eloquent JavaScript samo su neki od brojnih besplatnih resursa za učenje ovog jezika.
- Neki od JavaScript frameworka, a preporučujemo Angular ili React. Angular Succintly, AngularJS for .NET Developers, React.js Succinctly, The Road to Learn React i Awesome React će vam pomoći da lakše savladate osnove.
- Git i osnove HTTP-a i srodnih protokola. Pogledajte sekciju za back-end developere za više informacija.
UI development
UI developer u Monu ima izvrsne vještine razvoja korisničkog sučelja u modernim web aplikacijama. Kao dio većeg tima, surađuje s kolegama iz dizajn odjela i software developerima (front-end i back-end) i spona je između ta dva svijeta. Dobro poznaje napredni CSS (PostCSS, Sass i slično), semantički HTML, te se snalazi u JavaScript tehnologijama — Reactu, Angularu i sličnim libraryima.
Od UI developera očekujemo sljedeća znanja:
- Semantički HTML — ARIA role, pristupačnost web stranica.
- Napredni CSS — PostCSS, Sass, iskustva s post i pre procesorima za CSS.
- Poznavanje BEM sintakse i funkcionalnog CSS-a.
- Dobar pregled tehničkih izazova — verzije preglednika i njihovi izazovi, poznavanje mobilnih platformi, te prilagodba responzivnim platformama i uređajima.
- Shvaćanje i promišljanje korisničkog iskustva u aplikacijama.
- Snalaženje u komponentnom načinu rada — React, Angular, i slične tehnologije.
- Snalaženje u modernim dizajn alatima — Figma, Sketch, Adobe XD, InVision Studio i slično.
- Korištenje Git-a.
Dodatno: - Iskustvo korištenja JS librarya za animaciju i motion.
- Razumijevanje implementacije fluidne tipografije.
- Poznavanje i korištenje JavaScript build alata i package managera.
- Iskustvo korištenja naprednih alata za styling — CSS Modules, CSS-in-JS, Styled components, Emotion.
Software testing
Software testeri osobe su s „okom za detalje“ koje rade na razumijevanju i poboljšavanju novih i postojećih funkcionalnosti. Neke od glavnih uloga testera su: analiza zahtjeva (business requirements), suradnja s timom na pravovremenom uklanjanju problema (bugova) u sustavu te osiguravanju visoke razine kvalitete i user experience-a (UX).
Naši testeri pripremaju testne planove i test case-ove, poznaju alate za ručno i automatizirano testiranje, zaduženi su za izradu testne i korisničke dokumentacije te imaju iskustvo u radu s agilnim metodologijama razvoja i stress/load/performance testovima.
Izdvajamo nekoliko od mnoštva dostupnih i korisnih linkova koji mogu pomoći u učenju i pripremi za poziciju:
- Besplatni tutorijali na Udemy platformi za „Software testing“.
- Besplatni tutorijali na Udemy platformi za „Automation testing“.
- Software testing.
- Manual testing.
- Automation testing.
- Test plans + pt2.
- Test cases.
- Writing quality bug report + pt2.
- Developer tools for QA.
- Types of testing.
Trebate pomoć?
Priprema za sve ove pozicije zahtijeva mnogo praktičnog rada i učenja. Rado ćemo pomoći ako zapnete, a kontinuirano primamo prijave za praksu i posao. Javite nam se!