GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Desenvolvimento de Software - Formação acadêmica e mercado de trabalho

desenvolvimento
software
Tags: #<Tag:0x00007fc4bfb75120> #<Tag:0x00007fc4bfb74fe0>

#1

Boa noite! Sou novo no GUJ e esta é a minha primeira postagem, então vamos lá.

Primeiramente, sei que o assunto formação acadêmica / mercado de trabalho em TI já foi super discutido, inclusive achei alguns tópicos aqui no GUJ a respeito, mas precisava de uma opinião sobre minha situação específica.

TL/DR
A dúvida é, se eu já possuir uma formação superior em uma área fora de TI (Economia para ser mais exato), o que seria melhor para alcançar o mercado de desenvolvimento de software: uma segunda graduação, uma pós/mestrado, ou tentar partir para o mercado direto?

História completa
Estou me formando em Ciências Econômicas no final desse ano, mas sempre tive interesse na área de desenvolvimento. Nunca cheguei a trabalhar na área, mas já fiz projetos pessoais em C# (Visual Studio e Unity), Java (Android) e Javascript, leio e estudo bastante sobre tecnologia, computação e afins. Estava estagiando na Coca-Cola até metade do ano passado, quando percebi que o setor de Economia/Administração não me satisfazia profissionalmente, e parti então pra fazer algumas matérias eletivas de faculdade em computação (Circuitos Lógicos e Algoritmos/Est. de Dados no semestre passado, Banco de Dados e Inteligência Artificial esse semestre).

Minha ideia original era, depois de formado em economia, buscar uma graduação em Engenharia da Computação ou Ciência da Computação (e aproveitar os créditos das matérias que já estou cursando). Porém a perspectiva de me graduar na área com quase 30 anos (tenho 22 atualmente) me deixa preocupado

O que acham?

Abs,
Pedro


#2

A formação acadêmica vale mais como status na sociedade, se você gosta da área de TI, não perca tempo fazendo graduação, procura alguma certificação para aprimorar mais seus conhecimentos e comece logo a produzir.


#3

Pelo menos na minha cidade a graduação é quase um pré requisito, se não estiver fazendo faculdade eles nem te chamam pra entrevista a não ser que você seja muito bom, tenha vários projetos postados em um blog ou github da vida, acho que uma pós seria interessante no teu caso, pois as graduações abrangem muito a área de computação, então já que você já sabe que quer ir para o desenvolvimento faça uma pós nessa área.


#4

Do meu ponto de vista, ter uma graduação na área em que se vai atuar é no mínimo fundamental!

Após a graduação, um investimento em certificações tem um valor bem mais significante para as empresas do que uma pós graduação, a não ser que você queira atuar no ramo educacional, lecionando matérias, aí sim, ter uma pós graduação, mestrado e, ou doutorado possuem um valor gigantesco para as instituições de ensino.
Idade não é problema algum independente da área em que se vai atuar, tudo depende do seu esforço e dedicação, o mercado de TI sempre vem crescendo a cada dia, e junto com isso o número de vagas também aumenta, não se deixe ser só mais um cara de TI no mercado, seja “O CARA de TI no mercado”.

Forte abraço e boa sorte!


#5

Primeiro, legalmente, não existe qualquer impedimento, dentro do Brasil, para que você exerça qualquer função relacionada a SI/TI sem ter formação na área. Não existe um correlato à OAB para TI/SI (ah, mas o CREA? nem falarei nada sobre isso).
Segundo, tecnicamente, não existe qualquer impedimento, dentro do Brasil, para que você exerça qualquer função relacionada a SI/TI sem ter conhecimento na área. Você pode montar tua empresa de manutenção, montagem de redes, desenvolvimento, etc, sozinho. Ou trabalhar em alguma sem saber nada de programação ou das camadas do modelo OSI.
Acontece que, no cenário que o país se encontra, atualmente, existe mão de obra sobrando. Profisisonais mais e menos qualificados que querem salários maiores ou menores.
Assim sendo, caímos na lei da oferta e da procura: mais oferta, menor valor e mais requisitos.
Logo, se você é um economista e manja de programação, por que não cria um sistema que atenda ao que você faz, com diferenciais que acha necessários e bota a cara no mercado?


#6

Olha, um ex colega de trabalho fez o seguinte…
Se formou na área de Direito e depois fez Análise de Sistemas e hoje trabalha na área de desenvolvimento… com Java e C#…
Acho que é bom ter mente o que se quer fazer… pra não jogar tempo e $$$$$ fora…
Boa sorte…


#7

Muito obrigado a todos pelas respostas!

Sim, tenho esse receio. Vocês acham que melhoraria a chance de ser chamado, caso mandasse currículo com formação superior não-tecnológica, mas com certificações e portfolio de projetos pessoais?

Concordo, mas hoje existem algumas pós no formato MBA, voltadas para negócios e não focadas no acadêmico, como Engenharia de Software. Eu pensava em fazer uma neste estilo. Neste caso, seria como uma certificação/especialização, certo?

Esse daí é o famoso ganso dos ovos de ouro. Um problema é que a formação em Economia (pelo menos na minha faculdade) é muito teórica e focada no acadêmico, mas existem sim áreas onde desenvolvimento de software e economia interagem, principalmente no setor financeiro (bancos, trading de bolsa, fintechs e afins). Ainda estou pesquisando como posso juntar efetivamente estas duas áreas!

É, gosto de descobrir casos de pessoas em situações parecidas com a minha. Justamente com medo de jogar tempo e grana fora queria pensar na melhor maneira de seguir para desenvolvimento, seja graduação, ceritficações, mercado, etc.

Valeu mesmo pelos insights!

Abs,
Pedro


#8

Nunca disse o contrário. O desenvolvimento de sistemas interage com praticamente qualquer área (de agronegócios à engenharia, de lazer ao trabalho).
Uma coisa é fato: se você tem interesse em atuar apenas na iniciativa privada, experiência é mais que fundamental. Se quer tentar carreira no funcionalismo público, aí você precisa do diploma.


#9

Seria como uma especialização, mais ainda assim acredito que não tem um valor tão grande quanto uma certificação, (Lógico que ter uma pós graduação já é um algo a mais) mas somente pelo fato de que em uma pós, independente de qual área você escolha, você somente irá se aprofundar mais sobre “X” assunto, vai trabalhar bastante conceito e pouca prática.

Um exemplo bem simples:
Profissional graduado com pós graduação em Administração de BD Oracle.
Profissional graduado com certificação Oracle em Administração de BD Oracle.

Quem você escolheria, o profissional que possuí a pós ou o profissional certificado pela oracle ?


#10

Entendi. Para trabalhar como desenvolvedor numa empresa então, experiência > formação.

É, entendi o seu ponto. A certificação é certamente muito mais prática e menos acadêmica, mesmo comparada a um MBA. Mas no caso espefício de Engenharia de Software, por exemplo, até onde eu saiba não existe uma única certificação que substitua a especialização em pós. Me corrija se estiver errado, mas você teria que fazer certificações em Qualidade de Software, Gerência de Projetos, Governança de TI, Banco de Dados, Arquitetura de Software, etc., etc. Mesmo assim, seria melhor fazer as diversas certificações ao invés da pós?


#11

Eu diria QI > experiência > formação


#12

Nunca jamais uma certificação substituirá uma pós graduação, são duas coisas totalmente distintas, porém tudo depende de com o que vc quer atuar…
No caso da pós em Engenharia de Software que abrange diversas ramificações da área de TI, você pode tirar as certificações voltadas para o ramo que você melhor se localizar dentro da engenharia, por exemplo, eu tenho preferência por bancos de dados, então vou me certificar em bancos de dados e assim por diante…

A minha ideia não é trocar uma pós graduação por uma certificação, muito pelo contrário, um cara que possua pós e ainda assim tire certificações, tende a agregar grandes valores ao próprio currículo, o que eu quis retratar nas ideias de respostas anteriores foi o que geralmente as empresas tendem a avaliar em profissionais no momento da contratação.

Profissional pós graduado certificado > Profissional certificado > Profissional pós graduado.


#13

Mas estamos falando de qual nível?
A certificação é muito bem quista em qualquer parte do mundo. Um certificado de gradução, pós graduação, mba, etc de uma instituição brasileira nem sempre tem o crivo necessário em outros países.
Além disso, conheço pouquíssimas pessoas que fizeram pós e continuaram na área de desenvolvimento, normalmente vão para a área gerencial.
Esse reflexo está muito evidente em anúncios de vagas: pede-se graduação e, quando a oferta é para uma função muito específica, certificações na área.
Outro exemplo: existem vários cursos de graduação e pós onde o foco é gestão de projetos. Até existem profissionais que são admitidos e gerenciam projetos (muito bem, por sinal) só com a graduação ou pós ou sem nenhuma delas. Agora, é nítido que o mercado absorve com mais facilidade aqueles que tem a certificação PMI.


#14

Ah sim, agora ficou mais claro pra mim o seu ponto, Jonathan.

É, bom ponto. Acredito mesmo que uma pós/MBA seja mais voltada ao nível gerencial e não de desenvolvimento.

Já que a conclusão é que, para desenvolvimento, tirar certificações específicas das áreas em que se quer atuar é provavelmente o melhor caminho (ainda que não o único), fica a pergunta: quais são as instituições mais conhecidas para se tirar certificações? Imagino que dependa da área de interesse, linguagem, plataforma, etc, mas existem grandes nomes que se esperam no currículo de um bom desenvolvedor?


#15

Java? Enta no site da pearsonvue e dá uma olhada. Existem várias instituições cadastradas para aplicar a prova. Não é regra, mas, a maioria tem cursos direcionados a certificação.
PHP? Procure pela Zend, que é quem aplica certificações PHP.
C#? .NET? SQLServer? Procure na Microsoft, ela tem várias informações sobre como se tornar um MCA (não sei se MCA é para dev ou infra, enfim).


#16

Boa! Obrigado pela resposta Luis


#17

Uma coisa a ser considerada nesse tema todo é qual o tipo de empresa que você deseja trabalhar?

Fazer graduaçao, faz pós, tirar certificaçao, tudo aumenta sua empregabilidade, com certeza. Interessante é se você tem uma idéia em que perfil de empresa deseja trabalhar, qual o perfil de profissional que eles contratam.

Eu cito isso pois as melhores empresas onde trabalhei, nao se importam com graduaçao ou certificaçao. Elas possuem um processo seletivo mais difícil para decidir se o profissional tem o nível e perfil que eles procuram.

Se o seu interesse é entrar em uma empresa dessas, investir tempo em graduaçao ou certificaçao nao vai te ajudar (nesses casos, em muitos outros ajudam).


Edit: Para dar um exemplo prático do tipo de empresa que nao pede isso: https://talentos.globo.com/#/oportunidades/desenvolvedor-backend-plataforma-de-videos/mp0hmey


#18

Você consegue me dar exemplos de processos seletivos mais difíceis? Imagino que envolvam aqueles “whiteboard”, com perguntas e testes sobre os conhecimentos requiridos, mas imagino que empresas que dão maior importância a certificações também aplicam processos parecidos (depois de fazer a filtragem dos CVs).

Neste caso, como você indicaria que alguém se preparasse para procurar empresas com este perfil (já que ter as certificações no CV não é o procurado, ou pelo menos não é o mais importante)?


#19

Claro, o maior diferencial que vejo nesses processos é que você passa por uma série de entrevistas, nao apenas uma, e geralmente com seus futuros colegas desenvolvedores.
Há livros e artigos explicando o processo seletivo de grandes empresas (Amazon, Facebook, Google), e algumas etapas que vi por aí sao:

  • Entrevista cultural: saber se seu comportamento combina com o da empresa
  • Pair programming: você pareia com o entrevistador tentando resolver um problema (pode ser no seu próprio laptop para que fique mais a vontade)
  • Trivia via skype: uma pré-entrevista sobre conhecimentos de Computaçao em geral (aqui você precisa do conhecimento, como conseguiu nao importa)
  • Design de sistema: projetar a arquitetura de um sistema dado um problema básico
  • Problema em produçao: dado um dado sistema em produçao, você precisa dizer como tentaria resolver um determinado problema acontecendo

Esses sao exemplos de entrevistas de diferentes processos que vi por aí. Nao sao todos da mesma empresa, mas cada uma usa um grupo dessas.

Pode ser, nos poucos lugares que vi pedindo, você geralmente tem uma entrevista ou dinâmica com o RH e uma com seu provável futuro gerente. É o cenário mais comum que vi pelo menos.

O que eu fiz foi traçar uma meta de 3 a 5 empresas que eu gostaria de trabalhar. Ver que tipos de conhecimento pediam e me preparar para aquilo.
No meu caso eu foquei mais em principios ágeis, automaçao de testes e infra, diferente paradigmas de programaçao e boas práticas em geral.


#20

Na carona do que o @AbelBueno disse, se você realmente quer buscar empresas com esse perfil, vejo que quase a totalidade delas vai avaliar a forma como você resolve problema, principalmente aplicando TDD e sabendo trabalhar em pair.

Buscando ambientes assim, acho realmente que você não deveria se preocupar com diploma, mas pode buscar (e deve) as bases da ciência da computação de graça em MOOC’s como Coursera e Udacity. Basta ter disciplina.

Existem sites como exercism.io e Hacker Rank pra aprender e treinar algoritmos/estruturas de dados, de graça também.

Não sei como está teu nível de inglês, mas é muito importante treinar e afina-lo, principalmente para leitura. Tem também este vídeo onde o cara explica como se preparar para uma entrevista de emprego, e isto geralmente se aplica em empresas com esse perfil que o Abel citou.

Sei que esse assunto já virou polêmica em outra thread aqui do GUJ, muitos podem não concordar, mas por favor aproveita que você está bem no início e aprende como escrever testes, lê sobre test-driven development (TDD), e treine bastante.

Pelo menos pra mim, parafraseando o que o cara do vídeo fala: Build shit. Every. Single. Day.