View Full Version : Che ruolo ha e cosa fa un programmatore?
~FullSyst3m~
02-12-2008, 14:13
La domanda potrà sembrare banale letta cosi, ma non credo che lo sia. Mi spigo meglio: mi sono sempre chiesto cosa fa un programmatore. Programma direte voi, certo. Però non penso che se una persona lavora in un'azienda come programmatore fa tutto da sola. Come vien svolto il lavoro? Come si procede allo sviluppo di un software? E' una cosa che mi sono sempre chiesto e che mi ha sempre affascinato questa..
^TiGeRShArK^
02-12-2008, 14:19
La domanda potrà sembrare banale letta cosi, ma non credo che lo sia. Mi spigo meglio: mi sono sempre chiesto cosa fa un programmatore. Programma direte voi, certo. Però non penso che se una persona lavora in un'azienda come programmatore fa tutto da sola. Come vien svolto il lavoro? Come si procede allo sviluppo di un software? E' una cosa che mi sono sempre chiesto e che mi ha sempre affascinato questa..
ma anche no.
Si lavora in team che possono arrivare anche a comprendere decine di persone.
ToshiRikudo
02-12-2008, 14:55
Esperienza personale: io mantenevo e sviluppavo da solo un programma.
Le migliorie venivano decise dal settore commerciale mesi prima, io dovevo analizzarle ed esprimere una stima sul tempo richesto per eseguirle.
In base alla mia stima il reparto commerciale mi diceva cosa fare assolutamente e cosa fare se mi avanzava tempo e mi dava un termine per "consegnare" il programma a chi doveva iniziare a testarlo.
Il programmatore, oltre a programmare, può suggerire delle modifiche circa la tecnologia da utilizzare anche se quasi sempre questi suggerimenti vengono ignorati a favore della "tradizione passata" (ci sono clienti che utilizzano e vogliono continuare ad utilizzare Windows 98... :doh: ).
Ho avuto anche delle piccole esperienze con il lavoro in team ma sostanzialmente l'esperienza lavorativa non cambia.
^TiGeRShArK^
02-12-2008, 18:19
Esperienza personale: io mantenevo e sviluppavo da solo un programma.
Le migliorie venivano decise dal settore commerciale mesi prima, io dovevo analizzarle ed esprimere una stima sul tempo richesto per eseguirle.
In base alla mia stima il reparto commerciale mi diceva cosa fare assolutamente e cosa fare se mi avanzava tempo e mi dava un termine per "consegnare" il programma a chi doveva iniziare a testarlo.
Il programmatore, oltre a programmare, può suggerire delle modifiche circa la tecnologia da utilizzare anche se quasi sempre questi suggerimenti vengono ignorati a favore della "tradizione passata" (ci sono clienti che utilizzano e vogliono continuare ad utilizzare Windows 98... :doh: ).
Ho avuto anche delle piccole esperienze con il lavoro in team ma sostanzialmente l'esperienza lavorativa non cambia.
diciamo che il lavoro in team non c'entra nulla con il lavoro da soli...
La priorità è in quel caso la scrittura di codice comprensibile a tutti, pena cazziatoni e revert di commit.
Lavorando da soli invece si tendono a fare le porcate + assurde.
~FullSyst3m~
02-12-2008, 18:27
diciamo che il lavoro in team non c'entra nulla con il lavoro da soli...
La priorità è in quel caso la scrittura di codice comprensibile a tutti, pena cazziatoni e revert di commit.
Lavorando da soli invece si tendono a fare le porcate + assurde.
E immagino che sia anche più difficile lavorare soli. Un conto è sviluppare un programma in un team, un conto è farlo tutto da solo
In Italia, sia che lavori in team o che lo faccia da solo è quello che ha un rapporto stipendio / mazzo più basso di tutti. Di norma è quello che risolve i problemi che gli altri creano e che si godono i frutti delle sue soluzioni. E' quello che meno rompe e più lavora meglio è. E ovviamente ha sempre un posto privilegiato nell'ammirare i benefit che arrivano agli uomini marketing i quali tra un pranzo di lavoro e un harddisk del portatile nuovo formattato dal figlioletto "ma tanto era guasto" fanno carriera lavorando la metà (se si impegnano). Il programmatore in compenso se rende al 100% riceverà una quantità di elogi che lo faranno sentire in paradiso... almeno fin qundo si accorge che gli elogi non aumentano il valore assoluto del numeretto che si trova di solito in fondo a destra nella busta paga. Questo nel 80% dei casi, poi ci sono le isole felici. Detto da un ex programmatore che ora è dall'altra parte della barricata (e ovviamente ci ho guadagnato in salute e non solo)
^TiGeRShArK^
02-12-2008, 21:38
E immagino che sia anche più difficile lavorare soli. Un conto è sviluppare un programma in un team, un conto è farlo tutto da solo
ma anche no.
E' molto + difficile lavorare in un team.
Se lavori da solo hai una codebase ridottissima e inoltre dovresti conoscere tutto il software che hai scritto, se lavori in team hai delle codebase che probabilmente tu non riusciresti nemmeno ad immaginare :asd:
bè c'è tutto un flusso di lavoro per fare un software ... e spesso questo flusso nn viene neanche fatto dai programmatori ( purtroppo a volte i programmatori vengono trattati come operai in una catena di montaggio ... )
di solito c'è una prima stima del lavoro da parte delle parti 'alte' di una azienda per verificare la fattibilità del progetto con requistiti generici, poi c'è la raccolta dei requisiti in dettaglio un'analisi, un'implementazione,dei test ed infine un rilascio ...
in modo standard (ormai considerato vecchio) lo sviluppo procedeva essattamente come detto ed ogni fase aveva la sua persona ... per i requisiti di solito li raccoglieva un project manager ... che li passava all'analista che analizzava e estravea della documentazione che a sua volta li passava a programmatori che sviluppavano il software che veniva testato dai tester ed infine messo in produzione da sistemisti ....
come si evince da questo flusso il programmatore e solo un'operaio che riceve ed esegue ordini .... questo metodo comunque nn è molto efficente, soprattutto se pensiamo che se si verifica un'errore nella raccolta dei requisiti, questo può far creare un software totalmente diverso da quello che si aspettava ...
comunque ultimamente si stanno facendo spazzio i nuovi metodi "agili" di sviluppo software dove il programmatore e moooolto più centrale nello sviluppo del software ... e spesso lavora in tutte le fasi del progetto ... dalla raccolta dei requisiti al testing e deployment, quindi per fare il programmatore ultimamente deve avere mooolte capacita incluse quelle di interffarciarsi a clienti e persone in generale ( è molto raro fare un progetto senza collaborare a stretto contatto con altre persone)
quindi in due parole il programmatore in anziende vecchio ordinamento riceve dei documenti implementa cio che ce scritto e passa hai tester per ricevere notifiche di qualche errore ...
il programmatore in aziende di nuovo ordinamento si trova a parlare con clienti i a raccogliere requisti, analizza implementa e testa tutto inzieme, (insomma si fa un bel sederino ;)) ma sicuramente ci mette veramente inteliggenza, ingegno e fatica! (e secondo me questo il vero programmatore!!)
PS: sono programmatore ;)
ToshiRikudo
02-12-2008, 22:18
E immagino che sia anche più difficile lavorare soli. Un conto è sviluppare un programma in un team, un conto è farlo tutto da solo
ma anche no.
E' molto + difficile lavorare in un team.
Se lavori da solo hai una codebase ridottissima e inoltre dovresti conoscere tutto il software che hai scritto, se lavori in team hai delle codebase che probabilmente tu non riusciresti nemmeno ad immaginare :asd:
Secondo me dipende dal progetto da sviluppare e dall'organizzazione di base.
Quando il progetto è semplice o non è modulare, il lavoro in team è inutile/complesso.
Per esempio, sviluppare un gestionale che faccia 3 stampe so si fa da soli ma un programma che sviluppi diversi moduli partendo da una base comune lo si fa in gruppo.
Poi, se la base comune è ben definita con delle specifiche comuni condivise allora il lavoro in team è semplificato mentre se ogniuno sviluppa la propria parte come se lavorasse da solo per poi fare un "merge" dei vari progetti il lavoro in team può andare avanti senza problemi finché il team resta unito. Appena qualcuno viene a mancare iniziano i seri problemi...
~FullSyst3m~
02-12-2008, 22:45
In Italia, sia che lavori in team o che lo faccia da solo è quello che ha un rapporto stipendio / mazzo più basso di tutti. Di norma è quello che risolve i problemi che gli altri creano e che si godono i frutti delle sue soluzioni. E' quello che meno rompe e più lavora meglio è. E ovviamente ha sempre un posto privilegiato nell'ammirare i benefit che arrivano agli uomini marketing i quali tra un pranzo di lavoro e un harddisk del portatile nuovo formattato dal figlioletto "ma tanto era guasto" fanno carriera lavorando la metà (se si impegnano). Il programmatore in compenso se rende al 100% riceverà una quantità di elogi che lo faranno sentire in paradiso... almeno fin qundo si accorge che gli elogi non aumentano il valore assoluto del numeretto che si trova di solito in fondo a destra nella busta paga. Questo nel 80% dei casi, poi ci sono le isole felici. Detto da un ex programmatore che ora è dall'altra parte della barricata (e ovviamente ci ho guadagnato in salute e non solo)
Cosa fai adesso che sei dall'altra parte della barricata? Fai il manager o sei nelle parti alte?
ma anche no.
E' molto + difficile lavorare in un team.
Se lavori da solo hai una codebase ridottissima e inoltre dovresti conoscere tutto il software che hai scritto, se lavori in team hai delle codebase che probabilmente tu non riusciresti nemmeno ad immaginare
Cosa intendi per codebase?
Cosa fai adesso che sei dall'altra parte della barricata? Fai il manager o sei nelle parti alte?
Diciamo che sono passato dal lato degl utilizzatori... il livello è sicuramente più alto (come lo stipendio) ma lo spirito è sempre coi ragazzi che sudano dal mattino alla sera per far funzionare le cose (e, con amarezza, noto che sono tra i pochissimi che li difende a spada tratta... in certi CDA li chiamano "ragazzotti")
^TiGeRShArK^
03-12-2008, 00:10
Secondo me dipende dal progetto da sviluppare e dall'organizzazione di base.
Quando il progetto è semplice o non è modulare, il lavoro in team è inutile/complesso.
Per esempio, sviluppare un gestionale che faccia 3 stampe so si fa da soli ma un programma che sviluppi diversi moduli partendo da una base comune lo si fa in gruppo.
Poi, se la base comune è ben definita con delle specifiche comuni condivise allora il lavoro in team è semplificato mentre se ogniuno sviluppa la propria parte come se lavorasse da solo per poi fare un "merge" dei vari progetti il lavoro in team può andare avanti senza problemi finché il team resta unito. Appena qualcuno viene a mancare iniziano i seri problemi...
ovvio che se un progetto è semplice è facile farlo da soli..
ma è proprio per quello che programmare da soli è + semplice dato che per forza di cose la grandezza dei problemi da affrontare è molto minore.
^TiGeRShArK^
03-12-2008, 00:11
Cosa intendi per codebase?
tutto il codice.
e anzi aggiungerei a questo anche il sistema di build dato che a volte anch'esso può raggiungere dimensioni assolutamente non banali....
~FullSyst3m~
03-12-2008, 08:07
tutto il codice.
e anzi aggiungerei a questo anche il sistema di build dato che a volte anch'esso può raggiungere dimensioni assolutamente non banali....
Allora lì ci si dovrebbe mettere d'accordo con gli altri che sono nel team
banryu79
03-12-2008, 08:14
... (e, con amarezza, noto che sono tra i pochissimi che li difende a spada tratta... in certi CDA li chiamano "ragazzotti")
Maledizione, è sempre il solito problema qui in Italia (in Veneto almeno: dalle mie parti). Esiste un vuoto culturale percui se io vendo una macchina CN in realtà molto semplice che però fa cose mirabolanti in virtù del software con cui viene accompagnata è meglio che faccia la macchina 500 chili più pesante perchè la percezione dei clienti (purtroppo spesso anche di chi sta appunto ai "piani alti") è quella di pagare le cose a chilo: il software nessuno sa bene quanto complesso/importante sia per far funzionare tutto il sistema (è il vero perno attorno a cui ruota il sistema) e siccome un CD di installazione non pesa niente, per loro non ha molto valore.
Meglio fare la crcassa della macchina 500 chili più pesante, che il costo della lamiera in più è giustificabile :doh:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.