Munca pe care o fac mi se pare plictisitoare de la o vreme

Salutare
Pe scurt, eu sunt student si de o perioada de timp lucrez pe partea de dezvoltare web. Acuma ma aflu si in cadrul unui internship tot pe partea de web dev ( folosim mern stack) si ma confrunt de la un timp cu problema ca munca pe care o fac mi se pare super plictisitoare atat pe partea de front-end cat si pe back-end.
Adica mereu este aceiasi poveste: fac niste rute , un request sau doua la baza de date ca sa salvez datele si dupa ce verific in postman daca nu ti-a scapat ceva bom esti gata. Pe front-end e aceiasi poveste, faci css la greu cu aceleasi proprietati si dupa 3,4 calluri catre back-end cu axios sau ce alta librarie, iara doua , trei if-uri, te asiguri ca merge totul bine si gata.
Si da , nu sunt expert dar mi se parea mai interesanta programarea la inceput, si ma gandeam poate daca as incerca ceva cum ar fii java spring pe backend sa fac ceva mai complicat ar fii mai interesant de facut o aplicatie.
Si doresc sa cer un sfat legat de asta.
O sa se complice lucrurile pe front-end incat sa intampin provocari si sa fie munca mai interesanta? Sau voi trai mereu in aceiasi rutina ?
Ma gandesc si pe deoparte ca nu am lucrat decat la simple crud-uri dar nu vad ce ai putea face mai mult de atat.

Da pe backend se fac lucruri mai interesante. Însă dacă te specializezi pe web dev o sa fi type casted pe joburi din astea :blush:

Faci trei if-uri și CRUD între 9-17, dar în afara acestui interval poți să studiezi chestii: design patterns, best practices, experimentezi tehnologii/limbaje noi. Iei câteva Arduino, o mână de senzori și experimentezi limbaje noi și hardware nou.

5 Likes

Dacă o vezi așa, pe web cam toate le poți categorisi drept CRUD-uri.
La mine mai schimbă atmosfera partea de UX (cum să combin flow-urile pentru ca utilizatorul să facă ce trebuie să facă în cel mai simplu mod), partea de arhitectură (mă gândesc spre ce ar putea evolua produsul și cum aș putea să fac să-mi fie mai ușor dacă ajung în acel pas). Și bineînțeles că mereu încep spunând “de data asta voi scrie cât mai puțin cod și cât mai extensibil”.

Da dar vreau ca si ce fac de la 9-17 sa fie interesant =))

1 Like

Provocari vei avea doar in masura in care iti propui sa faci lucrurile diferit, sa incerci alte abordari si sa vezi ce merge si ce nu.

Caz concret eu am avut de mai multe ori de facut niste migrari de date de la o baza de date la alta, puteam sa folosesc doar o singura metoda de migrare dar am zis sa incerc si altele si asa am incercat:

  • migrare folosind SQL scripts
  • migrare folosind php mysql driver
  • migrare folosind ORM

Am aflat tot felul de lucruri: viteza de procesare, avantaje si dezavantaje la fiecare metoda etc…

Poti sa faci lucrurile exact la fel ca inainte sau poti sa inveti si sa incerci pe proiect noi paradigme, moduri de lucru etc… Recomand sa nu schimbi prea multe lucruri deodata si sa experimentezi gradual cu schimbarile. Daca proiectul e rigid si nu permite astfel de lucruri vei putea face asta doar pe proiecte proprii.

1 Like

Web-ul e extrem de complex, pune mâna pe canvas, pe API-ul de audio, pe svg-uri, pe tabele cu filtrari dinamice, paginare, virtual scroll, multiple contexte în pagină și widget-uri, extensibilitate 3rd party, testare ca la carte. WYSWYG, editoarele de text, spreadsheet-urile, WebRTC sunt domenii perfecte dacă vrei să te autoflagelezi.

Realizarea de chart-uri e distractivă dar grea, în special fără d3. E multă matematică.

Mie îmi ies fire albe la fiecare formular cu n permutatii la validare cu erori de pe backend la fiecare field, prepopulare/incarcare din 4-5 servicii… N-am făcut un CRUD simplu de mult.

Ca să faci bine ce faci e greu, dacă scrii teste relevante pentru tot e și mai greu. Ca să faci cât mai multe reutilizabile devine problemă de arhitectură chiar și un buton.

Fa testare, scrie testele e2e, fa teste la tot în mod relevant și devine mult mai dificil.

1 Like

Ce descrii tu e practic boilerplate-ul impus de framework-ul pe care-l folosești. În mod ideal, acesta ar trebui să fie cât mai aproape de zero pentru a-ți permite să te concentrezi pe business logic, adică pe partea cu adevărat complicată.

De exemplu, și eu lucrez la o aplicație CRUD și unul dintre task-uri e partea de update pentru accounts. Pare destul de simplu, doar că din motive istorice unele obiecte de tip “accounts” sunt persoane și altele sunt companii, iar unele companii pot fi de tip „holding”, adică dețin mai multe companii, iar update-urile pot fi făcute de anumite persoane care au o relație de timp employee cu compania, desemnați în mod special fie la nivel companie, fie la nivel de holding. Suplimentar, pe pagina de detalii pentru o companie trebuie să afișez acei angajați, dar doar dacă userul curent (tot un „account”) are un abonament de tip premium.

Sigur, nu e problemă de olimpiadă de matematică, dar știi că cerințele se vor modifica peste 6-12 luni, așa că trebuie să găsești și o soluție suficient de modulară într-un timp acceptabil, ceea ce nu e tot timpul trivial.

Mersi de sugestii!
Le trec pe lista ca sa ma joc cu ele!

Uite la un feature din acesta mi-ar placea sa lucrez

1 Like

Esti la inceput. Stai chill!

Basically, toti facem un fel de CRUD, dar ce me facem cand pagina se incarca greu. Sunt si acolo o graqmada de lucrui de invatat si optimizat.

Invata cat poti de mult. Oricum backedn-ul nu inseamana numai CRUD.

2 Likes

Nu e doar CRUD.

Câteodată folosim Google ca sa ajungem exact la răspuns pe Stackoverflow unde dam scroll rapid la răspunsul votat. Se da copy/paste, apoi după ce crapă la prima rulare se studiază ce dracu’ de cod era în răspunsul ălă.

Iar dacă nu e CRUD e mai dureros că e ceva API extern unde îți ia ceva zile bune numai că sa înțelegi ce entități sunt acolo. Iar apoi te distrezi sa faci totul asincron, că nu e doar un CRUD.

Mi se pare incredibil cum cele mai favorizate categorii sociale sunt mereu cele care au cele mai multe “greutati”.
Ar trebui ca in internshipurile din firmele de IT sa te trimita 3 luni la dat cu sapa prin gradina, ca sa realizezi pe viitor cat de privilegiat esti.

Daca ceea ce faci ti se pare plictisitor, nu te obliga nimeni sa stai acolo.
Esti liber sa aplici pe pozitii cu alt grad de senioritate daca esti mai capabil decat ceea ce ti se cere pe pozitia ta de intern.

Ce spui tu aici e ca ti se pare plictisitor saritul din avion pentru ca trebuie sa inveti cum se deschide parasuta.

2 Likes

nu scapi de greutati. devin doar mai abstracte :grinning:

1 Like

Da stiu ca sunt privelegiat si sunt multumitor pentru asta ,dar pe de alta parte am de ales ce si cum fac adica e timpul in care pot sa fac de la manual testing pana la machine learning , pot sa aleg ce path imi doresc dar asta e ca vreau sa fac o alegere buna caci at the end of the day eu sunt cel care o sa stea la birou sa scrie cod pentru urmatorii 40 de ani.
Ce este gresit in a cauta sa faci ceva ce iti place.
Ce e gresit ca unul vrea sa se faca programator si altul dupa ce incearca programarea ii vine sa o lase balta. Like really, inseamna ca e nemultumitor? Nu

Nimic. Ar fi decizia corecta pentru foarte multi.

Te cred că ți se pare plictisitor. Și eu eram așa. Proiectul pe care sunt a început să mi se pară plictisitor după un an, dar am tot căutat chestii care să mă provoace și după 3 ani sunt încă pe proiectul ăsta. Uneori rezolvi problema dacă pleci, alteori înveți mai multe dacă rămâi.

Eu îți sugerez să cauți ceva care să te scoată din rutină. Încearcă să înțelegi mai bine ce faci, sau spune leadului sau managerului că te simți plafonat/plictisit.

Welcome to real life work. Cam asta e definitia si cam indiferent ce faci, daca esti suficient de perseverent, o sa ajungi sa te plictisesti facand acelasi lucru over and over again.

Dar dezvoltarea de software a trecut de ceva vreme in “barca” ingineriei si ai multe directii in care te poti dezvolta, chiar in intervalul de 9-17 in care muncesti(wow, ce blasfemie!).

Devops, securitate, testare automata, refactoring. Directii sunt destule. Ia si citeste niste carti serioase considerate “must read” pentru software engineering ca sigur vei gasi ceva ce o sa iti placa.

Dupa 9-17 vezi-ti de viata ta privata, familie, hobby-uri. Thank me later.

Esti la inceput, ai vrea sa primesti avioane de facut? O sa ti se dea cand vede lumea ca stapanesti genul de taskuri pe care le primesti momentan. Daca nu se schimba lucrurile, schimbi jobul. Dar fiind intr-un internship n-ar trebui sa fie deja plictisitor. Cere challenge-uri de la lead, implica-te, vezi ce cod scriu altii. La inceput cel mai mult inveti din code reading.

pai aici lucram mult cu chestiile de baza si eu cu astea m-am jucat in timpul liber cand mai faceam aplicatii random si aici ma asteptam la ceva nou dar momentan e cam aceaisi rutina poate 1 sau 2 elemente noi.
si ma gandeam daca nu cumva oi fi eu devina ca am ales gresit sa lucrez pe partea asta sau pur si simplu trebuie sa stau in banca mea ca o sa devina lucrurile mai grele pe viitor si o sa am challenguri destule