Risolto Carriera nel mondo database

di il
16 risposte

Risolto Carriera nel mondo database

Buongiorno,

mi chiamo Alberto e ho 28 anni. Scrivo qui per avere delle delucidazioni riguardo alla carriera nel mondo dei database, in particolare vorrei capire qual'è la figura professionale che (almeno in Italia) si occupa della progettazione/creazione delle base di dati. da quanto ho capito il database administrator gestisce e manutene database già pronti mentre io vorrei lavorare più nell'area di progettazione.

A questo scopo sono aperto anche al settore sviluppo web (PHP and MYSQL) purchè non mi ritrovi a fare le stesse cose meccanicamente.

[ho le idee molto confuse al riguardo, sul web si trovano molte informazioni e troppe contraddizioni, per questo vorrei parlare con qualcuno del settore]

Al momento non ho nessuna qualifica in ambito informatico, perciò dovrei cominciare a seguire dei corsi da zero, e qui sorge il mio secondo problema: quale corso è il più completo, nel senso che copre argomenti anche negli altri? Ovvero, per ora ho trovato corsi di 'SQL', 'Oracle' e 'PHP and MYSQL', quindi a parte la parte di PHP che va fatta a sè, uno degli degli altri è più completo e offre panoramiche più generali coprendo gli altri oppure si tratta di cose completamente diverse?

Infine, il certificato necessario: un attestato di partecipazione ad un corso (in aula oppure online) è sufficiente per (almeno entrare nel) il mondo del lavoro (anche come aiuto assistente del nipote del programmatore Junior )?

Grazie dell'attenzione e buona giornata,
Alberto

16 Risposte

  • Re: Risolto Carriera nel mondo database

    Non e' il dba o il db assistant che progetta il database, ma sono le necessita' degli applicativi.
    Qundi lavorare con i db vuol dire fare manutenzione, ed incavolarsi con il programmatore perche' non ha creato gli indici o ha fatto una query che siede il dbms perche' devono essere generate delle tabelle temporanee con dimensione nell'ordine dei terabyte

    Il lavoro interessante e' progettare i dbms, ma per fare questo la laurea (magistrale) non basta

    Visto le attuali competenze, COME MINIMO (e questo e' PROPEDEUTICO per qualunque corso se vuoi minimamente capirci qualcosa e differenziarti dalla massa)DEVI STUDIARE Teoria Relazionale dei Dati.

    Un qualunque testo trovato su Amazon va benissimo.

    Nota: imparare l'SQL NON VUOL DIRE aver capito la TEORIA RELAZIONALE DEI DATI !!

    I passi successivi, sempre propedeutici a qualunque corso, sono:
    1) imparare ad installare e configurare dbms come mysql, oracle, sqlserver: NON SERVE conoscenerne tutti i possibili dettagli, che sono infiniti (decine di migliaia di magine di manuali), ma le cose fondamentali e piu' bsnali certamente. Quali sono? Amazon!

    2) iniziare a prendere dimestichezza con dbms NoSQL: MongoDB, Neo4j, OrientDB, ArangoDB, ...: installazione, configurazione, utilizzo: Amazon

    Con queste miniespetienza fatte sul pc personale puoi affrontare qualunque corso/certificazione

    Per quanto riguarda lo sviluppo Web, servono SERIE competenze di programmazione: le problematiche da affrontare sono decisamente complesse, e gli strumenti da utilizzare adeguatamente complicati!

    Non e' specificatamente robbbbbba per neofiti!
  • Re: Risolto Carriera nel mondo database

    Non sono particolarmente d'accordo, per la domanda posta, a parte per l'ultima affermazione.
    O meglio i concetti ci sono, ma un po'... confusi

    1) PHP/Java/JavaScript/C++/stic..a non ha nulla a che vedere con la progettazione database
    2) SQL-NoSQL: dipende essenzialmente dall'ambito in cui si lavora. Ambito gestionali? SQL. Ambito applicazioni web? SQL. E così via. NoSQL solo per minime, minimissime aree davvero specializzate. In sostanza se ti serve un db NoSQL significa che sai già il perchè
    3) oracle-mysql-sqlserver: non c'entrano nulla, o quasi, con la progettazione database
    4) teoria relazionale? non basta, è "roba" vecchissima, di prima che nascessi, quindi parliamo di una 50ina di anni fa. Ci vuole la versione 2017, non la "solita" menata delle tre forme normali e così via (sempre roba di 50 anni fa). Google o Facebook, per capirci, non esisterebbero (e non potrebbero esistere) secondo queste metodiche.
    5) ovviamente bisogna conoscere perfettamente la teoria relazionale, è l'elemento base. come talvolta spiego però ci vorrebbe la versione 2017. per analogia è come il freno a mano: a scuola guida ti insegnano che serve per fermare l'auto (di stazionamento). e tu devi sapere che questo è l'impiego principale. poi, però, quando fai un corso di rally (o di drift) imparerai che con il freno a mano ci fai... le curve (cosa vietatissima secondo il metodo "scuola guida"). ovviamente, però, se arrivi a livello "pilota" (sia pure amatoriale) devi aver già chiarissimo tutta la versione "scuola guida", prima di avventurarti oltre

    Allora, in concreto, chi progetta i db? La risposta è: dipende da quale azienda stiamo parlando.
    Se parliamo di una miniazienda con 10 dipendenti, la risposta è "il primo che capita", perchè mancheranno le competenze specifiche.
    Se l'azienda ha poniamo 100 dipendenti, la risposta tipica è "uno dei più vecchi", cioè uno dei "programmatori" con più esperienza, che hanno seguito progetti per decenni, e ormai conoscono i pattern e gli antipattern come il palmo delle loro mani

    Per aziende più grandi (che in Italia essenzialmente non esistono, nel senso che praticamente sempre sono il conglomerato di altre sub-aziende o rami, insomma la faccio breve) può esistere qualche figura specializzata, che poi è "uno dei più vecchi",... in formato... ultravecchio

    Perchè tutto questo? Semplice, perchè il db non è un fine, ma un mezzo per ottenere uno scopo.
    Praticamente sempre non si parte con un progetto da zero (parlo in azienda), quasi sempre (per non dire sempre) si parte da una base già fatta (cioè il proprio "bagaglio" di strumenti, programmi eccetera) cui poi verranno apportate delle modifiche più o meno ampie, ed è in questa fase che c'è l' INTEGRAZIONE (nel senso di modifica, ampliamento).
    Quindi LI' ti trovi a dover ragionare con un db già fatto, che ha una sua logica, che devi bene o male seguire.
    E' il caso tipico di una verticalizazzione della diba di un cliente, un qualche metodo strano per valorizzare il magazzino eccetera.

    ---
    Nei rarissimi casi in cui si parte da zero (ma nella mia esperienza l'ho visto solo 2 volte, con risultati disastrosi per la verità) allora - di solito - un miniteam di "vecchi" inizia a fare un po' di brainstorming

    ---
    Riassunto netto: se speri di essere assunto da qualcuno (in Italia) per progettare database tutto il santo giorno, penso che te lo puoi scordare. Ti capiterà, se sei particolarmente esperto, di farlo una o due volte nella vita.
    Poi accadrà invece, più frequentemente, diciamo una volta al mese, di dover aiutare qualche collega con qualche personalizzazione "strana e pesante" dal punto di vista del db.

    Addirittura è più facile (relativamente) trovare impiego (all'estero) come consulente dei db, cioè come modificare un db già fatto per migliorarlo (negli USA i top in questo ambito si fanno pagare $1000 all'ora, e anche più).
    Ma non credo che queste figure esistano (in Italia), o per lo meno non le conosco (ovviamente conosco "quasi" tutto il mercato, ma non di sicuro "tutto").

    Spero di essere stato utile.
  • Re: Risolto Carriera nel mondo database

    Aggiunta: perchè il progettista di database non è ovviamente uno che "sa" la teoria relazionale (e basta) ?
    Perchè deve conoscere e comprendere il dominio applicativo.

    Nel database ci finiranno i dati che poi saranno elaborati da "qualcun altro" per fare "qualcosa".

    Il progettista deve aver ben chiaro "cosa" ci vuoi fare coi dati, cioè in sostanza una sorta di "supercapoprogetto".

    Perchè se non sai qual'è l'obiettivo, o non sei in grado di capirlo (talvolta capita perfino a me, nell'area produzione la fantasia è ai massimi livelli), non servirà a nulla sapere che, in realtà, non ci sono solo 3 forme normali.

    Noto questo, poi ci vuole come detto la versione "2017": è ad esempio tipicamente inutile creare un campo indice che so sul sesso di un'anagrafica (M/F) sperando di migliorare le prestazioni complessive del db.
    Domanda: perchè?
    Nei corsi "normali" ti direbbero: metti un indice e buonanotte (la versione da scuola guida).
    Ma sei in grado di porti il problema: perchè, dato un elenco che so di pazienti che devono fare delle visite, è bene mettere un indice sul sesso, o no? O comunque che ragionamento devo farci, dietro?
  • Re: Risolto Carriera nel mondo database

    Sì la confusione è tanta, come avrete notato. grazie delle risposte. forse ho omesso un dettaglio: negli ultimi anni ho creato dei database in access per conto mio, a scopo autodidatta (così ho un minima infarinatura di SQL e altre cosucce molto simpatiche più o meno utili nel campo). il problema è che access è un software che, detta in maniera becera, "fa tutto lui", ovvero a prescindere dalla correttezza formale qualcosa sputa fuori (a meno che non si sia fatto un disastro totale). Quindi mi manca il controllo completo della situazione.

    dalle vostre risposte capisco che la mia visione del mondo database era completamente errata.
    quello che però non ho ancora capito è: cosa fa esattamente "Uno che lavora con i database" (non ho inserito nomi di professioni per evitare fraintendimenti)?

    e se io volessi seguire dei corsi per diventare "Uno che lavora coi database" da dove partire? da corsi online di 10/20 ore per le basi...ma poi? ovvero come distingure un corso che sia professionalizzante da uno che non lo è?
  • Re: Risolto Carriera nel mondo database

    Ahem...
    Allora c'è questa sorta di "leggenda metropolitana" che chiunque, leggendo 4 cavolate su un forum o facendo un corso online di 10 ore, diventa non so che genere di progettista software.

    In realtà la situazione è simile a quella di qualsiasi professionista: prendi un medico, che so un cardiologo.
    Ritengo che assai difficilmente ti verrebbe in mente di poterlo diventare con un corso online professionalizzante di 20 ore.
    Sai già che ci vorranno una decina di anni di studio, e magari una decina di anni di lavoro, per iniziare a diventare un "bravo" cardiologo dopo 20 anni.

    Per l'informatica la situazione è molto simile: così come non credo che discuteresti con un cardiologo se va presa la medicina X o Y (è solo un esempio), come pensi di poterlo fare per l'informatica ad esempio con uno come me, di livello diciamo primario cardiologo?

    Ci vogliono (si dice) 10.000 ore per diventare un esperto in "qualcosa", fai le tue valutazioni...
  • Re: Risolto Carriera nel mondo database

    Ok ma esisterà un punto da cui partire oppure non c'è più niente da fare?
  • Re: Risolto Carriera nel mondo database

    Partire ... per arrivare dove e quando? Più che altro la domanda è questa. Sei d'accordo che ci vuole tanto studio (di livello universitario) per qualche anno? E poi pratica per qualche altro anno? Ti va bene come "scadenza" ?
  • Re: Risolto Carriera nel mondo database

    Ok quindi sarebbe bene avere una laurea o è possibile trovare corsi non universitari ugualmente validi? Anni pratica fatti dove e come? A casa da solo o x qualche azienda?
  • Re: Risolto Carriera nel mondo database

    All'università si fanno, tipicamente, 2 o 3 esami di basi di dati (e cugini vari), niente di che.
    Ovviamente a casa non puoi imparare nulla dell'ambito lavorativo per i database, perchè ti mancano i clienti e i progetti.

    Se vuoi partire in "autonomia" ti suggerisco di fare la cosa più furba: scaricati le slide dei corsi per principianti di basi di dati, le trovi facilmente nelle varie università.
    Inizia da lì: essendo corsi per dilettanti si parte proprio dalle basi.
    Sfrutta internet e la possibilità di reperire materiale didattico universitario gratis. Scegliendo magari università di livello non pessimo.

    Dopo aver "sorbito" tutto il pacco, ricordando che c'è tutta la questione datamart e chi più ne ha ne metta, bisogna che inizi a scegliere l'ambiente che vuoi conoscere.
    MySQL? MS-SQL? Oracle?
    Dopo partirai quindi per il "mondo" del singolo RDBMS, ovviamente ognuno ha un target diverso.
    Mondo web? => mysql / mariadb
    Mondo aziendale-microsoft? => MS-SQL
    Mondo aziendale di grandi dimensioni => Oracle

    Lascio stare le varie nicchie, per un dilettante è troppo presto.

    A quel punto cerchi di farti assumere come "schiavetto di infimo livello" da una qualche software house di piccole ma non minuscole dimensioni (diciamo >30 dipendenti almeno).
    Dove per un paio d'anni ti farai le ossa su progettini del salumiere.

    A quel punto cercherai lavoro presso un'azienda più grande (diciamo >100), dove arriverai come "schiavetto di medio livello".
    E provi a far carriera.
  • Re: Risolto Carriera nel mondo database

    Quindi per venire al punto, ecco un corso per principianti

  • Re: Risolto Carriera nel mondo database

    Oppure dbdmg.polito.it
    Molti prof cancellano il materiale quando ricomincia il corso e lo ricaricano man mano, quindi ti conviene scaricare le slide che ti interessano entro metà settembre.
  • Re: Risolto Carriera nel mondo database

    Ok ora è più chiaro. Il mio punto è proprio iniziare come 'schiavetto' in questo ambito...poi è chiaro che ci vogliono anni di esperienza ma volevo capire come iniziare.
    Grazie delle risposte.
    Alberto
  • Re: Risolto Carriera nel mondo database

    +m2+ ha scritto:


    Ci vogliono (si dice) 10.000 ore per diventare un esperto in "qualcosa", fai le tue valutazioni...
    Questo lo diceva focus su una sua ricerca per definire "l'inesistenza del talento", ma anni dopo ha smentito la sua stessa ricerca.
    La conosco bene perchè ne fui affascinato (dalla teoria), speravo anche fosse vera, pure i giapponesi hanno un motto che esprime più o meno lo stesso "il duro lavoro batte il talento".

    Però tendo a credere all'ultima ricerca, ovvero un mix dei due elementi, anche se speravo nella prima in quanto creava una sorta di mondo più meritocratico.
  • Re: Risolto Carriera nel mondo database

    TommyB1992 ha scritto:


    +m2+ ha scritto:


    Ci vogliono (si dice) 10.000 ore per diventare un esperto in "qualcosa", fai le tue valutazioni...
    Questo lo diceva focus su una sua ricerca per definire "l'inesistenza del talento", ma anni dopo ha smentito la sua stessa ricerca.
    La conosco bene perchè ne fui affascinato (dalla teoria), speravo anche fosse vera, pure i giapponesi hanno un motto che esprime più o meno lo stesso "il duro lavoro batte il talento".

    Però tendo a credere all'ultima ricerca, ovvero un mix dei due elementi, anche se speravo nella prima in quanto creava una sorta di mondo più meritocratico.
    Un conto è diventare esperto, un conto è diventare un "fuoriclasse".
Devi accedere o registrarti per scrivere nel forum
16 risposte