Eu sou um estudante de 21 anos da Índia nos meus últimos anos de Ciência da Computação e Engenharia, curso de 4 anos.
A própria idéia de escrever isso era para dizer que a Índia é muito mais do que um hub de terceirização. Espero que o Ocidente o veja dessa maneira e, em vez de absorver talentos, o Ocidente deveria criar mais centros na Índia. Há algum conteúdo ofensivo pela frente, mas se você entender o quadro geral, entenderá o que estou tentando dizer.
A educação na Índia está em um estado muito perturbador, com uma força de trabalho produzida todos os anos que não possui ou possui habilidades técnicas absolutamente horrendas. O sistema educacional não é de todo competitivo em termos de inovação ou empreendedorismo. isso levou nosso país a enormes embaraços, como o recente computador desenvolvido por US $ 10 (que se tornou um tablet chinês barato baseado no Android, mantido apenas por uma empresa indiana) ou uma reivindicação anterior de outra inovação tecnológica (que acabou sendo um pen drive). Os institutos de educação estão totalmente desconectados do mundo real da tecnologia e estão mais interessados nos estudantes que reinventam a roda, tudo em nome da inovação. institutos educacionais, todo mundo os odeia.
Chegando a lugares onde você pelo menos espera aprender algumas habilidades importantes de desenvolvimento:
Eu tive exposição a algumas instalações de treinamento na Índia, além dos meus institutos de ensino. A programação e o desenvolvimento de software ocorrem em dois níveis: desenvolvimento no nível do aplicativo e desenvolvimento no nível do sistema .
Para o desenvolvimento de aplicativos, a maioria dos novatos na Índia é recrutada em massa por empresas para reivindicar um banco de programadores e obter mais projetos. No final do dia, há uma qualidade comprometida porque o processo de contratação é totalmente estúpido. Às vezes, o talento é desperdiçado ao fazer as pessoas serem boas em suas coisas, em coisas estúpidas, como a criação de quadros Java e a criação simples de interfaces de usuário simples WinForm e ASP.NET. (Estou falando de novos recrutamentos e como reivindicado por alguns, embora não tenha certeza). Se não considerar boas práticas de engenharia de software, esse tipo de codificação pode ser feito por um aluno da 7ª série.
Mas, ao mesmo tempo, há programadores e desenvolvedores independentes que têm um grande interesse pelas coisas. Eles são como os heróis desconhecidos que perderam toda a esperança e estão menos interessados em mudar o mundo. Tudo o que eles querem é tirar o máximo proveito de suas habilidades, por isso é tudo sobre dinheiro e viajar para o exterior. Embora nossos cursos estejam bastante limitados ao software do sistema (programação C usando o TurboC !!! por 4 anos ruins, C ++ estúpido e vago, sem conceitos adequados de orientação a objetos, usando cout em um programa C não é C ++, ASM e mais programação C usando gcc), quando em uma empresa, somos feitos principalmente para desenvolver aplicativos (ASP.NET, WinForms, J2EE). Basicamente, um engenheiro de ciência da computação é feito para fazer o trabalho de um engenheiro de software. Sim, o conhecimento da ciência da computação ajuda, mas o desconhecimento da engenharia de software adequada dificulta demais o processo, e aí vem a queda de todo o sistema. É uma falha.
Vou citar um exemplo simples. Entrei para um instituto de treinamento para o meu projeto do último ano e eles queriam que eu criasse um site ASP.NET que fosse como um sistema de inventário (reserva de hotel, CRM, esse tipo de coisa). Sim, não é uma tarefa fácil, mas não vale a pena trabalhar em um projeto na minha opinião. Isso apenas reinventará a roda e esses projetos são enormes por natureza na vida real. Entregue em 6 meses por um grupo de 3, você pode entender o tipo de sistema inutilizável reduzido que resultará disso. Os institutos não se estressam demais e estão mais interessados em "não assustar o aluno dizendo muito" e "fornecer uma visão geral e permitir que aprendam o resto por conta própria". No final, o que as pessoas desenvolvem nos projetos nem sequer é um protótipo totalmente testado,
Eu peguei meu próprio tópico, um sistema de navegação em tempo real, guiado por voz. Estou usando o WPF, a API do Google Maps e as mais recentes tecnologias que posso. Para boas práticas de engenharia de software, estou usando o controle de origem, o MVVM e darei uma olhada completa em qualquer outra coisa que eu tenha conhecimento. Tenho 21 anos e sou graduado. Acho que na minha idade, as pessoas no oeste ainda estão na fase de aprendizado e se tornam graduadas mais tarde. Isso torna os graduados ocidentais muito melhores e mais conhecedores. Temos quantidade, mas não qualidade.
Na Índia, geralmente não é esperado o nível de trabalho que estou realizando para o meu projeto de um projeto de graduação do último ano. Mas farei isso porque quero. Ao mesmo tempo, há outras pessoas no meu grupo que se sentem à vontade para fazer um projeto no ASP.NET, criar de 5 a 7 páginas, executar consultas de banco de dados, preencher visualizações de grade e não dar a mínima para segurança. Inferno, mesmo aqueles sites freelancers têm melhores anúncios de emprego (clone do YouTube, Google instantâneo + X = Y Mashup ..)
Seis meses depois, você encontrará as mesmas pessoas que trabalham em uma empresa na qual terceiriza seus negócios e também me encontrará lá. Pessoas como eles, superam as pessoas como eu dez para 1 :(
para ser exato e não reclamar, em toda a minha carreira educacional e conhecimento de mais de 500 pessoas, vi exatamente quatro que tinham o nível de conhecimento que eu consideraria por trabalharem em um projeto comigo)
Por fim, todos os graduados indianos escreverão uma boa documentação porque é uma teoria, mas não esperam nenhum código à prova de idiotas.
Chegando ao software do sistema, o mesmo é o caso. Um amigo meu está trabalhando com o Android NDK e está trabalhando em um projeto ao vivo em uma empresa. Ele tem sorte de ter esse projeto e eu o invejo, mas esse nível de trabalho também acontece na Índia. Outro aluno da minha faculdade desenvolveu um clone do kinect (mouse multi-touch, como nos relatórios minoritários) em seu projeto final do ano usando apenas duas webcams baratas. Da mesma forma, existem outros que copiam códigos da Internet e, de alguma forma, conseguem um grau reinventando a roda.
Minha palavra final, não espere uma qualidade comprometida em toda a Índia e não aceite os indianos como mantenedores de software baratos e adequados para terceirizar apenas trabalhos de manutenção.
Além disso, não espere que alguém com boa formação educacional em termos de marcas escreva um bom software. O sistema educacional da Índia é totalmente orientado pela teoria, não há ênfase na prática; às vezes, saber mais ou a vontade de saber mais pode causar problemas a professores que se sentem intimidados. No entanto, bons programadores procuram pastos mais ecológicos em uma carreira melhor e não apenas um bom emprego; existem outros que querem conseguir um bom "emprego", dirigir pela Honda City, comer fora na China continental e viver felizes para sempre .
Estou mais interessado em Audi btw. :)