Programare fara bani (din pasiune)

Intrebarea zilei:

Cati suntem pe forum care am programa sau am rezolva probleme cu solutii software fara bani, fara renumeratie ? Nu vorbesc de proiecte open-source, vorbesc de solutii pentru prieteni, vecini, copii, comunitate, scoala/facultate, pentru noi insine, doar asa de fun, poate intr-un fisier untitled pe care nici macar nu il salvam. Voi va rezolvati problemele personale programand, hackuind chestii ? (nici macar ca sa salvati bani prin casa, sa reparati ceva, ci doar de curiozitate)

Intr-o alta ordine de idei:

  1. Se poate face programare fara bani ? Ati face programare daca ati lucra in total alt domeniu si cand va intoarceti acasa in loc sa va jucati un joc, sa cititi o carte, sa va uitati pe netflix deschideti IDE-ul favorit si scrieti niste linii de cod doar ca sa va satisfaceti dependenta de rezolvat probleme.

  2. Ce limbaj, stack ati alege daca ati stii ca indiferent ce alegeti, niciodata nu o sa primiti bani pentru ce faceti ?

  3. Ce v-ar motiva sa terminati ce incepeti ? (asta e cea mai mare problema a mea daca nu sunt bani in joc) Are ceva sens daca terminati sau nu ? (daca nu primiti nimic material pentru ce faceti)

  4. Ati lucra in echipa doar de dragul de a face ceva nou, de a ajuta pe cineva ? Cum ati rezolva conflictele in echipa, ce s-ar schimba in relatia dintre programatori ? Ce ar fi cel mai important la cei cu care lucrati ? Cat timp ati putea aloca ?

  5. Ati lucrat in trecut/lucrati pe proiecte fara absolut nici o renumeratie ? Ati mai face-o inca o data ? De ce ? De ce nu ?

5 Likes

Cand eram un pic mai tanar, as fi spus DA fara sa stau prea mult pe ganduri. Timp era tot ce aveam, iar dorinta de a invata cat mai mult ma tinea treaz pana tarziu in noapte.

Acum … cred ca mi s-a schimbat modul in care ma raportez la timpul liber pe care il am. Lumea in care traim este imensa si este pacat sa ne irosim timpul cu ochii in monitor.

Ca sa raspund punctual :

  1. Nu am fost niciodata atras de rezolvarea problemelor gen olimpiada de informatica, insa provocarile de ordin tehnic pot veni sub multe forme. Cert este ca mi-e greu sa stau departe de cod in timpul liber.
  2. PHP/MySQL, no frameworks attached. Varianta cea mai simpla de a obtine ceva palpabil, usor de pus pe un server fara sa-mi prind urechile in configurari.
  3. Asta este o lupta continua, tot mai mult inclin sa cred ca tine foarte mult de zona de confort in care ma aflu.
  4. Atata timp cat nu vorbim de a repara sistemele de la stat, as lua in calcul.
  5. Am lucrat pentru ca era important sa invat si aveam sansa de a lucra la un proiect cu vizibilitate. Nu as mai face-o … timpul liber este mult prea pretios pentru a-l petrece tot cu ochii intr-un computer.
2 Likes

Cred ca mai toti de aici au pet projects.
Cam asa au aparut si marile site-uri (facebook, twitter etc), desi cred ca se poate extrapola la multe domenii, nu doar programare.

De curand am facut https://hartaambroziei.ro care are un scop civic. Nu fac bani din el, l-am dezvoltat singur si suport singur costurile de intretinere (in special ce tin de hosting).
Nu ma astept sa fac bani din el, dar nu asta a fost scopul.

Ca stack, evident, cel cu care esti cel mai confortabil e cel recomandat, exceptie facand cazul in care scopul e unul didactic (vrei sa inveti tehnologii noi).

Pentru mine problematic in general nu e sa incep un astfel de proiect, ci sa il duc la bun sfarsit :slight_smile: . Una dintre solutii e sa ai un scop mai mic, nu sa vrei sa faci urmatorul facebook. Ceva realist, usor de realizat in 2-3 saptamani (la nivel de MVP).

Cred ca la astfel de proiecte, colaborarile cu alte persoane decurg destul de bine (n-am incercat insa). In principal pentru ca nu exista o presiune externa, deadlines care sa te preseze prea tare etc… Important e sa gasesti pe cineva cu care sa rezonezi si sa fie pasionat de ideea proiectului.

Si ca sa raspund si la punctul 5, chiar recomand celor care nu au pet projects sa inceapa unele. In cel mai “rau” caz, pot fi un learning experience foarte valoros.

5 Likes

Eu mai urmaresc un tutorial despre ceva anume, mai incerc o chestie etc. Mai ajut pe forum sau pe un grup de facebook.

Pt mine nu prea conteaza. Acasa mai scriu linii in js, php, c#, java etc

Just do it for the sake of learning and keeping your mind sharp :wink:

Sunt voluntar la un proiect din Code4Romania. Inveti mai multe contribuind decat ai invata urmarind un tutorial

2 Likes

Pentru mine e doar o meserie. Plec la 9 vin la 6. Pe langa alte activitati nu imi mai ramane timp de programat decat in weekend. Si nu vreau sa irosesc weekend-ul facand ce am facut toata saptamana.

Cand vine vorba de proiecte personale, de care nu ma mai ocup de mult timp, imi place sa fac chestii ce mi se par mie amuzante sau stupide. Gen o aplicatie care iti monitorizeaza pulsul cu un smartwatch si iti sterge istoricul de la browsere cand ajunge la 0 :slight_smile:

3 Likes

Doar când nu găsesc ceva gata făcut:

  • Majoritatea sunt pe github (extensii pentru carbon fields, startere/helpere pentru WP, plugin-uri pentru WP etc);
  • Anul trecut am făcut o aplicație de buget pentru „crowdfunding”-ul de la școală/grădiniță (i.e. fondul clasei), unde fiecare trebuie să contribuie cu X lei și trebuie să ții cont de cine, cât și pentru ce a dat. Lumen+React, am învățat o grămadă acolo.

Fix așa am început: lucram în service auto ziua, iar nopțile învățam chestii făcând mici aplicații. Să rezumăm prin a spune doar că la începutul anilor 2000 nu era laracast, tutsplus & co :smiley:

Cumva related :smiley:

image

4 Likes

Am facut si de-astea care nu-s open source, dar nu inteleg de ce proiectele source sunt excluse.

Categoric. Pe domeniul pe care l-am ales eu pentru proiectele open source, e o metoda bunicica de a-ti da seama daca ai inteles ce ai citit in cartea aia mai sus mentionata.

C++. Bibliotecile, in functie de problema. Dar nu e ceva batut in cuie, cand am vrut sa scot ceva foarte rapid, am folosit chiar si JavaScript.

Sunt foarte multe motive posibile. Uneori pentru a exersa ceva. Pentru a intelege mai bine. Pentru a-i ajuta pe altii. Eu am facut unele proiecte doar de amuzament, de la interpretor de lisp la retea neuronala. Am facut micro-proiecte de-astea ‘for fun’ cu gramada. Astea n-o sa ajunga niciodata open source, eventual le rescriu inainte de a le pune pe GitHub (dar prefer sa pastrez tematica fara sa fac ciorba acolo).

De dragul de ‘a face ceva nou’, in general, nu. Depinde foarte mult de acel ‘ceva’. Daca e ceva ce ma pasioneaza, da. Restul e functie de situatia concreta.

Da. Normal ca as face-o din nou, am in plan inca multe proiecte open source si nu numai. Poate chiar azi scriu ceva pe blog despre proiectul asta: https://github.com/aromanro/DFTAtom Proiectul e cu bataie lunga, intentionez sa-l folosesc pentru un proiect APW (augmented plane waves) si eventual LAPW (ca inainte, dar linearizat) si cine stie, poate chiar KKR. Ceva detalii despre subiecte: https://en.wikipedia.org/wiki/Muffin-tin_approximation De ce? For fun. Parcurg acum o carte https://books.google.ro/books/about/Electronic_Structure.html?id=dmRTFLpSGNsC&redir_esc=y unele chestii de-acolo s-au materializat deja in proiecte, sper ca mai urmeaza.

1 Like

Munca fara bani nu mai fac. Am facut cand aveam timp mai mult dar in cazul meu a distrus prietenia deoarece omul pe care il ajutam ajunsese sa aiba o atitudine similara cu cea a unui patron.

Din pacate am ajuns in situatia in care mi-as dori sa lucrez 6 ore pe zi in loc de 8 si sa am salariul redus cu 25%. Cred ca as accepta chiar si cu 30% doar sa am mai mult timp liber. Dar nu se poate.

Cu timpul ala liber la un moment dat mi-as dori sa imi creez ceva al meu care sa rezolve o problema concreta. Deocamdata nu e cazul :slight_smile:

In concluzie, “solutii” software gratis pentru altii cu siguranta nu mai fac. Pentru mine da, cand o sa am mai mult timp la dispozitie. Pana una alta, “dependenta” de rezolvat probleme mi-o satisfac pe Leetcode. La rebus am renuntat :smile:

1 Like

Obisnuiam si eu sa folosesc asta ca scuza, pana am ajuns in punctul sa lucrez cate ore am chef si mi-am dat seama ca de fapt nu aia era problema. :smiley:
In celelalte 16 ore cand nu esti la birou ce faci? Dar in weekend?
Din experienta mea, cel mai usor e sa le faci dimineata, inainte de program.

1 Like

Well, nu as exclude proiectele open source pentru ca unele chiar in directia asta se indreapta. Practic comunitatea, prietenul sau scoala au generat idea si nevoia numai ca autorul a inteles sa nu le faca exclusive ci dimpotriva open source sau free pentru ca si altii sa le foloseasca… Am si eu niste proiecte free (as in free speech and free beer :slightly_smiling_face:) in sensul asta.

Cred ca orice stack pe care il stapanesti in acel moment. Munca free nu se contesta precum calul de dar care nu se cauta la dinti… Totusi cineva responsabil care vrea sa ajute ar alege instrumente free pentru ca pe viitor daca nu se mai poate ocupa de proiect altcineva sa-l poata prelua intr-un mod accesibil.

Cu siguranta. O mare parte dintre programatori (ma includ) au invatat aproape tot de pe internet, din munca partajata de altii iar la un moment dat poti la randul tau sa partajezi o munca care nu numai ca il va ajuta pe altul dar te va face pe tine si mai bun numai pentru faptul ca ai rezolvat inca o problema din care poate ai invatat ceva. Eu nu vad munca gratuita ca pe o pierdere de timp ci mai degraba ca un exercitiu personal.

4 Likes

Fun fact: Paint Shop Pro a fost creat de un… pilot de avioane, nemulțumit fiind de faptul că Windows nu știa de formatul GIF

he ran into a personal frustration that got him coding: GIF files were common ways of exchanging images […], but they weren’t supported natively by Windows 3.0.

3 Likes

Eu am lucrat exclusiv ca freelancer și am observat că prindeam mai ușor proiecte dacă foloseam cele mai noi tehnologii.
Asa ca prin 2014 mi-am impus să învăț câte o tehnologie nouă la fiecare 2 ani, iar asta prin completând un proiect personal.
Si asa am făcut:

  • o aplicație Android pentru alergare
  • un aparat Arduino care se conecta la aplicația de mai sus. Le-am completat și renuntat la ele.
  • o aplicație web pentru alergare. O folosesc de 3 ani.
  • un sistem de control al irigatiei: PHP, SQLite, Android, Arduino. L-am terminat în primăvara asta și este foarte util, iar în toamna îl voi îmbunătăți.

Am mai facut o aplicație pentru urmărit transportul public în timp real, dar am pus-o in biblioteca pentru că nu am gasit interes de la transportatori și nici administrația locală.

În general găsesc hobby -uri destul de frecvent, așa că îmi place să fac ceva legat de asta.
Prefer MEAN stack, Arduino, Android. Dar de nevoie mă adaptez.

Dacă ar fi să colaborez cu alții as face-o doar dacă avem interes comun.

Timpul este o problemă pentru toți. Vara nu mă pot concentra în afara programului de lucru, dar din noiembrie până în martie am timp vreo 10-12 ore săptămânal și pentru proiecte neplătite.

6 Likes
  1. Programare just for fun? Absolut. Am facut asta frecvent inainte sa am copil.
  2. Nici unul anume. As experimenta cu toate. De la ASM la JavaScript, de la NetBeans la Atom, de la Mongo la OracleDB, de la programare procedurala la programare functionala, etc.
  3. De ce trebuie sa termin? Care este scopul exercitiului? Cum definesc terminat? Daca ceea ce fac este sa invat … sa zicem API-ul de Google Calendar … nu as vrea sa am o aplicatie terminata. Cand ma simt confortabil cu interactiunea cu API-ul respectiv pot considera proiectul terminat. Nu conteaza ca el are vreo valoare sau nu din punct de vedere functional. Daca in schimb scopul este sa imi estimez cheltuielile pe urmatorul an, programul este terminat cand rezultatul este suficient de precis pentru nevoile mele. Poate il voi imbunatati luni, ani de zile. Poate va fi suficient imediat.
  4. Da, as lucra in echipa just for fun and learning. Am facut asta in trecut. Acum nu pot aloca, DIN PACATE, timp pentru asta. Poate dupa ce mai creste copilul. Cum ati rezolva conflictele in echipa, ce s-ar schimba in relatia dintre programatori ? Este prea generica intrebarea, pentru asta ar trebui un forum intreg, nu doar un thread :stuck_out_tongue:
  5. Da, am lucrat, mai ales in domeniul de Linux. Daca mai stiti de Mandriva Linux, eram printre leader-ii comunitatii din Romania. M-am ocupat si de site, si de forum, si de documentatie, si de evenimente legate de Mandriva. Am facut-o pentru ca mi-a dat ocazia sa ma intalnesc cu oameni cu mentalitati si viziuni similare cu ale mele. L-am facut pentru ca m-a ajutat sa invat de la altii si sa invat technologii noi si interesante. L-am facut pentru ca sunt un explorator. Stiu ca suna un pic egoist, dar pana la urma urmei oricare face ceea ce face pentru ca actiunea respectiva il face sa se simta bine. De exemplu acum, prin acest raspuns, contribui la aceasta comunitate. Nu o fac pentru bani, ci pentru ca ma face sa ma simt bine ca pot prezenta un punct de vedere intr-un mediu prietenos.

Nah, back to work. Have a nice day.

6 Likes

Fac asta din pasiune de destul de mult timp deja. Am inceput prin a contribui la open source, prin a activa intro fundatie FOSS si de acolo am crescut normal sa am o altfel de apreciere pentru comunitatile din jurul meu. Mai ales ca datorez foarte mult din ceea ce stiu comunitatilor open source (thanks Debian!).

Provocari rezolv tot timpul prin cod si nu am o tehnologie anume preferata. Folosesc ce ma scarpina pe mine cel mai bine. Ce sunt eu de parere si cred foarte puternic:

  • nu exista soft sau lucru facut pe gratis, costul e timpul
  • daca scarpini nevoia cuiva, de ce nu ai face bani din asta sau de ce nu ai imparti cu lumea ce ai facut; in caz ca scarpini nevoile mai multor oameni

In principiu, softul facut din pasiune vine mai mult cu un cost de timp, iar banii sunt cam neimportanti mai ales cand vine vorba de o pasiune. Programarea e un domeniu atat de mare si te poti apuca de una sau de alta foarte usor si poti sa gasesti oricand ceva interesant la care sa lucrezi, dar costul ramane timpul.

Ai renunta la iesirea aia in oras pentru o ora in plus de a programa? I-ai zice prietenei tale pass ca vrei sa mai lucrezi putin? Concluzia mea este ca cine e cu adevarat pasionat, gaseste timp :slight_smile:

Cred că titlul ar fi vrut sa sune așa: programare fără beneficii . Pentru că si participarea la proiecte Open Source, deși nu este renumerată aduce beneficii participantilor prin creșterea prestigiului care se transpune aproape nemijlocit în creșterea câștigurilor materiale, și creșterea volumului resurselor care aduce beneficii comunității de programatori, cu același scop final.
Cred că programarea fără beneficii este un nonsens. De ce? Orice prestație către o terță persoană cu personalitate juridica , de orice natură, trebuie renumerată, dar nu și programarea? Este cumva o însușire nativă, cum este mersul pe jos, respirația, etc? Prestatia artiștilor o plătim si ni se pare firesc dar programatorii pot desfășura activități nerenumerate…de ce?

1 Like

Are sens din acelasi motiv pentru care sunt rapperi extrem de buni dar nu sunt asa populari: Daca intervin banii sau faima se schimba caracterul omului.

Titlul bun ar fi programatori necomerciali/programare necomerciala, cu scopul de a transmite un mesaj, de a intelege ceva mai bine, de a lucra cu limbaje care nu mai au suport, de a arata ca se poate face ceva imposibil, de exemplu doom intr-un fisier de excel sau raytracing in mspaint. Classicul Flappy Bird. Reverse engineering la jocuri de mult uitate.

Exemple hardcore:
Reverse engineering la Diablo 1

Majoritatea aplicatiilor pe care le folosim au pornit de la a ajuta oameni sa faca ceva, nu de la a face bani.

La Diablo 1 este mentionat :

  • Depression - reason to waste four months of my life doing this :wink:

Eu cred ca oamenii care tind sa lucreze la ceva cu pasiune (fara beneficii) deja tind spre autism sau se retrag in ceea ce lucreaza. De multe ori au si OCD. Nu ca ar fi ceva rau in asta, doar ca poate asta e motivul pentru care multi se duc la munca, isi fac task-urile din jira si dupa se duc acasa si se uita la netflix. Dar altii ajung acasa si isi scriu propriul limbaj de programare fiindca nu le place ce folosesc la munca.