Newsgroup: it.lavoro.informatica
Titolo: Neolaurato ingegneria informatica: mi date qualche consiglio?

Ciao a tutti, mi chiamo Davide e mi sono laureato da circa un mese in
ingegneria informatica (laurea magistrale) all'università di Bologna.
Ho 28 anni e ho già fatto un'esperienza lavorativa di un paio d'anni
(dal 09/2005 al 12/2007) presso una piccolissima società, in cui ho
sviluppato dei software per autoscuole (in VB6).
Ho già fatto un paio di colloqui: il primo, presso una piccola azienda
che progetta sistemi basati su microcontroller, che è andato a buon
fine. Da quello che ho capito, mi vorrebbero proporre un contratto di
6 mesi; il problema è che quel tipo di lavoro (e soprattutto
l'ambiente) non mi stimola più di tanto...
Il secondo colloquio l'ho fatto presso un'azienda più grande, che si
occupa di consulenza SAP. Ho fatto solo il primo incontro e attendo
che mi chiamino per il secondo. Mi hanno detto che, nel caso andasse
tutto bene, mi farebbero un contratto di apprendistato di 4 anni:
partirei da un 4° livello (CCNL commercio), dopo due anni passerei al
3° e alla fine al 2°. Il primo anno dovrei passarlo ad imparare SAP e
fare assistenza (remota) ai clienti.
 
Se devo essere sincero, la seconda azienda non mi dispiace, anche se
immagino che per i primi anni dovrò stringere la cinghia. Imparare SAP
credo che potrebbe garantirmi buone opportunità anche in futuro,
semmai decidessi di cambiare lavoro.
 
Vi scrivo perché vorrei da voi qualche consiglio spassionato, da chi
c'è già passato prima di me e conosce bene questo settore. Come vi
muovereste al posto mio? C'è qualche azienda di vostra conoscenza in
Abruzzo o in Emilia Romagna che mi consigliate, per mandare un
curriculum?
 
Purtroppo mi rendo conto che il mio curriculum, da neo laureato, non è
molto appetibile: ho buone conoscenze di C, Java (j2se), VHDL e VB6.
Ho una conoscenza base di VB .net e C#. Per la tesi della magistrale
ho sviluppato un'applicazione per Android, per la condivisione di
risorse basato su informazioni di contesto e sociali (utilizzando il
framework Androjena, RDF, SPARQL). Per la tesi triennale invece ho
modificato il web server Apache, per integrare un nuovo sistema per il
controllo dello stato dei certificati.
 
Scusate la lunghezza, ma volevo darvi un quadro completo della mia
situazione.
 
Spero che qualcuno voglia darmi qualche dritta.. vi ringrazio già in
anticipo :)
 
Buona giornata,
Davide

 wrote:
 
In brevissimo e IMVHO:
- SAP mi pare un'ottima cosa
- VB6 è obsoleto quindi dimenticalo (no, davvero: dimenticalo!)
- Java e famiglia e .NET e famiglia sono buoni
 
Unico consiglio: non dare via il cuBo! Non accettare lavoro
sottopagati/sfruttamenti/finte PIVA/finti cocopro!
 
Per il resto: un sincero in bocca al lupo!
 
Un 31enne che a 28 anni lavorava già da 9 :)
 
Al3x

Ti parlo da laureato in informatica (ma sotto facoltà di Scienze Matematiche Fisiche e Naturali) e con varie esperienze alle spalle.
E' chiaro che più cose sai e meglio è, ma in generale conviene scegliersi un settore e specializzarsi.
 
 
I consigli qui sotto sono più per una figura di sviluppatore applicazioni web e sistemista (in parte).
Per il resto spero che anche altre persone del gruppo possano darti una mano :)
 
 
Linguaggi di programmazione:
 
- VB6 -> abbandonalo! (come già detto da Alex)
 
- Java -> diffuso e comodo per sviluppare applicazioni mobile (tipo quelle per Android).  Inoltre puoi farci anche applicazioni web con il JSP.
 
- Python -> ottimo linguaggio per applicazioni web o stand-alone.
Per le applicazioni web usato con il framework Django è formidabile. Molto comodo per la scalabilità dei programmi. (per uso di progetti medio grandi)
 
- Php -> molto diffuso e con molte applicazioni disponibili (per uso di progetti piccoli-medi)
La scalabilità del php non è ottima e se un progetto è iniziato male finisce peggio!
 
- .Net -> su questo non saprei che dirti perchè non ho avuto esperienze a riguardo.
 
Di base comunque sta il fatto di sapere bene le nozioni della programmazione ad oggetti. Dopo di che imparare la sintassi del linguaggio è solo questione di poche settimane al max.
Es. passare dal Java al Php ci metti molto poco. Imparare il Python ancora meno! :)
 
 
Per applicazioni web based è chiaro che sarà necessario anche HTML e CSS.
 
 
DBMS (relazionali)
 
- PostgreSQL
- MySQL 
- SQL Server 
 
Il migliore è il PostgreSQL, ma gli altri due sono diffusi e conoscerli può facilitarti a trovare lavoro.
 
Qui l'importante è sapere bene su come si creano i database relazionali.
Vedere gente che crea quintali di tabelle a raffica senza sapere il perchè e che uso ne faranno mi fa veramente arrabbiare.
 
Ti dico questo perchè per progetti piccoli il problema può sorvolare ma pian piano che cresce espandere un database creato a cavolo è davvero complicata oppure si creano ridondanze davvero mostruose! (ci sono passato purtroppo...)
 
 
Con DBMS ad oggetti non ho avuto esperienze e non saprei aiutarti
 
Webserver:
 
- Apache
- Apache Tomcat
 
Sistemi operativi:
 
- sistemi linux Debian based e figli (ubuntu, linux mint)
  gli hosting lo usano molto spesso e anche io ne faccio uso quotidiano e non mai avuto problemi.
 
- windows server (putroppo è utilizzato e saperlo diventa più una necessità per non farsi escludere)
 
 
 
La lista potrebbe proseguire ma credo che queste siano le caratteristiche minime che si richiedono.
In ogni caso tutto sta nel fatto su cosa ti piace fare (programmatore, sistemista ecc...) e in quale ambiente ti troverai o sei in cerca.
Spero di esserti stato utile!
 
 
Altra cosa: cerca un ambiente (se possibile) dove i colleghi (e soprattutto superiori) siano preparati, altrimenti diventerai esaurito!
Se il tuo capo non capisce la differenza fra una tabella in excel e una tabella del database, allora ti ritroverai a dover risolvere tutte le sue caxxxte che farà! 
Oppure farà richieste assurde del tipo: "creami una applicazione web in 2 settimane e con un hosting a 20 euro l'anno!"

Per prima cosa, vi ringrazio veramente delle risposte che mi avete
dato: mi trovo nella fase in cui qualsiasi consiglio o parola di
conforto veramente mi aiuta!
 
Purtroppo so che l'esperienza in VB6 non sia di molto aiuto al mio
curriculum, come lo sapevo allora..
 
Sto mandando candidature alle aziende, spero che arrivi presto qualche
proposta concreta, che mi permetta di specializzarmi in uno fra
SAP, .NET o J2EE che, come vedo, sono le figure profesionali che vanno
per la maggiore.
 
Credo che all'inizio dovrò accontentarmi, sarà difficile non farmi
prendere per il cuBo :)
 
Grazie ancora delle risposte e dei consigli..
 
Se qualcun altro vuole dire la sua, mi può solo far piacere :)


 
non vorrei fare il guastafeste, ma in questi tempi normalmente 'è il 
destino' che ti specializza.
Mi spiego : se ti offrono un lavoro che ti obbliga ad occuparti di 
databases per sistemi  di ingegneria civile, che fai ? rifiuti il lavoro 
perchè ti piace più occuparti di networking ??
 
E allora va a finire che col tempo si diventa 'esperti' in un campo 
(talvolta nostro malgrado) perchè si rimane in un posto di lavoro 
abbastanza a lungo da diventare 'esperti' in quel campo.
 
Mio figlio è informatico ed è 10 anni che fa il controllore di satelliti.
 
Prego Dio che gli lasci quel lavoro fino all'età della pensione, 
altrimenti non so dove troverà lavoro come controllore di satelliti !!
 
(l'alternativa sará forse solo quella di trovare un pazzo che vuol fare 
il dittatore del mondo, come nei film di James Bond e minaccia tutti con 
una bomba atomica installata su un satellite, e cerca un controllore di 
satelliti).

 altrimenti non so dove troverà lavoro come controllore di satelliti !!
 
Tipica situazione: lavorare in un settore di nicchia generalmente
rende di più (non solo economicamente), ma se devi per qualche motivo
cambiare azienda hai molte meno chances di chi lavora in settori più
affollati.
L'abilità è stare nel giusto mezzo, nè troppo nicchia nè troppo
generico.