Cosa fa effettivamente un ingegnere del software?

Realizziamo idee. Le realizziamo in codice.

È più che risolvere un problema di codifica matematica in un hackathon ed è diverso dal coding competitivo.

Ci sono un sacco di soldi da fare in questo campo. Ma non è questa la ragione per cui dovreste scegliere l'ingegneria del software. Perché se questa è la ragione per fare un lavoro che non ti piace non sarai felice.

I problemi che hai risolto a scuola o nel tuo primo anno di università sono come un singolo sasso nel percorso di sviluppo del software che è fatto di ghiaia.

Non vi mentirò. Il lavoro ha le sue esigenze, proprio come ogni altro lavoro. Ci sono una serie di regole da seguire. Lavorare un giorno in una società di software non è come un problema di matematica in cui si continua a risolverlo finché non si trova la soluzione. Addentratevi troppo nell'ingegneria del software e vi perderete. Devi capire che il codice non è tutto. Ci sono molti altri fattori che fanno parte del lavoro. Codificare è uno sport di squadra. E in questo sport la comunicazione è la chiave. Spiegare il codice è importante quanto scriverlo.

Imparerete ad apprezzare il codice, ad apprezzare i sistemi che vi rendono la vita facile.

Il codice base ideale è quello in cui si può fare qualcosa o cambiare qualcosa con il solo cambio di un pulsante. Hai bisogno di cambiare una caratteristica? Basta cambiare un flag. Hai bisogno di aggiungere una nuova funzionalità? Basta copiare e incollare un modulo. Imparerete a codificare per la bellezza di questo. Le scadenze sono importanti, ma lo è anche la qualità del tuo codice.

Lo sviluppo è uno stile di vita, non è solo il solito lavoro da scrivania. O forse lo è. Idk. Questa è l'unica esperienza che ho avuto finora.

È difficile mettere in parole l'esperienza del coding.

Ci sono 100 modi diversi di risolvere lo stesso problema e devi solo scegliere quello che funziona per te. Ciò che conta è portare a termine il lavoro. Non c'è un modo sbagliato o giusto.

Entrare "nella zona" e risolvere il codice è terapeutico. Una volta che sei 'in the zone'che significa che hai codificato su un problema per circa 2-3 ore ininterrottamente, la sensazione è difficile da descrivere. È come se potessi far uscire le idee dalla tua testa e farle diventare realtà. Otterrete il potere di capire il codice, tutto ciò che è scritto nel vostro codice base (o almeno la parte su cui state lavorando). Il tuo treno di pensieri diventa una musica o una canzone mentre costruisci, incastri pezzi insieme, crei soluzioni che si adattano al tuo bisogno.

Devi sapere da dove copiare il codice e dove incollarlo, perché la tua funzionalità funzioni. Io vengo dall'ingegneria elettrica. Fondamentalmente non ho alcuna conoscenza dei concetti di CS prima di entrare nel lavoro. L'intuizione è più importante della conoscenza teorica in questo settore. Tutto ciò che non sapete, potete cercare su Google. Stackoverflow diventerà il tuo nuovo migliore amico. Imparerete man mano che andate avanti.

C''è un mondo di differenza tra usare il software e svilupparlo. Una volta diventato un ingegnere del software non guarderai mai più allo stesso modo il software, i giochi, le applicazioni del telefono. Capirai che nessun software è infallibile, e che ci vuole un sacco di duro lavoro per costruire le applicazioni che usiamo e su cui facciamo affidamento ogni giorno.

Capirete il potere di una singola persona su un computer portatile con gli strumenti giusti e una connessione internet, non scherzo. In quest'epoca, tutto è digitale.

Questi sono i miei pensieri sul diventare un ingegnere del software. Fatemi sapere i vostri pensieri/esperienze nei commenti qui sotto. Sarebbe bello se qualche sviluppatore là fuori potesse relazionarsi con questo.