[C++] Progetti ed opportunità di lavoro
Ciao a tutti. Praticamente, come alcuni di voi mi conoscono, sono uno studente di ingegneria delle tlc, al 2 anno di corsi, e da qualche settimana ho iniziato a studiare il C++, e leggere codice di alcuni progetti su internet, solo che adesso quello che imparato dovrei ovviamente metterlo in pratica
Quello che volevo chiedervi è : considerando che molte aziende, al momento delle assunzioni richiedono esperienza precedente nel lavoro, ed uno o più progetti individuali magari potrebbero essere sempre ben visti da loro, quale cateogria di progetti mi consigliereste di fare, ossia qual è, in base alle vostre esperienze, quello che maggiormente può interessare alle aziende che operano col c++ ? Io avevo pensato ad un qualcosa tra :
Applicazioni riguardanti il web
App, o giochi per cellulari
Database ( ad esempio software bancario)
sviluppo sistemi operativi ( So che non è una cosa molto intelligente scriverli in c++, ma se non sbaglio grosse parti di codice sono in questo linguaggio)
Programmazione embedded (DSP, FPGA, anche se qui credo che regni il C)
Ovviamente, non so quale tra questi settori, potrebbe darmi più possibilità....
Inoltre, sono interessato, in un futuro, a lavorare con la programmazione di microcontrollori, come i DSP..qual'è il mercato del lavoro al riguardo? Grazie in anticipo per le risposte

Quello che volevo chiedervi è : considerando che molte aziende, al momento delle assunzioni richiedono esperienza precedente nel lavoro, ed uno o più progetti individuali magari potrebbero essere sempre ben visti da loro, quale cateogria di progetti mi consigliereste di fare, ossia qual è, in base alle vostre esperienze, quello che maggiormente può interessare alle aziende che operano col c++ ? Io avevo pensato ad un qualcosa tra :
Applicazioni riguardanti il web
App, o giochi per cellulari
Database ( ad esempio software bancario)
sviluppo sistemi operativi ( So che non è una cosa molto intelligente scriverli in c++, ma se non sbaglio grosse parti di codice sono in questo linguaggio)
Programmazione embedded (DSP, FPGA, anche se qui credo che regni il C)
Ovviamente, non so quale tra questi settori, potrebbe darmi più possibilità....
Inoltre, sono interessato, in un futuro, a lavorare con la programmazione di microcontrollori, come i DSP..qual'è il mercato del lavoro al riguardo? Grazie in anticipo per le risposte

Risposte
Qualcuno?
Sembra la continuazione della discussione che avevi aperto un mesetto fa
Sicuramente con web, app e database vai alla grande: in italia vanno molto.
Sistemi operativi: a meno che ti assuma microsoft.. non so quale azienda pagherebbe un team per sviluppare un proprio sistema operativo. Senza contare che le parti il c++ saranno infinitesimali rispetto al complesso.
Programmazione embedded: impara il C!

Sicuramente con web, app e database vai alla grande: in italia vanno molto.
Sistemi operativi: a meno che ti assuma microsoft.. non so quale azienda pagherebbe un team per sviluppare un proprio sistema operativo. Senza contare che le parti il c++ saranno infinitesimali rispetto al complesso.
Programmazione embedded: impara il C!
Diciamo di si...anche se prima ero indeciso sul C e sul C++..poi ho scelto di studiare il C++ per le opportunità che offre 
Comunque tu dicevi web, ed app e database...Non sarebbe più un "terreno" per programmatori Java/PHP/SQL anziche C++, oppure viene utilizzato anche in quell'ambito?

Comunque tu dicevi web, ed app e database...Non sarebbe più un "terreno" per programmatori Java/PHP/SQL anziche C++, oppure viene utilizzato anche in quell'ambito?
Decisamente Javascript/PHP/SQL come dici tu!
A mio avviso dovresti entrare nell'ottica che tu non vieni assunto da qualcuno perchè "conosci un linguaggio", bensì perchè hai attitudine alla risoluzione di problemi e chiaramente perchè il linguaggio che vai poi ad usare non è un ostacolo.
Non penso che il tuo biglietto da visita debba essere "sono esperto di c++": avrai una laurea nel settore informatico e questo va ben oltre saper programmare.. La risposta alla domanda "sa programmare in COBOL?" dovrebbe essere "non ho problemi a impararlo!".
A mio avviso dovresti entrare nell'ottica che tu non vieni assunto da qualcuno perchè "conosci un linguaggio", bensì perchè hai attitudine alla risoluzione di problemi e chiaramente perchè il linguaggio che vai poi ad usare non è un ostacolo.
Non penso che il tuo biglietto da visita debba essere "sono esperto di c++": avrai una laurea nel settore informatico e questo va ben oltre saper programmare.. La risposta alla domanda "sa programmare in COBOL?" dovrebbe essere "non ho problemi a impararlo!".
"Cronovirus":
Sembra la continuazione della discussione che avevi aperto un mesetto fa![]()
Sicuramente con web, app e database vai alla grande: in italia vanno molto.
Sistemi operativi: a meno che ti assuma microsoft.. non so quale azienda pagherebbe un team per sviluppare un proprio sistema operativo. Senza contare che le parti il c++ saranno infinitesimali rispetto al complesso.
Programmazione embedded: impara il C!
Kernel a parte, windows contiene ampie parti in C++. Apple ha varie parti di OSX scritte in Objective C. Sinceramente non direi che siano infinitesime. Il C è preponderante su linux, ma altrove c'è più varietà.
"Cronovirus":
Decisamente Javascript/PHP/SQL come dici tu!
A mio avviso dovresti entrare nell'ottica che tu non vieni assunto da qualcuno perchè "conosci un linguaggio", bensì perchè hai attitudine alla risoluzione di problemi e chiaramente perchè il linguaggio che vai poi ad usare non è un ostacolo.
Non penso che il tuo biglietto da visita debba essere "sono esperto di c++": avrai una laurea nel settore informatico e questo va ben oltre saper programmare.. La risposta alla domanda "sa programmare in COBOL?" dovrebbe essere "non ho problemi a impararlo!".
Si, quello è ovvio

Ciao Nikola_Tesla 
In realtà nessuno ti vieta di imparare sia il C che il C++ per poterli poi utilizzare alla bisogna (magari cominciando prima dal C a mio avviso).

In realtà nessuno ti vieta di imparare sia il C che il C++ per poterli poi utilizzare alla bisogna (magari cominciando prima dal C a mio avviso).
È anche vero
Comunque era più per chiedere in quali settori, solitamente, lavorano i programmatori C++ o C, ossia dove è più facile che vengano assunti, rispetto ad un programmatore ad esempio, java.

"Cronovirus":
A mio avviso dovresti entrare nell'ottica che tu non vieni assunto da qualcuno perchè "conosci un linguaggio", bensì perchè hai attitudine alla risoluzione di problemi e chiaramente perchè il linguaggio che vai poi ad usare non è un ostacolo.
Non penso che il tuo biglietto da visita debba essere "sono esperto di c++": avrai una laurea nel settore informatico e questo va ben oltre saper programmare.. La risposta alla domanda "sa programmare in COBOL?" dovrebbe essere "non ho problemi a impararlo!".
Mah… Insomma… Presso alcune grosse aziende ci sono programmi di training che durano mesi in cui puoi effettivamente partire da zero, ma in molti casi ti risponderanno "Ok, torna quando l'avrai imparato, intanto avanti il prossimo che sa programmare in COBOL". Imparare un linguaggio nuovo è ovviamente fattibile, ma ci vuole comunque del tempo, che spesso non c'è se l'azienda ti vuole inserire in un progetto (già ci vorrà del tempo per prendere familiarità con la code base, figurati se non riesci nemmeno a leggerla).
@Nikola_Tesla
Se vuoi lavorare con i microcontrollori trova qualche progettino sui microcontrollori. Non sono esattamente esperto in questo campo, ma qualcosa con Arduino? Ci sono veramente molte risorse e progetti interessanti.
Comunque non fossilizzarti troppo, cerca di spaziare anche con qualcosa di diverso. Applicazioni web, app per smartphone, qualsiasi altra cosa.
Con arduino in effetti non sarebbe una cattiva idea
E per quanto riguarda il web invece? Da qurllo che posso immaginare è dominato da Java e PHP ( che non mi interessano molto dal momento chr voglio fare esperienza col c++). Quanto è usato il c++ in questo settore?

"Nikola_Tesla":
E per quanto riguarda il web invece? Da qurllo che posso immaginare è dominato da Java e PHP ( che non mi interessano molto dal momento chr voglio fare esperienza col c++). Quanto è usato il c++ in questo settore?
Zero.
"vict85":
[quote="Cronovirus"]Sembra la continuazione della discussione che avevi aperto un mesetto fa![]()
Sicuramente con web, app e database vai alla grande: in italia vanno molto.
Sistemi operativi: a meno che ti assuma microsoft.. non so quale azienda pagherebbe un team per sviluppare un proprio sistema operativo. Senza contare che le parti il c++ saranno infinitesimali rispetto al complesso.
Programmazione embedded: impara il C!
Kernel a parte, windows contiene ampie parti in C++. Apple ha varie parti di OSX scritte in Objective C. Sinceramente non direi che siano infinitesime. Il C è preponderante su linux, ma altrove c'è più varietà.[/quote]
Wow! hai accesso al codice di windows e OSX?
"claudio86":
[quote="Cronovirus"]A mio avviso dovresti entrare nell'ottica che tu non vieni assunto da qualcuno perchè "conosci un linguaggio", bensì perchè hai attitudine alla risoluzione di problemi e chiaramente perchè il linguaggio che vai poi ad usare non è un ostacolo.
Non penso che il tuo biglietto da visita debba essere "sono esperto di c++": avrai una laurea nel settore informatico e questo va ben oltre saper programmare.. La risposta alla domanda "sa programmare in COBOL?" dovrebbe essere "non ho problemi a impararlo!".
Mah… Insomma… Presso alcune grosse aziende ci sono programmi di training che durano mesi in cui puoi effettivamente partire da zero, ma in molti casi ti risponderanno "Ok, torna quando l'avrai imparato, intanto avanti il prossimo che sa programmare in COBOL". Imparare un linguaggio nuovo è ovviamente fattibile, ma ci vuole comunque del tempo, che spesso non c'è se l'azienda ti vuole inserire in un progetto (già ci vorrà del tempo per prendere familiarità con la code base, figurati se non riesci nemmeno a leggerla).
[/quote]
In effetti ho sbagliato a stare sul generale: certamente se la sua aspirazione è quella di partecipare per qualche mese con contratti a progetto indubbiamente si dovrà presentare così.
"Cronovirus":
[quote="vict85"]Kernel a parte, windows contiene ampie parti in C++. Apple ha varie parti di OSX scritte in Objective C. Sinceramente non direi che siano infinitesime. Il C è preponderante su linux, ma altrove c'è più varietà.
Wow! hai accesso al codice di windows e OSX?[/quote]
Non c'è bisogno, sono alla Microsoft così gentili da rispondere se glielo chiedi.
"Cronovirus":
In effetti ho sbagliato a stare sul generale: certamente se la sua aspirazione è quella di partecipare per qualche mese con contratti a progetto indubbiamente si dovrà presentare così.
L'ultima azienda che mi ha assunto mi ha offerto direttamente un contratto indeterminato, se non avessi già avuto esperienza con C++ non mi avrebbero nemmeno risposto. Quella prima determinato da un anno, stesso discorso ma con Java. Entrambe erano per posizioni Junior, senza esperienza lavorativa, l'unica esperienza che avevo era accademica e progettini personali.
Il punto è che ci sono tante aziende serie che hanno bisogno di qualcuno che conosce già C++ (Java, C#, Python...) perché vogliono inserirlo subito sul progetto. A loro non basta la capacità di impararlo in poco tempo (settimane, mesi?). Magari non cercano un esperto, ma almeno qualcuno che riesca a orientarsi dentro la loro code base.
Di cosa si occupa l' Azienda in cui lavori, Claudio? Se posso chiedere 
È programmazione embedded, software gestionale, ecc.

È programmazione embedded, software gestionale, ecc.
"Nikola_Tesla":
Di cosa si occupa l' Azienda in cui lavori, Claudio? Se posso chiedere
È programmazione embedded, software gestionale, ecc.
Lavoravo come consulente presso Amadeus. È una grande azienda che si occupa di tutto quello che c'è dietro alla gestione dei voli di linea. Magari conosci questo sito, comunque moltissime compagnie aeree usano i loro sistemi per le prenotazioni sui loro siti.
In particolare lavoravo sulla ricerca delle rotte, cioè quella parte che date una città di origine e una di destinazione trova tutti i possibili itinerari di volo, con o senza tappe intermedie. Era un progetto in C++ bello grosso.
Ha sede vicino a Nizza, il posto è davvero bello. È un po' difficile entrare direttamente, infatti io lavoravo come consulente, però era una buona sistemazione.
Adesso però ho lasciato, e ho iniziato un dottorato proprio questo lunedì. Probabilmente lavorerò più in Python, ma mi hanno anticipato che potrei vedere anche Java e Go (questo non l'ho davvero mai usato, ma in questo caso mi hanno esplicitamente detto che mi hanno preso per le mie potenzialità, e non per quello che già conosco

"claudio86":
[quote="Nikola_Tesla"]Di cosa si occupa l' Azienda in cui lavori, Claudio? Se posso chiedere
È programmazione embedded, software gestionale, ecc.
Lavoravo come consulente presso Amadeus. È una grande azienda che si occupa di tutto quello che c'è dietro alla gestione dei voli di linea. Magari conosci questo sito, comunque moltissime compagnie aeree usano i loro sistemi per le prenotazioni sui loro siti.
In particolare lavoravo sulla ricerca delle rotte, cioè quella parte che date una città di origine e una di destinazione trova tutti i possibili itinerari di volo, con o senza tappe intermedie. Era un progetto in C++ bello grosso.
Ha sede vicino a Nizza, il posto è davvero bello. È un po' difficile entrare direttamente, infatti io lavoravo come consulente, però era una buona sistemazione.
Adesso però ho lasciato, e ho iniziato un dottorato proprio questo lunedì. Probabilmente lavorerò più in Python, ma mi hanno anticipato che potrei vedere anche Java e Go (questo non l'ho davvero mai usato, ma in questo caso mi hanno esplicitamente detto che mi hanno preso per le mie potenzialità, e non per quello che già conosco

Complimenti! Il c++ lo conoscerai alla perfezione ormai.. Posso chiederti come mai hai deciso di fare il dottorato?
"Cronovirus":
Complimenti! Il c++ lo conoscerai alla perfezione ormai.. Posso chiederti come mai hai deciso di fare il dottorato?
Il C++ è un linguaggio eccezionalmente complesso, ci sono ben poche persone che possono dire di conoscerlo alla perfezione

Proprio per questo però nella maggior parte dei progetti si usano subset del linguaggio, es. uso dei template solo per contenitori, niente eccezioni, limitarsi al C++98…
La ricerca è sempre stato il mio obiettivo e credo la mia strada, dopo qualche anno di lavoro in azienda finalmente ho trovato l'occasione giusta per un dottorato.
ragazzi, inanzitutto grazie ancora per la disponibilità...praticamente ho cercato un po di annunci delle aziende, in merito alla programmazione C++, ed ho notato che la maggior parte richiedono abilità come programmazione generica (programmazione software in ambito windows/linux) oppure embedded (il settore a cui, in un certo senso, sono interessato, dal momento che vorrei programmare DSP e robe simili un giorno). Quindi una buona idea per un progetto potrebbe essere un qualcosa su Arduino o Raspberry PI ( che dovrò comprare), e che magari utilizzi altre caratteristiche un pò più vicine alla programmazione software , come interfaccia grafica, o gestione di una rete, in modo da unire la progammazione embedded, e quella relativa al tipo di software più comunemente conosciuto

Seguire il mercato non è necessariamente la migliore strada da intraprendere quando si cerca lavoro. Ci saranno infatti tantissimi altri che cercheranno di imparare quelle stesse tecnologie, linguaggi.. Avrai quindi un sacco di concorrenza e, a meno di non avere qualche cosa che ti distingua dalla massa, sarai sempre e solo uno dei tanti. Al contrario, seguire una strada meno battuta, per cui ci sono probabilmente poche offerte, può essere una soluzione vincente.
Io credo si debbano seguire i propri interessi e le proprie ambizioni. Fai qualcosa che ti piaccia e che ti diverta. Avrai tutta una vita per programmare software "imposti" dall'esterno. Un progetto personale dovrebbe prima di tutto essere qualcosa che fai per te stesso, per migliorare come programmatore e mostrare quello che sei in grado di fare. Dovrebbe essere qualcosa che fai per passione e non come lavoro. Che cosa ti ha spinto verso il mondo della programmazione? Che cosa vorresti creare "da grande"? Quali sono le tue ambizioni?
Io credo si debbano seguire i propri interessi e le proprie ambizioni. Fai qualcosa che ti piaccia e che ti diverta. Avrai tutta una vita per programmare software "imposti" dall'esterno. Un progetto personale dovrebbe prima di tutto essere qualcosa che fai per te stesso, per migliorare come programmatore e mostrare quello che sei in grado di fare. Dovrebbe essere qualcosa che fai per passione e non come lavoro. Che cosa ti ha spinto verso il mondo della programmazione? Che cosa vorresti creare "da grande"? Quali sono le tue ambizioni?