DOMANDA Corsi di programmazione

  • Autore discussione Autore discussione Raiz
  • Data d'inizio Data d'inizio
Pubblicità

Raiz

Utente Attivo
Messaggi
469
Reazioni
35
Punteggio
46
Salve, mi scuso in anticipo se questa non è la sezione adatta ma ho trovato questa più inerente al mio argomento.
Avendo la passione per l'informatica, ho sempre voluto imparare qualcosa sulla programmazione. Sono un neodiplomato e spesso vedo che le figure che cercano sono persone competenti per il development, cosa che io non so fare.
Ho cercato dei corsi su internet per quanto riguarda la mia città, ma niente. Ieri, su Groupon, ho visto offerte su corsi di programmazione e per curiosità li ho visti.

Gli articoli sono questi:

Master in PHP Developer e Web Graphic Design Specialist - Lifelearning Fino a 98% Merchandising (IT) | Groupon
Master in Sviluppatore Front-End e Back End Fino a 98% Merchandising (IT) | Groupon
Master in HTML5 e CSS3 - Life Learning Fino a 74% Merchandising (IT) | Groupon
Programmatore e sistemista - Accademia Domani Fino a 95% Merchandising (IT) | Groupon

Poco fa ho contattato l'azienda dei tre corsi che è la stessa per chiedere delle informazioni, informazioni che chiedo anche a voi.
Ho visto che rilasciano un certificato o un diploma/master. Qual è la differenza dei tre? Qual è utile nel mondo del lavoro per testimoniare che io sappia realmente programmare?

Poi, riguardo a quest'offerta, non ho ben capito cosa voglia dire Sviluppatore Front-End e Back-End, qualcuno potrebbe chiarirmi le idee?
Secondo voi, questi corsi sono dei corsi sufficienti o meglio starne alla larga? Gradirei sapere tutto ciò che pensate, potrebbe essermi utile.

Grazie in anticipo a chi risponderà.
 
Fatti venire un piccolo dubbio:
quando mai hai visto qualcosa che costa 4000 euro data in sconto a 79,90 euro? o a 2000 euro scontata a 59,90?
Spendi quei soldi in libri. Tanto con un corso video on-line devi comunque fare tutto da solo, almeno i libri rimangono a te.
Per quanto riguarda il "certificato" o il "diploma" riconosciuto... riconosciuto da chi?
è carta straccia, non ha valore legale, l'unica cosa che certifica è che hai seguito dei video... un po' poco per sperare di far colpo ad un colloquio di lavoro.
A questo punto studia da solo, realizza qualcosa e, ai colloqui di lavoro, fallo vedere al selezionatore.
 
Fatti venire un piccolo dubbio:
quando mai hai visto qualcosa che costa 4000 euro data in sconto a 79,90 euro? o a 2000 euro scontata a 59,90?
Spendi quei soldi in libri. Tanto con un corso video on-line devi comunque fare tutto da solo, almeno i libri rimangono a te.
Per quanto riguarda il "certificato" o il "diploma" riconosciuto... riconosciuto da chi?
è carta straccia, non ha valore legale, l'unica cosa che certifica è che hai seguito dei video... un po' poco per sperare di far colpo ad un colloquio di lavoro.
A questo punto studia da solo, realizza qualcosa e, ai colloqui di lavoro, fallo vedere al selezionatore.

Grazie per la risposta, avrei immaginato.
Però voglio aspettare la risposta di qualcun altro e decidere cosa fare.
 
Onestamente quasi tutti i libri che ho mai comprato sulla programmazione li ho letti in modo molto annoiato e li ho messi sugli scaffali, immacolati. Sono fatto così, preferisco "sporcarmi" le mani e vedere cosa mi serve per realizzare qualcosa, e piano piano acquisire sicurezza nel nuovo ambito.

Gli unici libri che mi sento veramente di consigliarti sono i Santi Graal dei design pattern, come ad esempio "Design Patterns" di Erich Gamma et al del 1994, che tiene duro come una roccia.

Per il resto ti chiederai come dimostrare che sai sviluppare? Benissimo, apriti un account di github e comincia a realizzare piccole librerie opensource. Io ho fatto così.

Ti chiederai cosa puoi sviluppare? Dipende da cosa vuoi fare. Io ho cominciato come "full-stack" e mi sono successivamente specializzato nel backend (anche se non ho mai abbandonato il frontend). Ti consiglio di guardare un po' entrambe le parti, per poi scegliere cosa preferisci. Ci sono tantissime cose che puoi sviluppare, non devono essere per forza creative. Possono essere addirittura copie di altri progetti opensource: prima li leggi, li comprendi e quindi li rifai, non è importante, non è un progetto che andrai a vendere. Concentrati su cose piccole.

Per cominciare puoi realizzare un piccolo server API (RPC?) con Symfony per cominciare (no frontend, solo backend per semplificare il tutto). Una traccia potrebbe essere "un server RPC che dati in input un numero illimitato di argomenti, ti faccia la somma degli stessi". Così ti impari anche il JSON in uscita. Ti piace un videogioco in particolare? Vedi se esistano delle API e realizza un software in PHP che le interroga ed estrapola le informazioni, analizzale e genera delle statistiche... questo puoi farlo tanto in linguaggio backend (PHP, golang, etc), tanto in linguaggio frontend (JS).

Poi ovvio, ora sei un junior e non possono pretendere da te che sviluppi una soluzione per la NASA, ma già avere 3-4 progetti all'attivo è molto, molto più appetibile per un datore di lavoro rispetto ad un'asettica laurea (che se posso dire non ti prepara al mondo del lavoro (senza sputare in faccia alle università ovviamente!)).
 
Onestamente quasi tutti i libri che ho mai comprato sulla programmazione li ho letti in modo molto annoiato e li ho messi sugli scaffali, immacolati. Sono fatto così, preferisco "sporcarmi" le mani e vedere cosa mi serve per realizzare qualcosa, e piano piano acquisire sicurezza nel nuovo ambito.

Gli unici libri che mi sento veramente di consigliarti sono i Santi Graal dei design pattern, come ad esempio "Design Patterns" di Erich Gamma et al del 1994, che tiene duro come una roccia.

Per il resto ti chiederai come dimostrare che sai sviluppare? Benissimo, apriti un account di github e comincia a realizzare piccole librerie opensource. Io ho fatto così.

Ti chiederai cosa puoi sviluppare? Dipende da cosa vuoi fare. Io ho cominciato come "full-stack" e mi sono successivamente specializzato nel backend (anche se non ho mai abbandonato il frontend). Ti consiglio di guardare un po' entrambe le parti, per poi scegliere cosa preferisci. Ci sono tantissime cose che puoi sviluppare, non devono essere per forza creative. Possono essere addirittura copie di altri progetti opensource: prima li leggi, li comprendi e quindi li rifai, non è importante, non è un progetto che andrai a vendere. Concentrati su cose piccole.

Per cominciare puoi realizzare un piccolo server API (RPC?) con Symfony per cominciare (no frontend, solo backend per semplificare il tutto). Una traccia potrebbe essere "un server RPC che dati in input un numero illimitato di argomenti, ti faccia la somma degli stessi". Così ti impari anche il JSON in uscita. Ti piace un videogioco in particolare? Vedi se esistano delle API e realizza un software in PHP che le interroga ed estrapola le informazioni, analizzale e genera delle statistiche... questo puoi farlo tanto in linguaggio backend (PHP, golang, etc), tanto in linguaggio frontend (JS).

Poi ovvio, ora sei un junior e non possono pretendere da te che sviluppi una soluzione per la NASA, ma già avere 3-4 progetti all'attivo è molto, molto più appetibile per un datore di lavoro rispetto ad un'asettica laurea (che se posso dire non ti prepara al mondo del lavoro (senza sputare in faccia alle università ovviamente!)).

Grazie mille per la risposta, sappi che comunque non ho basi per quanto riguarda la programmazione, o almeno so solo come inserire un background in HTML o smanettare con i fogli di stile CSS. Tutto quì. Ho delle guide in PDF su Python e Java. Con che linguaggio mi consigli di iniziare? E' comunque una professione che mi piace, ma come detto tu, i libri annoiano.
 
Per cominciare? Sono sempre stato dell'idea che "ne conosci uno, li conosci tutti" (almeno dello stesso tipo i.e. ad oggetti, funzionale etc). Quello che cambia è la libreria standard.

Ti direi con tutto il cuore di impararti golang, ma sarà dura trovare lavoro con quel linguaggio di base (poca richiesta). Nel mondo del web-backend hai, almeno in Italia, fondamentalmente due opzioni:

1. PHP
2. C#

PHP è il sempreverde, la fa da padrone nell'ambito delle piccole e medie imprese, linguaggio col quale puoi arrivare tranquillamente a gestire flussi di big data (quindi assolutamente di primissimo livello). C# viene utilizzato più nel mondo Microsoft-centrico (oserei dire retaggio delle grosse aziende del passato), anche se sta rivivendo una seconda gioventù grazie all'avvicinamento all'opensource della casa madre (solo di recente è stato reso possibile nativamente eseguire codice in C# su Linux, così come MS SQL server ed un editor cross-platform: Visual Studio Code).

Sono entrambi linguagi orientati agli oggetti di alto livello (inteso come livello di astrazione), "funzionano" bene entrambi. Onestamente preferisco PHP perché così a pelle mi lascia molte più libertà (dalle librerie alla community).

Python se ne sta sempre lì, considerato da molti "il linguaggio per bambini" per la (supposta) semplicità d'utilizzo (personalmente non mi piace per tanti aspetti). Java è un'opzione, ma non va per la maggiore quasi da nessuna parte nell'ambito web (certo, ci sono intere aziende che sviluppano in Java, ma il mercato del lavoro non ne è così pieno).

JavaScript (o ECMAScript) su Node.js ha destato un po' la gente quando è uscito, ma sulla lunga distanza ha perso terreno per via delle performance comparabili o peggiori a linguaggi più rodati, come il sopracitato PHP (specie con le release 7.x) - c'è qualche offerta di lavoro, ma come prima rappresentano solo una nicchia di mercato.

Per il frontend ti consiglio di imparare il più velocemente possibile ECMAScript 6, esistono sempre degli strumenti che sono in grado di "trasformarlo" in JavaScript più compatibile (anche se onestamente più del 90% del linguaggio e relative funzioni sono ora supportate dalla maggior parte dei browser: https://kangax.github.io/compat-table/es6/ ). In un futuro prossimo terrei sott'occhio il web assembly, il quale lo puoi scrivere in (virtualmente) qualsiasi linguaggio compilato (C, C++, golang etc).
 
Per cominciare? Sono sempre stato dell'idea che "ne conosci uno, li conosci tutti" (almeno dello stesso tipo i.e. ad oggetti, funzionale etc). Quello che cambia è la libreria standard.

Ti direi con tutto il cuore di impararti golang, ma sarà dura trovare lavoro con quel linguaggio di base (poca richiesta). Nel mondo del web-backend hai, almeno in Italia, fondamentalmente due opzioni:

1. PHP
2. C#

PHP è il sempreverde, la fa da padrone nell'ambito delle piccole e medie imprese, linguaggio col quale puoi arrivare tranquillamente a gestire flussi di big data (quindi assolutamente di primissimo livello). C# viene utilizzato più nel mondo Microsoft-centrico (oserei dire retaggio delle grosse aziende del passato), anche se sta rivivendo una seconda gioventù grazie all'avvicinamento all'opensource della casa madre (solo di recente è stato reso possibile nativamente eseguire codice in C# su Linux, così come MS SQL server ed un editor cross-platform: Visual Studio Code).

Sono entrambi linguagi orientati agli oggetti di alto livello (inteso come livello di astrazione), "funzionano" bene entrambi. Onestamente preferisco PHP perché così a pelle mi lascia molte più libertà (dalle librerie alla community).

Python se ne sta sempre lì, considerato da molti "il linguaggio per bambini" per la (supposta) semplicità d'utilizzo (personalmente non mi piace per tanti aspetti). Java è un'opzione, ma non va per la maggiore quasi da nessuna parte nell'ambito web (certo, ci sono intere aziende che sviluppano in Java, ma il mercato del lavoro non ne è così pieno).

JavaScript (o ECMAScript) su Node.js ha destato un po' la gente quando è uscito, ma sulla lunga distanza ha perso terreno per via delle performance comparabili o peggiori a linguaggi più rodati, come il sopracitato PHP (specie con le release 7.x) - c'è qualche offerta di lavoro, ma come prima rappresentano solo una nicchia di mercato.

Per il frontend ti consiglio di imparare il più velocemente possibile ECMAScript 6, esistono sempre degli strumenti che sono in grado di "trasformarlo" in JavaScript più compatibile (anche se onestamente più del 90% del linguaggio e relative funzioni sono ora supportate dalla maggior parte dei browser: https://kangax.github.io/compat-table/es6/ ). In un futuro prossimo terrei sott'occhio il web assembly, il quale lo puoi scrivere in (virtualmente) qualsiasi linguaggio compilato (C, C++, golang etc).

Se iniziassi dal Python? Mi ispira molto e come detto tu "per bambini" sicuramente mi verrebbe meglio da conoscere non avendo basi. Magari, successivamente, passerei a PHP che mi ispira molto anch'esso.
 
Puoi fare come preferisci :) - ma non ti lasciar spaventare dagli altri linguaggi: non sono difficili, anzi! Posso dirti che il 90% della difficoltà nello sviluppare prescinde il linguaggio: si chiama pulizia del codice... ma a quello ci arrivi solo col tempo. In PHP devi avere il concetto di classe, interfaccia, istanza (oggetto) e quindi studiarti un po' le funzioni di base (google rende le cose molto semplici, ad esempio ""print line php" trovi subito php.net pronto ad aiutarti con echo).

Posso solo dirti che se vuoi imparare un linguaggio "di training" ti suggerisco allora di provare go: potente come il c, moderno e 'slim' da scrivere (per quello ti consiglio Atom + il plugin goplus e sei già a posto). -> https://tour.golang.org/welcome/1
 
Lascia stare quei corsi online. Io ho seguito corsi di Udemi che almeno non hanno la pretesa di darti nessun "certificato" o diploma. Vanno bene se si hanno particolare bisogni di approfondire qualcosa, e la loro qualità dipende dalla bravura dell'insegnante. E non sono costosi per nulla. Ce ne sono alcuni introduttivi su Python che sono decenti.

Detto questo, ti devo dare un avvertimento. Le aziende cercheranno sempre di assumere prima personale qulificato, ossia o con un diploma o con una laurea in informatics o affini. Quindi per te sarà più difficile in quanto devi dimostrare che ne sai almeno quanto loro. Il che significa studiare e studiare. Non che sia impossibile, ma è difficile.

Per cominciare lascia stare i linguaggi più usati o più richiesti. Devi iniziare con qualcosa di affordabile che sia anche semplice da imparare. Python è uno di quelli, anche se negli ambienti di lavoro è usato principalmente per script e non come vero linguaggio di programmazione. È gratuito, gira su tutti i sistemi operativi, esiste tantissima documentazione. Ce ne sono due versioni, ti consiglio l'ultima (Python 3) che ha molti miglioramenti rispetto a Python 2, così tanti infatti che ormai i due linguaggi non sono più compatibili.

PS, backend, frontend e middleware sono "buzzwords" molto comuni nel settore, si riferiscono a diversi settori di programmazione ma NON sono l'unica divisione possibile. Front end sono i programmi che stanno "in fronte" all'utente, per esempio le interfacce grafiche. Back end è quello che sta "dietro", per esempio un driver o un servizio. Middleware è tutto quello che sta in mezzo tra loro, sono in pratica librerie che permettono ai due di comunicare tra loro, per esempio quando non sia possibile farlo direttamente. È una classificazione arbitraria che agli inizi puoi tranquillamente ignorare.
 
Mmmmm "middleware" non vuol dire una libreria che sta tra backend e frontend... quelli si chiamerebbero bridge (eventualmente). Middleware, tecnicamente, è un codice che interagisce sì tra due punti diversi del flusso di elaborazione, ma solitamente sono backend-backend o frontend-frontend (es. arriva una richiesta e, prima di elaborarla, un middleware la legge e fornisce un oggetto piuttosto che una stringa al codice successivo).
 
Mmmmm "middleware" non vuol dire una libreria che sta tra backend e frontend... quelli si chiamerebbero bridge (eventualmente). Middleware, tecnicamente, è un codice che interagisce sì tra due punti diversi del flusso di elaborazione, ma solitamente sono backend-backend o frontend-frontend (es. arriva una richiesta e, prima di elaborarla, un middleware la legge e fornisce un oggetto piuttosto che una stringa al codice successivo).
Ho provato a essere piu' conciso possibile, senza confondere troppo. Come ho detto, sono termini "buzzwords" che dicono tanto e che non dicono niente. Vaporware? :)
 
Pubblicità
Pubblicità
Indietro
Top