Olá Pessoal.
Trabalho a algum tempo como desenvolvedor mas nunca fui focado em uma tecnologia apenas, passei por algumas e no momento estou querendo focar mais em uma plataforma.
Não consigo ser focado pois a cada dia que leio artigos na Internet minha percepção sobre minhas escolhas mudam.
Atualmente minha decisão é baseada em mercado, ou seja, Java e .NET.
Existem empresas bacanas que usarm Java e gosto muito da liberdade de desnvolvimento que o mesmo permite (run anywhere) mas admito que a plataforma na minha percepção está ficando bagunçada, muitas linguagens novas para a JVM a todo momento, framework hell para qualquer projeto, etc.
Atualmente estou me surpreendendo em como a Microsoft vem trabalhando com a comunidade junto ao .NET, git, github, cloud, F#, C#, open source, run anywhere, binários do Ubuntu nativos no Windows 10, Xamarin free, compilador open source, Docker, parceria com projetos e entidades opens source, ótimos profissionais trabalhando hard na plataforma entre outras novidades constantes anunciadas na comunidade e recentemente no Build 2016.
Será que escolher a plataforma .NET seria a melhor opção para o futuro nos dias atuais?
Será que a plataforma Java está estagnada e vivendo do passado?
Gosto muito da plataforma Java mas tenho a impressão que a plataforma .NET está com tudo para o futuro.
Então, Should I stay (Java) or should I go (.NET)?
Apostas para o futuro, realistas?
Minha aposta para o futuro é em criar soluções para usuários finais, portanto eu devo usar aquilo que os usuários estão usando (iOS e Android).
Se pretende criar soluções para o mercado corporativo, pesquise as empresas da sua cidade e o que elas usam, Java ou .net ou outra coisa…
Olá, esses dias li uma matéria sobre as áreas de TI que deverá ter uma demanda de profissionais, entre as listadas estavam, ERP, Inteligencia Artificial, computação na nuvem, Big Data, Segurança da Informação, Mobile e IoT.
Acho que .Net e Java podem ser usados nessas áreas que foram citadas, são plataformas muito aceitas nas empresas, e também o profissional deverá ter mais uma visão de negócios, pois hoje não basta só saber de programação e sim ter uma visão geral sobre os negócios da empresa…
Essa é uma ótima pergunta. Eu acho que a resposta teria duas partes:
A primeira é “em que investir agora”. Isso vai depender muito da sua situação atual, localização, disponibilidade para se mudar, etc. Alguém mencionou olhar i mercado local e eu concordo: é uma boa idéia.
A segunda parte é o que você quer fazer daqui há alguns anos, quando estiver pronto para dar o próximo passo na sua carreira. Se especializar demais no início cria alguma problemas –o que está em voga hoje não necessariamente vai estar lá amanhã –então eu tomaria um pouco mais de cuidado. Independente de que caminho você tone hoje, o importante é nunca adotar uma postura fanática com relação à tecnologia. Aprenda os dois, e mais: Ruby, Scala e o que mais vier. Essa é a única maneira de construir um perfil profissional que não balança conforme a mode muda.
No final, você vai acabar reparando que a diferença entre estas linguagens e plataformas não é nem de perto tão forte quanto o que alguns tentam fazer parecer. No fim, o que importa são os fundamentos.
Olá pfk66, obrigado pela resposta e seu tempo dedicado a ela.
De certa forma concordo com a sua percepção, no entanto é justamente sobre isso que estou “preocupado”.
Já atuei em projeto de integração com mobile, Java/Android no caso, e vejo esse mercado muito aquecido mas, sabemos que no dia a dia de uma empresa ou startup manter organizado o desenvolvimento entre todas as plataformas demanda tempo e dinheiro.
Hoje temos para mobile nativo Objective-C e Swift para IOS, Java/Java 8 e Kotlin para Android e JavaScript para tentar subtrair todas as demais já citadas.
A Microsoft perdeu essa onda isso é fato mas com a aquicição e logo após isso tornando o Xamarin gratuito não vejo problemas para a adoção da ferramenta, que é muito boa vale ressaltar e nesse caso, C# ++
Concordo, o negócio é importante e faz total diferença para o profissional ter o entendimendo do mesmo.
Mas no entanto é justamente esse o ponto, são tantas coisas a se dedicar que as vezes penso que vão faltar anos de vida para isso, afinal, hoje o bom profissional “deveria” estar sabendo o que está acontecendo nos buzzwords da tecnologia, claro sem deixar de conhecer o passado, presente e futuro.
Oi Phil, Obrigado por dedicar uma fração do seu tempo aqui.
Concordo com sua opinião, já atuei em startups com Python e Java, mas sabemos que startup é aquela coisa, se trabalha, se dedica sangue e suor mas no final o futuro é incerto e acredito que faço parte da estatística das startups que não alcançaram a maior idade
Onde estou no momento Java e .NET dominam o mercado, e não acho isso ruim. Gosto de Java, não me incomodo por ser verdoso, afinal passei algum tempo no ANSI C sabe como é, mas venho trabalhando e estudando com algumas linguagem para a JVM, Scala e Clojure para ser mais específico.
Mas atualmente a MS vem investido pesado no cloud e tornando tudo muito fácil e as vezes penso se essa atitude vai tornar a plataforma uma das mais usadas no futuro ou vamos ver a história se repetir.
Concordo 100% com sua opinião sobre não adotar uma postura fanática acho essa atitude importante e essencial para um bom profissional.
Tecnologia é o meio, como já falaram o foco é o negócio, mas isso você só vai aprender dentro da empresa, onde cada lugar de uma mesma área pode ter regras e estratégias bem diferentes.
Sobre tecnologia usada, decisão tem que ser pra o que estiver em ascensão no presente, não futuro (que obviamente não sabemos). Se atualmente na sua região tem melhores ofertas em Java e .NET, então já tem a resposta, resta escolher o que achar mais confortável estudar.
Sobre futuro vai acompanhando o mundo louco da tecnologia através de leituras de matérias, fóruns, sem precisar se dedicar, e quando chegar concretamente no futuro vai ser mais natural se adaptar ao que for realmente adotado lá.
Sobre dar sangue pra qualquer tipo de empresa e principalmente startups (que possuem mais armadilhas), nunca faça isso, só se você for sócio claro.
Legal seu comentário e compartilho de sua posição sobre o mercado é justamente isso que estou tentando fazer no momento, acompanhando as tendências para o futuro sempre que der.
Sobre as starutups acredito que eu tenha aprendido valiosas lições de sucesso e fracasso e hoje já não sou tão empolgado com isso, talvêz a palavra startup hoje para mim remete a uma reflexão baseada em cautela, mas isso já seria assunto para outro tópico.
Você precisa conhecer seu cliente e o mercado pra saber qual plataforma agrega mais valor ao seu negócio, ao invés de assumir que o padrão é suportar todas. As vezes um app faz mais sentido numa plataforma, as vezes em outra. Mas não acho que deveria ser nenhum bicho de 7 cabeças (suportar 2 ou 3 plataformas). Na verdade, criar as APIs e gerenciar os serviços que suportam uma boa integração mobile deveria dar mais trabalho do que o desenvolvimento das apps em si.
Mas como falei, havendo vagas de programador Xamarin na minha cidade, eu não teria problema nenhum em considerar aprender a ferramenta.
pfk66 Obrigado por compartilhar sua opinião e contribuir com esta discução, as vezes acredito que o melhor a fazer é esperar o mercado criar as demandas necessárias.
Ferramentas como o Xamarin são muito boas e trazem maior velocidade ao desenvolvimento mas as vezes o preço que se paga por isso pode ser bem alto no futuro.
Eu imagino que a maior parte do código de uma app mobile esta relacionada a front-end, no Xamarin você continua precisando criar um front-end pra cada plataforma certo? Então… não sei se ganha muita velocidade.