Timpul de elaborare a task-urilor

Una peste alta pretul nu conteaza. Daca gasesti un om bun la 10 euro si care e multumit, e perfect.

Idea e sa cauti in continuare si sa fii baiat de treaba (daca cere putin sa-l intrebi daca plateste taxe, licente, cum lucreaza si sa-i spui ca nu face business corect in caz ca nu-l intereseaza. Desigur, daca omul a dovedit ca este bun)

Personal, eu nu m-am intalnit cu problema ta. Am facut angajari aici pe devforum si oamenii care s-au prezentat au fost toti exceptionali. Persoana pe care am angajat-o chiar a facut o chestie in timp record.

3 Likes

Având în vedere că tocmai am schimbat o parte din pc, permite-mi să te contrazic. MB+CPU+RAM+SSD+Video m-au dus lejer spre 8000 lei. N-am schimbat monitoare, carcasă, sursă că săream fără probleme de 11-12.000 lei.

Calculul tău simplu, deși matematic este corect, urmează o logică greșită.

Nici ca angajat și mai ales nici ca freelancer nu ajungi la 160h lucrate în fiecare lună. Cauți sau negociezi cu clienți, mai o contabilă, mai o vizită la ANAF, mai o măslină, mai o gogoașă.

Dacă ești extrem de norocos, ajungi la o medie de 15-20 ore/săptămână tarifate într-un an.

La 20€/h înseamnă aproape 21k/an fără taxe.

Ți s-a mai spus mai sus, liniile de cod nu reprezintă cea mai bună măsurătoare.

6 Likes

Nu estimezi pe timp, nu prea e posibil. Estimezi pe dificultate (programatorul poate detalia concret din ce constă) si după afii cam cat ar fi necesar să se facă ce dorești.

Dacă nu cunoști un proiect nu poți estima, trebuie să faci investigare și după încerci estimare de dificultate și după 2-3 sprinturi poți să te uiți cam cat timp îți ia o anumită dificultate. Dar nici estimarea asta nu înseamnă că e bătut în cuie.

Nu există conceptul de ‘ești sigur că se obțin rezultate’. Niciodată nu e sigur.

1 Like

Iti inteleg frustrarea dar nu uita ca totul este relativ. Depinde de proiect in primul rand iar apoi bani.Din punctul meu de vedere, un tarif 12-20 de euro pe ora in Romania, este un tarif entry-medium level pentru freelancer. Au mai scris si altii mai sus.

Cand am spus ca depinde de proiect ma refer la nivelul de datorie tehnica pe care l-a acumulat acel proiect. Mai ales daca este facut de freelanceri si doamne-fereste sa isi fi schimbat vreo 7-8 maini pana sa ajunga la cei care au estimat acel efort. Daca as fi eu acela care estimeaza, cam 4 ore ar fii default pentru 2 traduceri. Vorbesc serios.

Mai depinde si care este Definition of Done al unui task pentru tine. Codul pentru feature terminat si urcat in repository? Feature-ul functional in productie? Feature-ul functional doar pe stage environment? Daca apare un bug peste 2 saptamani pe un not-so-happy-path la care nimeni nu s-a gandit? E vina programatorului? E vina ta? Depinde de la caz la caz dar de exemplu daca eu as fi acela care trebuie sa estimeze, cu siguranta aceste “riscuri” se vor reflecta in tarif.

Nu uita ca mereu poti cauta alti oameni daca nu esti multumit de cei actuali.Poate chiar din alte continente…sa zicem. Daca vrei sa risti :smiley:

3 Likes

6 Likes

E normal sa fii taxat cu minim o ora de lucru, indiferent cat de usoara e munca.
Pai ce facem, daca mergi la un service profesionist si vrei sa se uite un mecanic la bujii sa vada daca sunt ok, te taxeaza o ora. Mergi la dentist si spune-i ca vrei sa se uite doar la o masea, dar sa nu-ti ia pretul intreg per consultatie. In freelancing nu e asa, pentru ca?

Daca tu vii azi sa-mi spui fa aici fontul mai mare, maine il vrei verde si poimaine asezat la stanga, nu esti un client cu care vreau sa lucrez.
Mai exact, tu nu ar trebui sa ai astfel de cereri/motive de schimbare. Nu e benefic pt. nimeni.
Iti faci o lista de schimbari/dureri fata de un proiect si mergi cu ele la specialist sa ti le fixeze sau iti asumi ca il deranjezi pe ala pentru nimic si ii platesti.

Sunt si o groaza de sarlatani pe piata, dar eu am un feeling ca oamenii astia ti-au trantit 25-30 de ore pentru un task ca sa scape de tine nu pentru ca atat le-ar lua.

3 Likes

Mie mi se pare ca abordezi problema complet gresit. Asa cum au mai spus si altii, nu are asa mare importanta cate linii de cod a scris un om. Conteaza cate linii de cod trebuie sa citeasca pentru a scrie acele linii de cod. Iar daca e un proiect extrem de prost conceput, conteaza de cate ori trebuie sa reciteasca cineva codul ala.
Eu tin minte ca pe vremea cand eram mai la inceput, am primit un taskin aparenta simplu. Rezolvarea a fost simpla. A trebuit sa pun ceva intr-un if. Atat. Pentru a rezolva acel task am citit cod doua saptamani. Am fost extrem de frustrat si ma simteam super incompetent. Locul unde trebuia pus if-ul ala l-am identificat dupa vreo doua zile de sapat prin cod. Mi-a fost clar si ce cod trebuie sa scriu acolo, tot cam atunci. Codul insa era era fara teste si era extrem de complicat. A trebuit sa verific la nesfarsit ca intr-adevar ce fac eu, chiar daca merge in scenariul meu, nu strica aplicatia. Evident, nu erau teste iar complexitatea ciclomatica era undeva la nivelul zecilor de mii iar npath complexity era la ordinul trilioanelor. Poate credeti ca exagerez, dar asa era codul. Si inca mai e.
Dupa o vreme, genul asta de task reuseam sa-l rezolv cam intr-o zi. Asta dupa ce intelegeam domeniul si imi era clar de ce unele lucruri se numesc asa cum se numesc si care sunt motivele pentru care anumite lucruri sunt asa cum sunt.
Nu am fost niciodata freelancer si unul dintre motivele pentru care am ezitat sa incerc asta e ca ma astept ca multi clienti sa fie asa ca tine. Daca as face freelancing nici nu m-as gandi sa lucrez pe o aplicatie inceputa de altcineva, pentru ca nu-mi plac genul asta de discutii. Intotdeauna e mai greu de estimat si de lucrat cu cod scris de altcineva, care probabil a fost ieftin si grabit. Probabilitatea ca intr-un proiect vechi sa gasesti cod curat este extrem de mica. Pentru simplul motiv ca majoritatea programatorilor din lumea asta nu sunt seniori. Asta statistic vorbind. Iar probabilitatea ca o aplicatie sa fie facuta de un om competent e relativ mica. Oamenii competenti in general raman pe proiectele pe care le incep, pentru ca le e usor sa le mentina.

7 Likes

Va multumesc la toti pentru parerile voastre. O sa tin cont de ceea ce ati scris.
In final vreau sa spun ca clientii,antreprenorii cauta si le place sa lucreze cu specialisti care gasesc intr-un timp record solutia la o problema. Clientii nu au timp sa astepte saptamani, luni intregi pentru ai fi rezolvata o problema banala.

Deci sunt 2 tabere de programatori:

  1. Cei care nu se obosesc sa caute solutia cat mai rapid, au ideea(ei lasa ca oricum banii merg).
  2. Cei care sunt motivati si capabili sa rezolve problema cat mai rapid.

A 2-a tabara e mai rar, in asta ma aflu eu acum si sper ca mai exista oameni ca mine.

O zi buna la toti!

1 Like

Salut,

Mai intai, am cateva observatii:

Depinde de cate item-uri si menu-uri ai…

Pentru un angajat, 3200 EUR brut inseamna 8890 RON net (aprox. 1850 EUR net). E putin, e mult? Depinde… In Bucuresti am auzit de salarii in IT de 6k-7k de RON net pentru job de suport IT.

Nu sunt de acord ca 1850 EUR net e un salariul de “visat” pentru programatori buni in majoritatea tarilor din EU.
Nu mi se pare relavanta discutia daca un pret e “corect”. Atat cumparatorul dar si vanzatorul au dreptul sa ceara/dea pretul pe care-l considera bun pentru ei. Hourly rate-urile variaza foarte mult.


Problema ta e ca nu esti multumit de serviciile celor cu care colaborezi. Se intampla in orice business, si se intampla de ambele parti. Solutia e simpla: cauta alti colaboratori.

Hai sa-ti impartasesc si eu din propria experienta, din partea cealalta, ca programator: Cand am facut freelancing, eu mi-am vandut serviciile fiind mai mult decat fair (adica fraier), pentru un hourly rate foarte apropiat de exemplul tau. Imi logam timpii de inceput si sfarsit intr-un Excel la secunda, din momentul in care incepeam lucrul si pana in momentul in care ma opream. Opream contorizarea cand ma duceam sa mananc, daca primeam un telefon, sau daca ma duceam la baie pentru 5 min. Rezultatul? Unii clienti tot au fost nemultumiti, unii chiar vrand sa am un hourly rate si mai mic, si chiar mi-am luat si tepe (culmea, un startup romanesc!)

1 Like

Cred că ești unicat. Am citit și mai sus unde scriai de 3200coco că sunt bani buni. Posibil, dar nu pentru IT. Specialiștii cer bani mulți, de aia se specializează.

Și @Andrei2 a oferit un răspuns fain, la fel ca mulți alții.

Soluția? Te pretezi la posibilitățile tale. Ca să fac o analogie — chiar dacă nu foarte inspirată — n-ar trebui să mai existe mașini exotice, că nu și le permite oricine ci doar loganuri.

1 Like

Tu te superi pentru ca lumea nu e cum vrei tu…
Nimeni nu a spus ca e okay sa te lungesti fara motiv. Ce spuneam noi pe-aici e ca de multe ori, motive sunt si nu le vezi.

Primul motiv pe care-l gasesc este ca oamenii cu care lucrezi nu sunt seniori, insa tu ai asteptari ca ei sa fie seniori.

Motivul pentru care spun asta e ca din felul in care descrii acele task-uri, nu suna a ceva ce un senior ar lua in calcul. Eu pentru oricat mi-ai oferi nu m-as apuca sa-ti fac textul uppercase, sa-ti aliniez chestii si sa-ti schimb culori in interfata. Stiu cum se face. Pot sa fac asta. Probabil ca daca ma concentrez sunt si rapid, insa nu m-as angaja la un astfel de proiect. Nu e nicio provocare in asta. Nu te face cu nimic mai bun.

Un senior o sa doreasca sa rezolve probleme mai complexe si mai interesante.

Considerand asta, timpul pe care oamenii ti l-au spus nu e in mod necesar fals si petrecut altfel decat muncind la proiectul tau.

Problema ta este ca nu intelegi exact ce inseamna “muncit la proiectul tau”. Probabil ca iti imaginezi ca muncit inseamna scris cod si atat. Numeri literele scrise… vezi cat iti ia sa le scrii si aia e munca.

Daca asta e abordarea ta, o sa ai o problema destul de mare in a lucra cu alti colaboratori si in a lucra cu proprii tai clienti.

Motivul pentru care o sa-ti fie greu sa lucrezi cu alti colaboratori e evident, dar poate nu iti dai seama de ce ai avea dificultati in a lucra cu clientii, asa ca trebuie explicat:

La momentul actual, iei proiecte foarte simple, in care mare lucru nu faci. In acele proiecte, esti destul de stapan pe tine si esti foarte rapid. Estimezi costul proiectului pe baza a ce crezi si stii ca ti-ar lua tie sa faci. In general iti iese, pentru ca iti iei chestii care seamana intre ele si le abordezi cumva la fel. Cand le faci tu, le faci in timpul asumat si in bugetul asumat. Problema e ca iei mai multe. Tie iti e usor sa faci genul asta de task-uri, pentru ca asta faci si esti expert in schimbat culori si chestii n CSS. Marea majoritate a programatorilor sunt mai competenti in alte directii si poate mai putin competenti in aceasta directie. In sensul ca e ceva ce stiu sa faca, dar nu au memoria muschilor sa poata sa faca asta la fel de repede si eficient ca tine. Motiv pentru care, povestea asta dureaza mai mult.
Cand vrei sa scalezi afacerea, trebuie sa tii cont de aceste aspecte si probabil din orgoliu nu o vei face. Preferi sa spui ca oamenii sunt de rahat si daca toti ar fi ca tine, ce lume frumoasa ar fi si ce societate extraordinara am putea avea… Ce pacat ca nu o avem…
Ai tendinta sa-i desconsideri pe colaboratori, iar asta pe termen lung o sa te coste. Din ce inteleg pe tine te-a nemultumit ca un task pe care TU l-ai face in 8 ore cineva l-a facut in 30. Eu ce pot sa-ti spun este ca vei ajunge in situatia in care o sa ti se promita ca il face si nu-l face. Programarea nu e asa usoara, iar faptul ca tu zici ca ai fi facut in 8 ore respectivul taks e gandire magica. Nu poti sa stii cat ar fi durat decat daca l-ai fi facut. La tine asta e o estimare. Poate ai dreptate. Eu sunt sceptic. Am impresia ca ai tendinta de a subestima lucrurile si a crede ca totul e mai usor decat e in realitate.
Un alt aspect este ca oamenii nu sunt roboti. bagi un om in priza si el incepe sa produca 100 de linii de cod pe ora. Poate tu esti un om capabil de un nivel ridicat de concentrare si asta te face mai productiv. Inca o data, eu nu cred ca esti atat de productiv pe cat crezi, pentru ca incepatorii intotdeauna cred rezolvarile sunt simple si rapide. Eu cred ca in 4-5 ani o sa vezi lucrurile altfel, dar in viata nu inveti decat din durere, asa ca acum e vremea cand trebuie sa doara si sa fii frustrat ca lumea e naspa… O sa-ti treaca.

3 Likes

un antreprenor responsabil cauta in primul rand o solutie pe care poate pune baza si abia apoi sa sa vrea sa fie rapida.

Multumesc pentru timpul acordat.

Am experienta de 7 ani in domeniu. Am fost si lider de departament backend. Deci nu sunt incepator si ceea ce vorbesc o spun din experienta.

Pai baza este deja.

Daca e adevarat, probabil ca in experienta ta ai observat ca diversi oameni au diverse abilitati. Asa ca ma intreb daca ai 7 ani experienta de de 7 ori un an de eperienta… Estimarea proiectelor e cea mai complicata activitate, iar cand lucrezi cu alti oameni, chestia asta devine foarte importanta.

Eu am mai putin de 7 ani experienta, insa am invatat ca nu pot sa ma astept ca altcineva sa faca treaba asa cum as face eu. Nici la fel de repede.

Pe de alta parte, mai e un fenomen pe care-l ignori, insa e foarte important.

Se intampla sa ai o problema care pare complicata, pentru ca in momentul ala nu ai idee cum sa o rezolvi. Te lupti sa o rezolvi si nu o rezolvi dupa 10 ore de chin. A doua zi te intorci si rezolvi problema in 10 minute.
Obiectiv, sulutia ar fi luat pentru chestia aia 10 minute. Tu ai stat pe ea aproape 11 ore. Cat poti sa spui ca a durat? Sau tie nu ti s-a intamplat fenomenul asta pana in prezent? Ca mie mi s-a intamplat si multora dintre colegii mei li s-a intamplat… Cumva face parte din viata.

6 Likes

Da, se intampla. Dar sa fiu sincer, nu se intampla atunci cand rezolv o problema banala, gen (uppercase cu css) . Doar la task-uri super complicate.

Vorbeam cu un partener de afaceri si ii spuneam asa: Bai, daca era posibila clonarea, demult eram miliardar )

Dar in fine, poate eu am asteptari prea mari de la altii si inca nu am invatat cum sa masor capacitatile oamenilor.

Pai daca faci N clone, ar trebui sa castigi N x miliarde. Altfel nu cred ca clonele ar vrea sa le tragi teapa. In plus, ai concura cu tine insuti, ar fi destul de dura treaba.

Poate esti un programator foarte productiv. Poate esti un geniu. Daca e adevarat, felicitari.

Problema e ca in orice proiect vei lucra cu si pentru alti oameni. I irelevant cat de bun esti tu. Important e cat de buna e echipa ta. Cat de bine comunica oamenii.

La google au facut un experiment pe tema asta. Un team de rockstars si unul de oameni obisnuiti. Oamenii aia care ar fi facut o lume mai buna in teorie daca erau clonati, in echipa nu au fost mai productivi decat echipa de oameni normali. Comunicare e mai importanta decat inteligenta asociata cu orgoliu a fiecarui individ.

2 Likes

Vezi tu, mai sunt alte două tabere de programatori:

  1. Ăia care rezolvă rapid orice problemă acum;
  2. Ăia care iau și decizii ce vor reduce timpul problemelor apărute în viitor.

Chiar acum lucrez la un proiect făcut de prima tabără. Rezultatul? Am aceleași ~40-50 de componente repetate (fiecare) de câte patru ori. Diferențe extrem de minore între ele, aș fi scăpat de bătăi de cap dacă s-ar fi acordat câteva ore la un moment dat pentru a se reduce duplicarea. Doar că între timp s-a modificat într-un loc (și, deși ar fi trebuit, nu s-a modificat și în alte locuri) și acum e un mic haos.

9 Likes

Dabara a 2-a care am scris mai in sus, am inclus si capacitatile din tabara a 2-a scrisa de tine )
Defapt eu mereu fac asa: cand scriu un cod, ma gandesc cu cativa pasi inainte si ma gandesc daca urmatoarea persoana care va programa dupa mine va intelege ce am scris.