Sono un laureando di 21 anni dall'India nei miei ultimi anni di corso di laurea di 4 anni in Informatica e Ingegneria.
L'idea stessa di scrivere questo era di dire che l'India è molto più di un centro di outsourcing. Spero che l'Occidente la veda in questo modo e invece di assorbire il talento, l'Occidente dovrebbe creare più hub in India. Ci sono alcuni contenuti offensivi a venire, ma se capisci il quadro più ampio, capirai cosa sto cercando di dire.
L'istruzione in India è in uno stato molto inquietante, con una forza lavoro prodotta ogni anno che non ha o competenze tecniche assolutamente orrende. Il sistema educativo non è affatto competitivo in termini di innovazione o imprenditorialità. questo ha portato il nostro paese a enormi imbarazzi come il recente computer da $ 10 sviluppato in modo indigeno (che si è rivelato essere un tablet cinese basato su Android economico, gestito solo da una società indiana), o una precedente rivendicazione di un'altra svolta tecnologica (che si è rivelata essere una chiavetta). Gli istituti di istruzione sono totalmente disconnessi dal mondo reale della tecnologia e sono più interessati agli studenti che reinventano la ruota, tutto in nome dell'innovazione. istituti di istruzione, tutti li odiano.
Venire in luoghi dove almeno ti aspetti di apprendere alcune abilità di sviluppo:
Ho avuto esposizione ad alcune strutture di formazione in India oltre ai miei istituti di istruzione. La programmazione e lo sviluppo del software avvengono a due livelli, lo sviluppo a livello di applicazione e lo sviluppo a livello di sistema .
Per lo sviluppo di applicazioni, la maggior parte dei matricole in India sono reclutate in serie da aziende per rivendicare un banco di lavoro di programmatori e ottenere più progetti. Alla fine, la qualità è compromessa perché il processo di assunzione è assolutamente stupido. A volte, il talento viene sprecato facendo in modo che le persone siano brave nel loro lavoro, in cose stupide come la creazione di frame Java e la creazione di semplici UI WinForm e ASP.NET (Sto parlando di assunzioni più fresche e come sostenuto da alcuni, anche se non sono sicuro). Se non si considerano le buone pratiche di ingegneria del software, quel tipo di codifica può essere fatto da un selezionatore di 7 °.
Ma allo stesso tempo, ci sono programmatori e sviluppatori indipendenti che hanno un vivo interesse per le cose. Sono come gli eroi non celebrati che hanno perso ogni speranza e sono meno interessati a cambiare il mondo. Tutto ciò che vogliono è trarre il massimo dalle loro capacità, quindi è tutto basato sul denaro e sull'andare all'estero. Mentre i nostri corsi sono estremamente limitati al software di sistema (programmazione in C con TurboC !!! per 4 anni freddi, C ++ stupido e vago senza concetti orientati agli oggetti corretti che usano cout in un programma C non è C ++, ASM e più programmazione in C usando gcc), quando siamo in un'azienda, siamo principalmente fatti per lo sviluppo di applicazioni (ASP.NET, WinForms, J2EE). Fondamentalmente, un ingegnere informatico è fatto per fare il lavoro di un ingegnere del software. Sì, conoscere l'informatica aiuta, ma non conoscere la corretta ingegneria del software ostacola troppo il processo e arriva a precipitare l'intero sistema. È un errore #.
Citerò un semplice esempio. Ho aderito a un istituto di formazione per il mio progetto dell'ultimo anno e volevano che creassi un sito Web ASP.NET che sarebbe stato un sistema di inventario (prenotazione di hotel, CRM quel genere di cose). Sì, non è un compito facile, ma secondo me non vale la pena lavorare su un progetto. Reinventerà la ruota e questi progetti sono enormi per natura nella vita reale. Consegnato in 6 mesi da un gruppo di 3, puoi capire il tipo di sistema inutilizzabile ridotto che ne deriverà. Gli istituti non si stressano troppo in profondità e sono più interessati a "non spaventare lo studente che dice loro troppo" e "dare una visione d'insieme e far loro imparare il resto da soli". Alla fine, ciò che le persone sviluppano nei progetti non è nemmeno un prototipo completamente testato,
Ho preso il mio argomento, un sistema di navigazione in tempo reale con guida vocale. Sto usando WPF, l'API di Google Maps e tutte le ultime tecnologie che posso. Per una buona pratica di ingegneria del software, sto usando il controllo del codice sorgente, usando MVVM e darò uno sguardo approfondito a qualsiasi altra cosa che conosco. Ho 21 anni e sono laureato. Immagino che alla mia età, le persone nell'ovest siano ancora in fase di apprendimento e diventino laureati in età avanzata. Ciò rende i laureati occidentali molto meglio e più competenti. Abbiamo quantità ma nessuna qualità.
In India, il livello di lavoro che sto svolgendo per il mio progetto non è generalmente previsto per un progetto universitario dell'ultimo anno. Ma lo farò perché lo voglio. Allo stesso tempo, ci sono altri nel mio gruppo che si sentono a proprio agio nel fare un progetto in ASP.NET, creare 5-7 pagine, eseguire query sul database, riempire le viste della griglia e non preoccuparsene della sicurezza. Diamine, anche quei siti web freelance hanno migliori offerte di lavoro (clone YouTube, Google instant + X = Y Mashup ..)
Sei mesi dopo, troverai le stesse persone che lavorano in un'azienda a cui esternalizzi la tua attività e mi troverai anche lì. Alle persone piacciono, superano le persone come me da dieci a 1 :(
per essere precisi e non indignati, in tutta la mia carriera educativa e conoscenza con oltre ~ 500 persone, ho visto esattamente 4 che avevano il livello di esperienza che li considererei per lavorare su un progetto con me)
Alla fine, tutti i laureati indiani scriveranno una buona documentazione perché è teoria, ma non si aspettano da loro alcun codice a prova di errore.
Venendo al software di sistema, lo stesso è il caso. Un mio amico sta lavorando con Android NDK e sta lavorando a un progetto live in un'azienda. È fortunato ad avere questo progetto e lo invidio, ma questo livello di lavoro succede anche in India. Un altro anziano del mio college ha sviluppato un clone kinect (mouse multi-touch, come nei rapporti delle minoranze) nel suo progetto dell'ultimo anno usando solo 2 webcam economiche. Allo stesso modo, ci sono altri che copiano codici da Internet e in qualche modo riescono a reinventare la ruota.
La mia ultima parola, non aspettarti una qualità compromessa in tutta l'India, e non dare per scontato gli indiani come manutentori di software a basso costo e adatti per esternalizzare solo lavori di manutenzione.
Inoltre, non aspettarti che qualcuno che abbia una buona preparazione scolastica in termini di voti scriva un buon software. Il sistema educativo dell'India è tutto orientato alla teoria, non c'è alcun accenno pratico, a volte, sapere di più o la volontà di saperne di più può metterti nei guai da insegnanti che si sentono intimiditi. Tuttavia, i bravi programmatori cercano pascoli più verdi in una carriera migliore e non solo un buon lavoro, ci sono altri che vogliono trovare un buon "lavoro", andare in giro per una Honda City, mangiare nella Cina continentale e vivere felici e contenti .
Mi piace di più Audi Btw. :)