Imparare le Basi Trovare Lavoro Sviluppare un Programma
Esistono due campi di base di sviluppo: Sviluppo di Applicazioni e Sviluppo di Sistemi. Lo sviluppo di applicazioni si concentra sulla creazione di programmi che soddisfano le necessità dell'utente. Possono variare dalle applicazioni per telefoni cellulari ai videogiochi di alto livello, ai programmi contabili per le imprese. Lo sviluppo di sistemi si concentra sulla creazione e il mantenimento dei sistemi operativi. Questo sviluppo spesso si occupa di operabilità delle reti e sicurezza dei dati. Chiunque può avere un'idea, ma uno sviluppatore sarà in grado di trasformare queste idee in qualcosa di concreto. Anche se vuoi solamente lavorare sugli aspetti di progettazione del software, dovresti avere una buona familiarità con la programmazione ed essere in grado di creare prototipi di base. Esistono moltissimi programmi che puoi imparare da solo. Alcuni dei più utili e dei più importanti includono:  C - C è uno dei linguaggi più vecchi ancora in uso, ed è la base per quasi tutti gli altri programmi di questa lista. C viene usato per sviluppare programmi di basso livello, e lavora a stretto contatto con l'hardware del computer. C++ - Questa è la versione orientata a oggetti di C, ed è il linguaggio di programmazione più usato del mondo. Programmi come Chrome, Firefox, Photoshop e molti altri sono scritti in C++. Si tratta inoltre di un linguaggio molto usato per i videogiochi. Gli sviluppatori di C++ sono sempre molto richiesti. Java - Si tratta di un'evoluzione del linguaggio C++ e viene usato grazie alla sua portabilità. Quasi tutti i sistemi possono eseguire una macchina virtuale Java, e di conseguenza dei software in Java. E' molto usato per i videogiochi e dalle aziende, e spesso è consigliato come linguaggio essenziale. C# è un linguaggio basato su Windows che fa parte del .NET framework di Microsoft. E' molto simile a Java e C++, e se imparerai uno di questi linguaggi la transizione a C# sarà veloce. Questo linguaggio è particolarmente utile per gli sviluppatori che lavorano con Windows o Windows Phone. Objective-C - Si tratta di un altro cugino del linguaggio C pensato specificamente per i sistemi Apple. E' molto usato per le applicazioni per iPhone e iPad. E' un ottimo linguaggio da conoscere se sei uno sviluppatore indipendente. Python - Si tratta di un linguaggio facilissimo da imparare. Python è utilizzato soprattutto per lo sviluppo web. PHP - questo non è un linguaggio di sviluppo software, ma è fondamentale conoscerlo se ti interessa lo sviluppo web. Gli sviluppatori PHP trovano sempre molto lavoro, anche se non si tratta di un settore remunerativo come lo sviluppo di software. La maggior parte delle librerie hanno intere sezioni dedicate alla programmazione, e esistono migliaia di volumi disponibili su Amazon e altri siti internet. Un testo di programmazione ben scritto sarà probabilmente la tua risorsa migliore, e potrai consultarlo velocemente mentre lavori sui progetti. Oltre ai libri, la rete è una fonte inesauribile di guide e tutorial. Cerca delle guide sul linguaggio che hai scelto su siti come Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools, e molti altri. Anche se non hai bisogno di un titolo di studio per entrare nel settore dello sviluppo software, seguire dei corsi non ti farà certo male. Avrai la possibilità di usufruire di lezioni privati, e ti saranno sottoposti problemi ai quali non avresti pensato se avessi imparato da solo.  Le lezioni costano denaro, perciò assicurati di iscriverti a classi che ti aiuteranno a imparare ciò che vuoi sapere. Anche se molti sviluppatori sono in grado di entrare nell'industria solo sulla base della loro capacità, riuscirai a metterti più in risalto se avrai una laurea in informatica. Un titolo di studio ti darà conoscenze più approfondite e l'accesso a lezioni utili come matematica e logica. Prima di iniziare ad utilizzare le tue capacità di programmazione nel mondo lavorativo, lavora su alcuni progetti per te stesso. Sfidati a risolvere problemi usando dei programmi. Questo ti aiuterà non solo a migliorare le tue capacità, ma anche a espandere il tuo curriculum.  Ad esempio, invece di usare il calendario del computer per ordinare gli appuntamenti, prova a crearne uno tu! Se sei interessato allo sviluppo di videogiochi, lavora su semplici giochi che non si concentrano sulla grafica o su meccaniche complesse. Dai invece importanza all'originalità e al divertimento. Una collezione di piccoli giochi creati da te farà bella figura nel tuo curriculum. Internet è un modo fantastico per mettersi in contatto con altri sviluppatori. Se ti blocchi su uno dei tuoi progetti, chiedi aiuto su siti come StackOverflow. Assicurati di fare domande intelligenti e prova di aver già provato delle soluzioni possibili. Lavora ogni giorno sui tuoi progetti personali, anche solo per un'ora. Questo ti aiuterà a rimanere attivo e a imparare sempre nuove tecniche. Avere a che fare con un linguaggio ogni giorno ti aiuterà a impararlo al meglio. Decidi un'ora del giorno da dedicare alla programmazione, o poniti una scadenza che devi rispettare. Cerca di lavorare sui tuoi progetti ogni giorno durante la settimana, così da poterti rilassare nei weekend. Anche se non pagheranno bene come gli impieghi a tempo pieno e sono meno affidabili, potrai espandere significativamente il tuo curriculum completando una serie di contratti a progetto. Prova siti come Elance o ODesk per trovare lavoro. Anche se può essere difficile trovare un contratto, quando avrai trovato il primo diventerà più facile.  Hacker News è un'ottima risorsa per contratti a progetto e per liberi professionisti. Controlla la sezione "Ask". Anche se puoi essere tentato di chiedere remunerazioni basse per ottenere un contratto, non svalutare i tuoi servizi. Non solo ti ritroverai a lavorare per molto meno di quanto meriti, ma susciterai anche le ire dei tuoi colleghi, e rovinerai i rapporti con loro. Un buon lavoro su un contratto a progetto può in alcuni casi a portare a un impiego a tempo pieno. Parti sempre con il piede giusto! Partecipa a tutte le convention e alle conferenze che puoi. Questo ti permetterà di conoscere nuove soluzioni ai problemi di programmazione e ti aiuterà a incontrare altre persone del settore. Malgrado il pregiudizio che puoi avere sui programmatori, che lavorano da soli nel loro scantinato, la maggior parte dei sviluppatori a tempo pieno lavorano come parte di una squadra e i rapporti di lavoro sono molto importanti anche in questo campo. Quando hai completato alcuni contratti a progetto, puoi iniziare a inviare il tuo curriculum a delle aziende più grandi per trovare un impiego a tempo pieno. Oltre a Monster e Indeed, esistono molti altri siti per il lavoro specifici per gli sviluppatori che dovresti provare, come GitHub Jobs, StackOverflowe Job Board, AngelList, CrunchBoard, Hirelite, e Hacker News. Un buon sviluppatore di software spesso conosce più di un linguaggio. Anche se imparerai molto sul lavoro, usa parte del tuo tempo libero per espandere le tue conoscenze e imparare le basi di un altro linguaggio o due. Questo ti aiuterà a passare a nuovi progetti con più facilità e ti renderà un candidato molto più appetibile. Non tutti i primi impieghi da sviluppatore pagheranno cifre a sei zeri. In effetti, nessuno di essi ti darà un simile compenso. L'aspetto positivo di questo ambiente lavorativo però è che il mercato del lavoro è molto forte. Se pensi di non guadagnare abbastanza, è piuttosto facile trovare una nuova posizione in una nuova compagnia (se hai le capacità). Considera il tuo primo impiego come un'esperienza necessaria invece di concentrarti sul tuo piano pensionistico. Un buon programma esegue un compito che rende la vita più semplice per l'utente. Fai una ricerca sui programmi al momento disponibili per il compito che vuoi svolgere e controlla se esistono dei metodi per rendere il processo più semplice o chiaro. Un programma di successo offre all'utente molta utilità.  Esamina le operazioni che svolgi ogni giorno al computer. C'è un modo in cui potresti rendere automatica una porzione di questi compiti con un programma? Scrivi ogni idea. Anche quelle che ti sembrano sciocche o assurde, perché potrebbero dar vita a qualcosa di utile o geniale. Studia gli altri programmi. Cosa fanno? Come potrebbero essere migliorati? Cosa gli manca? Rispondere a queste domande può aiutarti a trovare delle idee. Questo documento descriverà le caratteristiche e gli obiettivi del tuo progetto. Durante la fase di sviluppo potrai fare riferimento al documento di progetto per non perdere la concentrazione e non deviare dall'idea originale. . Questo sarà il prototipo che mostra le funzionalità che stai cercando di ottenere. Un prototipo è un programma veloce, e dovrebbe essere corretto fino a trovare un design che funziona. Se ad esempio stai creando un programma per un calendario, il tuo prototipo sarà un semplice calendario (con le date corrette!) e un modo per aggiungervi eventi.  Il tuo prototipo cambierà spesso durante il ciclo di sviluppo quando troverai nuovi metodi per affrontare i problemi o penserai a un'idea che vuoi integrare nel programma. Il prototipo non deve essere curato graficamente In effetti la grafica e il design dovrebbero essere una delle ultime cose su cui concentrarti. Usando nuovamente l'esempio del calendario, il tuo prototipo dovrebbe essere costituito solo da testo. I bug sono la rovina di ogni sviluppatore. Gli errori nel codice e gli utilizzi inaspettati possono provocare moltissimi problemi nel prodotto finito. Mentre continui a lavorare sul tuo prototipo, testalo il più possibile. Fai tutto quello che puoi per trovare gli errori del programma e poi cerca di evitare che si creino degli errori in futuro. Fai provare il programma ad amici e familiari e chiedigli di informarti su ciò che hanno scoperto. Tutti i commenti ti aiuteranno nel processo di sviluppo.  Prova a inserire date strane se il tuo programma lavora con le date. Delle date molto vecchie o nel futuro lontano possono provocare reazioni strane nel programma. Inserisci i tipi di variabili errati. Ad esempio, se hai un modello che richiede l'età dell'utente, inserisci invece una parola e guarda cosa accade al programma. Se il tuo programma ha un'interfaccia grafica, fai click su tutto. Cosa accade quando torni a uno schermata precedente, o fai click sui pulsanti nell'ordine sbagliato? Anche se per un prototipo e per la fase di sviluppo basta un progetto approssimativo, se vuoi che altri utenti lo utilizzino dovrai dedicare del tempo alla sua rifinitura. Questo significa assicurarsi che i menu siano collegati logicamente, che l'interfaccia utente sia pulita e facile da usare, che non ci siano bug evidenti o critici, e che la grafica sia ben curata.  La progettazione dell'interfaccia può essere molto difficile e complessa. Esistono professionisti che si dedicano solo a questo aspetto della programmazione. Assicurati solo che il tuo progetto personale sia facile da usare e gradevole alla vista. Potrebbe non essere possibile realizzare un'interfaccia professionale senza una notevole spesa e un team di sviluppatori. Se hai il denaro a disposizione, puoi assumere un progettista grafico che realizzi l'interfaccia per te. Se hai creato un ottimo progetto che può diventare un programma di successo, trova un buon designer e fallo entrare nella squadra. GitHub è una comunità open-source che ti permette di condividere il tuo codice con altri. Questo ti permetterà di ricevere suggerimenti sul tuo codice e di aiutare altre persone che stanno cercando soluzioni che tu potresti aver trovato. GitHub è un'ottima risorsa per imparare e per migliorare il tuo curriculum. Quando hai un prodotto finito, puoi decidere se vuoi distribuirlo o meno. Esistono molti modi per farlo, secondo il tipo di programma che hai creato.  Uno dei modi più usati da piccoli team o sviluppatori indipendenti è pubblicare il software su un sito web personale. Assicurati che tutte le caratteristiche del programma siano ben documentate, e includi immagini e guide. Se stai vendendo il tuo programma, assicurati di offrire un sistema di pagamento digitale e di usare un server da cui poterlo distribuire. Se stai sviluppando un software per un dispositivo o un sistema operativo specifici, puoi fare uso di uno dei molti negozi digitali. Se ad esempio stai realizzando un software per un dispositivo Android, puoi vendere la tua applicazione tramite il Google Play Store, l'Amazon App Store, o il tuo sito web personale.
Determina che tipo di sviluppo di software ti interessa. Impara un linguaggio di programmazione. Trova delle risorse che ti aiutino a imparare. Segui dei corsi. Lavora su piccoli progetti. Fai delle domande. Esercitati ogni giorno. Trova dei lavori a progetto. Stringi più rapporti di lavoro possibili. Candidati a un impiego a tempo pieno. Diversifica le tue capacità. Non preoccuparti della paga. Pensa a delle idee. Scrivi un documento di progetto. Crea un prototipo. Continua a testare il programma. Rifinisci i tuoi progetti. Pubblica i tuoi progetti su GitHub. Distribuisci il tuo software.
https://www.wikihow.com/Develop-Software https://www.wikihow.com/Develop-Software https://www.wikihow.com/Develop-Software
Learning the Ropes Getting Work Developing a Program