Programmatore Vs Sviluppatore Vs Ingegnere
Se hai mai guardato attraverso una linea di team di software, ti sei imbattuto in questi titoli di lavoro e forse ti sei chiesto se uno sviluppatore del tuo team è davvero buono per lo sviluppo del tuo business, o un ingegnere del software è una chiave per il successo del tuo progetto in quanto contiene O forse per la tua applicazione o un pezzo di software per avere un codice affidabile, hai bisogno di un codificatore? Diamo un’occhiata.
“Un ingegnere del software, uno sviluppatore e un programmatore entrano in una barra.
— – Ecco che arrivano i programmatori! – dice il barista.”
La varietà dei nomi dei ruoli non si è verificata a causa delle differenze fondamentali nel modo in cui questi ruoli operano. Piuttosto, è stato un processo storico di crescita e rafforzamento dell’industria. L’intersezione di termini internazionali è venuto a contribuire alla varietà. Prima di tutto, non vi è alcuna differenza incrementale nel modo in cui questi lavori di produzione digitale svolgono nel loro ambiente specifico. Tuttavia, ci sono sottili differenze negli approcci per risolvere i compiti tecnici che potrebbero dare un suggerimento di come la partnership sta per andare, a condizione di stabilirsi con una certa nomenclatura.
Il programmatore
Riprendendo quella battuta, un programmatore è il termine generico per l’intera serie di lavori nella produzione di prodotti digitali. Ora, ho visto le definizioni di un programmatore come colui che “scrive codice per applicazioni e software senza troppo coinvolgimento nella progettazione e nell’esperienza. Penso che questo non sia abbastanza preciso in quanto questi sono più dei doveri di uno sviluppatore di back-end. Credo che un programmatore sia un professionista del computer che sa come codificare.
Tutto ciò che si traduce in un output di produzione digitale utilizzando linguaggi di programmazione può essere considerato programmazione, rendendo l’ambasciatore di queste abilità, un programmatore.
Nel mio paese, have abbiamo i titoli di lavoro ufficiali regolamentati dallo stato e le descrizioni. La maggior parte di noi coinvolti nel software e industrie informatiche sono in termini di legislazione del lavoro, ingegnere-programmatori.
Lo sviluppatore
Uno sviluppatore è forse il titolo di lavoro più comune a cui si fa riferimento quando si intende scrivere codice e assemblare software. Essendo stato introdotto alla fine degli anni ‘ 80, il termine sviluppatore riflette la moderna comprensione della produzione digitale.
Oggi vediamo la produzione come un processo graduale e sistematico di creazione di un prodotto, mentre il raggiungimento di un certo livello di prestazioni, appeal, e l’esposizione. Perché graduale? Se potessi caricare tutte le basi o segnare tutti gli obiettivi, non avresti bisogno che sia graduale. Sfortunatamente, siamo spesso limitati nelle risorse e anche le nostre idee si evolvono nel tempo. Sviluppo sembra essere la parola davvero tagliente per questo processo.
Ora, uno sviluppatore in questo senso è diverso da un programmatore, a causa delle specifiche del processo in cui la codifica è solo una parte delle loro responsabilità. Tra questi ci sono anche funzionalità di documentazione, analisi concettuale, in alcuni casi, progettazione, test e debug e ottimizzazione.
Esiste una gradazione logica degli sviluppatori a junior, middle, senior e lead. Con juniores essendo per lo più interessati e in grado di scrivere codice in una lingua specifica. Man mano che salgono di livello, la loro gamma di abilità cresce, raggiungendo il picco alla fine in testa. Con ciò, il piombo si allontana dalla codifica e dal debug più nell’area della gestione del prodotto.
In generale, uno sviluppatore è un’unità creativa con una vasta gamma di capacità tecniche. La loro responsabilità è la performance del prodotto in tutti gli aspetti, non solo il back-end.
L’ingegnere
Questo suona abbastanza serio. Se dici a tua nonna che sei uno sviluppatore di back-end medio, penserebbe che sei da qualche parte tra un punk rocker e un giocatore di sport strano. Ma se dici di essere un ingegnere, i tuoi stokes saliranno. Perche ‘ mai? La professione di ingegnere è radicata nel mondo antico in cui i ragazzi che hanno capito accademicamente o naturalmente fisica e meccanica sarebbero in grado di fare cose al di là della portata pubblica generale.
Millenni dopo, il nostro mondo gira ancora sull’ingegneria. Ciò che è significativo qui è un ingegnere aeronautico e un ingegnere di costruzione di ponti sono due diversi tipi di ingegneri. Ciò che è comune tra loro è l’istruzione e la formazione fondamentali e settoriali. Secondo la definizione generale, un ingegnere del software è una persona che applica i principi dell’ingegneria del software alla progettazione, allo sviluppo, alla manutenzione, ai test e alla valutazione del software che fa funzionare computer o altri dispositivi contenenti software.
In termini semplici, l’ingegnere ha una solida base educativa e la capacità di applicare concetti ingegneristici per creare soluzioni digitali.
Questo tipo di messa a terra mette più responsabilità su un ingegnere del software in quanto ci aspettiamo che un pezzo ingegnerizzato sia affidabile e irradia fiducia. Nessuna arte e creatività che possiamo tollerare da uno sviluppatore è prevista da un ingegnere. In alcuni paesi, devi essere certificato per essere chiamato ingegnere perché questa professione è spesso collegata a situazioni potenzialmente letali se qualcosa va storto. Anche se questo non è ancora il caso con l’ingegneria del computer e del software, possiamo vedere chiaramente come raggiungeranno quel punto una volta che deleghiamo ancora più funzionalità decisionali a computer e software.
Diamo un’occhiata alla portata delle conoscenze e delle competenze che un ingegnere del software deve avere:
- Informatica. I computer risolvono i problemi umani. Ci deve essere qualcuno che risolve i problemi del computer e li insegna. Uno scienziato informatico.
- Matematica. Non c’è esagerazione dello spettro della matematica nella sua applicazione nella tecnologia.
- Ingegneria del software stesso. Ancora una volta, l’approccio scientifico può essere applicato al processo di costruzione di qualsiasi tipo di prodotto digitale di fascia alta indipendentemente dai linguaggi, dalle tecnologie, dagli strumenti e dagli obiettivi coinvolti.
L’ingegnere del software deve essere in grado di applicare tutte le loro conoscenze tecniche per aiutare il lato business di un prodotto. Non ci sono ingegneri junior se si prende questa posizione sulla professione di un ingegnere del software.
The L’alveare
Se siete disposti ad andare oltre solo questi tre e sentire un po ‘ giocoso, ecco alcuni titoli esotici del programmatore (mi atterrò a questo) lavoro con tutti i tipi di sfumature illuminate per creare un effetto.
Il codificatore
I codificatori inseriscono i requisiti e le descrizioni delle funzionalità nelle loro storie utente nei pezzi di lavoro del software. Di solito, la portata del coinvolgimento di un programmatore non raggiunge alcuna significativa libertà creativa. Una volta che ciò accade, congratulazioni, sei uno sviluppatore.
Lo scripter
Script sono piccoli programmi in grado di automatizzare semplici operazioni ripetute al fine di rilasciare un essere umano da questa routine. Oggi, scripting moderno permette a chiunque di scrivere i loro script e automatizzare una parte del loro lavoro, che li rende tutti scrip scripter.
Lo sviluppatore dell’interfaccia utente
Spesso indicato come parte della disciplina di sviluppo front-end, lo sviluppo dell’interfaccia utente si trova più vicino alla UX di qualsiasi altra entità di codifica. Se un designer UI / UX può codificare e creare layout di qualità attraverso vari strumenti di programmazione, può definirsi uno sviluppatore dell’interfaccia utente. E viceversa.
Il codificatore creativo
Quindi se uno scripter utilizza script di codice per raggiungere obiettivi specifici del caso, la loro fase successiva può essere la codifica creativa. Continuando con un esempio di designer, c’è un sacco di creatività in loro, ma spesso volte, zero codice. Essere un programmatore creativo significa utilizzare una serie di frammenti di codice una tantum senza background di teoria scientifica o capacità di costruzione del framework per creare un software funzionante come è stato progettato. Il programmatore creativo può rimanere un generatore di stopgap o evolvere in uno sviluppatore in piena regola.
Lo scienziato informatico
Ogni scienza ha una forte base teorica sotto. L’informatica non è diversa. Questo è simile al modo in cui un fisico teorico è interessato ai modelli teorici e alle astrazioni di oggetti fisici e fenomeni naturali, gli informatici studiano i fondamenti teorici dell’informazione e del calcolo e la loro applicazione. Gli informatici in un certo senso impostare il percorso per un ulteriore sviluppo del settore così come cercare di inventare le soluzioni ai problemi attuali.
The L’importanza della distinzione
Il rifiuto dell’ignoto è il meccanismo naturale di difesa. Spesso per risparmiare tempo e fatica, tendiamo ad attenerci alle cose che ci sono familiari. In questo caso, essere consapevoli di diverse categorie di oggetti, gruppi e fenomeni è una questione di esperienza.
Per un imprenditore o un imprenditore di avvio, è estremamente utile avere la capacità di riconoscere i modelli e prendere decisioni basate sull’esperienza. Questo riguarda tutto, dalla valutazione delle idee alle strategie di marketing di prodotto. Ma prima che si trova la selezione della squadra. Al fine di evitare di essere intimiditi dai titoli, si dovrebbe almeno sapere una cosa o due circa le specifiche di ogni ruolo.