Milana Cap je školovani klasični muzičar — od niže, preko srednje muzičke škole i Akademije umetnosti u Novom Sadu. Nakon završetka akademije 10 godina je radila kao operski sufler i paralelno s tim otkrila internet i PHP. PHP je započela sa skriptom za forum, phpBB 2.9 i malo kasnije 3.0. Tek 2009. godine se prvi put susrela sa WordPress-om.
Tako joj je u početku PHP bio zabava u slobodno vreme, sve dok 2010. godine nije prvi put naplatila svoj kôd. Pet godina nakon toga prestala je profesionalno da se bavi muzikom i prešla na full-time development.
Danas kaže da svakog dana zahtevi za developere postaju obimniji i složeniji, a alati za ispunjavanje tih zahteva postaju bolji i prilagođeniji specifičnostima zadataka. U tom kontekstu Milana smatra da je ispunjavati sve te zahteve na klijentskim i ličnim projektima, pratiti koji alati su im dorasli i imati život jako teško ukoliko nemate tim ljudi. A ona kao frilenser nema tim ljudi.
S vedrije strane, njen omiljeni aspekt frilensinga je to što ima pristup različitim klijentima, projektima koji koriste različite tehnologije i različitim alatima koje klijenti koriste za svoje projekte. Po njoj, jedan od načina da bude u toku sa novim alatima i praksama je i softver otvorenog koda (Open source software). Zato je ona aktivan član tima dokumentacije na WordPress projektu, gde svakodnevno sarađuje sa ljudima iz svih delova sveta a oni, kako kaže, donose najrazličitija iskustva iz najrazličitijih radnih okruženja.
U slobodno vreme posećuje i drži predavanja na WordPress i PHP konferencijama, čita fantastiku (najčešće epsku), ide u bioskop, igra bilijar i stalno nešto novo uči — trenutno Gatsby.js. Uz sve ovo, Milana je i samohrana majka 15-godišnje devojčice.
Hardver
Desktop
- Processor: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
- Disk: 240GB SanDisk SDSSDA24
- Display: GF108 [GeForce GT 430], NVIDIA
- Motherboard: ASRock H81M-DG4
- Dva monitora: Dell 23.8″
- Važno mi je da tastatura i miš budu bežični, kao i da tastatura bude dublja sa engleskim layout-om.
Ova konfiguracija je izabrana kako bi obezbedila nesmetan rad u situacijama kada koristim neki od Adobe programa na virtuelnoj mašini paralelno sa Google Chrome pretraživačem, IDE sofverom, Slack-om i sl; kao i konferencijski video pozivi sa čestim deljenjem ekrana (što, naravno zahteva i odličnu internet konekciju). Iako je star već skoro pet godina još uvek odlično obavlja sve zadatke.
Laptop — HP EliteBook 840 G1.
Laptop ne koristim za posao ali ga čestom koristim za pisanje kôda. Koristim ga za predavanja i radionice na kojima najčešće kodiram uživo ali i na tzv. Contributor Days koji su sastavni deo skoro svakog WordCamp-a (WordPress konferencija). Dakle bilo mi je važno da laptop bude dovoljno lagan (ili ne previše težak) jer često putujem, da performansama može da zadovolji nekakvu „laganiju” sesiju kodiranja, da bude kvalitetan i da može relativno brzo da mu se skine baterija (što radim kad god je moguće radi produženja radnog veka iste).
Telefon je nekoliko godina bio Samsung S6, sada je Xiaomi Mi 9 Lite.
Tannoy zvučnici na kojima se najčešće čuju klasična ili džez muzika, u zavisnosti od projekta na kome trenutno radim. Imajući u vidu da sam primarno klasični muzičar, izuzetno mi je važan kvalitet zvuka i audio uređaja. Među audiofilima se vode velike rasprave oko proizvođača zvučnika, risivera, materijala kablova i sl, za mene su Tannoy zvučnici najbolji koje sam ikad čula.
Softver
Kubuntu 19.10 — Veliki sam ljubitelj Linux-a. Već deceniju je Kubuntu moj izbor operativnog sistema i na desktopu i na laptopu.
KDE Connect — Alat za povezivanje uređaja sa Linux OS koji su povezani na istu mrežu. U mom slučaju to su Kubuntu na desktopu i laptopu i Android na telefonu. Bez obzira što ime sugeriše da radi samo na Plasma okruženjima, KDE Connect je dostupan za sve Linux distribucije.
Konsole — Terminal. Za sve osim pisanja kôda. Nisam ljubitelj GUI-a ukoliko mi GUI ne skraćuje vreme obavljanja zadatka.
Što se tiče kôd editora, volim da isprobavam različite opcije. Trenutno radim sa Visual Studio Code i Sublime Text.
Google Keep za čuvanje svega i svačega. Feedly agregator vesti.
Saradnja i rad na projektima
Svaki klijent ima neki svoj set alata za produktivnost i upravljanje projektima tako da sam imala sreću da isprobam veliku većinu najčešće korišćenih i nastavim da koristim one koji se uklapaju u moje zahteve.
Trello je načešće korišćen za planiranje ali i razvoj manjih projekata. Lično ga koristim u najrazličitije nedeveloperske svrhe, od čuvanja recepata (sastojci kao labels omogućavaju brzo filtriranje prema namirnicama koje trenutno imam) do baze lekara i specijalista (u kombinaciji sa kalendarom pregleda i kontroli), majstora za razne popravke i održavanja itd.
Jira nudi previše opcija za bilo koji moj lični projekat ali volim da radim sa klijentima koji je koriste za projekte.
Za lične development projekte koristim GitHub Project board koji pruža mogućnost povezivanja sa jednim ili više repozitorija, različite board šablone, automatizovano kretanje kartica u kolonama u zavisnosti od statusa issue/pull request-a i još mnogo toga.
Kôd podjednako hostujem na GitHub-u i BitBucket-u mada moram priznati da, otkako je uveo Akcije, Projekte, privatne repozitorije i sl, mnogo više vremena provodim na GitHub-u.
Zoom i Google Meet najčešće koristim za video (konferencijske) pozive a Slack za brzu pisanu komunikaciju i audio pozive.
Google Drive ne volim i lično ne koristim često ali mi je jedan alat jako zanimljiv, Draw.io. Odličan je za brzu izradu i saradnju na dijagramima. Umesto Spreadsheet-a volim da koristim Airtable koji pruža mnogo, mnogo više od tabelarnog prikaza podataka.
Lokalno development okruženje
U zavisnosti od projekta koristim različite alate za lokalni razvoj. Kada radim na WordPress projektu otvorenog koda, onda koristim VVV — Vagrant za WordPress. U toku je razvoj Docker okruženja za rad na ovom projektu.
Ukoliko klijent ima posebne zahteve za svoj projekat, kao na primer već pomenuti Vagrant ili Docker, onda se prilagođavam klijentovim zahtevima. Ako nema posebnih zahteva u tom smislu onda najčešće koristim prirodno okruženje Linux-a: Apache, mySQL i PHP.
Probala sam razna gotova rešenja za razvoj PHP aplikacija (XAMPP, LAMP, Bitnami i sl) ali nijedno mi nije bilo dovoljno zanimljivo da se zadrži.
Browser
Google Chrome.
Opšte ekstenzije:
- AdBlocker Ultimate — uklanja sve reklame.
- LastPass: Free Password Manager — menadžer kredencijala.
- Tab Pinner (Keyboard Shortcuts) — set prečica za pinovanje tabova.
- Ultimello, the features pack for Trello — set korisnih funkcionalnosti za Trello: konekcije između kartica, sortiranje prema različitim parametrima, prikaz broja kartica u nazivu liste.
- Checker Plus for Gmail — kompletna interakcija sa nepročitanim porukama bez otvaranja Gmail-a. Podržava više email adresa.
- DocHub – Sign PDF from Gmail — digitalni potpis PDF dokumenata direktno iz Gmail-a.
- Feedly Notifier — notifikacije o novim člancima na sajtovima koje ste dodali u svoj Feedly agregator.
- Feedly Subscribe Button — lako dodavanje novih izvora u vaš Feedly agregator.
- Google Keep Chrome Extension — lako dodavanje svega u vaš Google Keep.
- Keywords Everywhere – Keyword Tool — alat za praćenje i procenu ključnih reči.
Snimanje ekrana (u zavisnosti od projekta i situacije):
- Awesome Screenshot — od ostalih sličnih alata ga izdvaja rad sa lokalnim slikama sa računara.
- Capture for Trello — screenshot i beleška idu direktno u Trello.
- Nimbus Screenshot & Screen Video Recorder — najčešće ga koristim za klijentske projekte.
- Web Clipper (Nimbus) — čuvanje fragmenata različitih sadržaja.
- Screencastify – Screen Video Recorder — snimanje ekrana sa ili bez dodatka kamere; idealno za kratka uputstva za korišćenje softvera ili rekreiranje bug-ova.
Development:
- ColorZilla — birač boja sa bilo koje veb-stranice i još mnogo toga.
- Google Font Previewer for Chrome — isprobavanje različitih fontova iz Google-ovog repozitorija na bilo kojoj veb-stranici.
- WhatFont — informacije o korišćenom fontu na bilo kojoj veb-stranici.
- Web Developer — set raznih alata za debagovanje frontenda veb-stranice.
- Google Analytics Debugger — debagovanje Google Analytics-a u konzoli.
- PHP Console — prikazuje greške i ostale output-e u konzoli.
- GraphQL Network — alat za rad sa GraphQL-om.
- JSONView — prikaz i validacija JSON dokumenata.
- Octotree — set korisnih funkcionalnosti za GitHub.
Accessibility testiranje, jer je accessibility odgovornost svakog developera:
- axe-coconut – Web Accessibility Testing — prikaz različitih accessibility problema u konzoli, kao i način na koji se ti problemi rešavaju.
- ChromeLens — simulator upotrebljivosti sajta za potpuno ili delimično slepe osobe.
- ChromeVox Classic Extension — screen reader, „čitač” sajta koji koriste slepe osobe.
- ColorA11y — proverava kontrast boja prema predviđenim standardima.
- Funkify – Disability Simulator — simulira interakciju osoba sa različitim vrstama invaliditeta i oštećenja vida.
- headingsMap — izlistava sve heading-e na stranici i proverava korektnost strukture.
- NoCoffee — simulira interakciju osoba sa različitim vrstama invaliditeta i oštećenja vida.
- WAVE Evaluation Tool — analizira i procenjuje sajt prema accessibility standardima.
Mobilne aplikacije
Omiljena funkcionalnost kod telefona mi je airplane mode. On je uključen dok spavam i dok radim na klijentskim projektima. Dakle, skoro polovinu mog prosečnog radnog dana.
Iako na telefonu, izuzev terminala i kôd editora, imam skoro sve aplikacije sa desktopa jer posao i volonterske aktivnosti to često zahtevaju, ja sam od onih ljudi koji bi voleli da se telefon koristi samo za pozive i poruke. I ponekad kao foto-aparat.
Google assistant se pokazao veoma korisnim za putovanja, praćenje letova i lokalne informacije.
Takođe, kad putujem koristim univerzalnu, MTX Connect SIM karticu za internet. Putem mobilne aplikacije se veoma lako biraju paketi a pokrivenost za sada u potpunosti zadovoljava moje potrebe.
Papir i olovka
Ponekad projekat na kome radim ima kompleksne procese i zahteva precizno planiranje i razumevanje zadatka. U tim situacijama koristim papir i olovku. Osim toga, veoma često napišem sebi listu stvari koje treba da uradim sutradan ili u narednih nekoliko dana.
Željko
ponedeljak, 13. Januar, 2020.
Odličan članak, sa nabrojanim vrlo korisnim alatima. Mnoge ću rado isprobati.