Executando verificação de segurança...
4

Ser Dev Fullstack é a melhor escolha para o seu início de carreira!!!

Olá, pessoal! Bom dia, como vocês estão?

Recentemente, vi algumas pessoas perguntando qual é a melhor linguagem para entrar no mercado de trabalho, e isso me fez pensar: por que não ser desenvolvedor Fullstack?

O que é um Desenvolvedor Fullstack?

Um Desenvolvedor Fullstack é aquele que domina tanto o frontend (interface do usuário) quanto o backend (lógica, banco de dados e APIs). Ele consegue desenvolver um sistema completo, desde a interface visual até o processamento dos dados no servidor.

Por que ser Fullstack?

Bem, um projeto raramente é construído com uma única linguagem. Vou dar um exemplo do meu ambiente de trabalho: no backend, utilizamos tecnologias como Node.js, Spring, MuleSoft, entre outras. No frontend e no mobile, há a mesma diversidade. Além disso, é essencial ter pelo menos um conhecimento básico em ferramentas como Jenkins, AWS, Google Cloud e várias outras.

O que isso tem a ver com ser Fullstack?

Simples! Quanto mais tecnologias você dominar, maiores serão suas chances de ser alocado em diferentes projetos e squads. No início da sua carreira, o mais importante será a experiência em diversas tecnologias.

Por exemplo, imagine que você trabalha com React Native, mas sua empresa tem um projeto em Swift para um aplicativo nativo. Se você já tiver alguma experiência com Swift e seu gestor perceber isso, pode surgir uma oportunidade para atuar nesse projeto. Aceitar esse tipo de desafio pode ser um grande diferencial para sua carreira.

Por isso, acredito que ser Fullstack no começo da jornada é uma excelente escolha. Com o tempo, conforme for ganhando experiência, você poderá decidir em qual área deseja se especializar."**


Principais vantagens e desvantagens de ser Fullstack

✅ Vantagens:

  1. Mais oportunidades no mercado → Empresas valorizam profissionais versáteis, que podem atuar em diferentes áreas.

  2. Maior autonomia e compreensão do projeto → Você entende o sistema como um todo, facilitando a comunicação entre equipes.

❌ Desvantagens:

  1. Aprendizado mais desafiador → Você precisa estudar várias tecnologias ao mesmo tempo, o que pode ser cansativo.

  2. Pode ser difícil se aprofundar → Como precisa lidar com muitas áreas, pode demorar mais para se tornar especialista em uma delas.

Carregando publicação patrocinada...
4

Isso tem valor e é fato que um profissional habilitado de forma mais ampla tem mais chances no mercado. Mas o que dá mais chance mesmo é ele ser bom no que faz. Em alguns casos abraçar muita coisa pode atrapalhar, cada um terá que avaliar para si o que deve fazer.

Mas ao longo da carreira e o mais cedo possível a pessoa não pode ser seguidor de receita de bolo, ela não cria nada, só muda algumas coisas em algo pronto. Isso não é ser dev e um dia, ainda distante, o tornará obsoleto, não importa se trabalha com backend ou frontend (inclusive porque a pessoa nem entende esses termos direito - a maioria).

Cada vez mais, embora hoje já seja verdade, o profissional que vai se destacar não é o que sabe mais ferramentas, que mexe com tela ou com acesso a dados, é quem entende a computação em suas várias nuances e sabe produzir algo que dê qualidade, cada vez mais com ajuda da IA, mas sem depender dela.

Quase todo mundo fará um plano errado de carreira, privilegiando as ferramentas, que serão muitas se desejar ser "full stack" e deixando de lado o que realmente criará um diferencial. A pessoa procurará cursos que entregam a receita de bolo dessas ferramentas e não será um profissional realmente qualificado. È mais fácil se desviar do que trará bons resultados no longo prazo do que pagar o preço de ter um preparo adequado.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

2

Por um tempo que acreditava que queria me profissionalizar no Front-end, mas não há muito tempo eu decidi estudar Full-Stack justamente por conseguir entregar algo completo.

Eu particularmente estou no inicio, por isso comecei com Node.js para facilitar, e já esta me ajudando bastante no geral a entender certos mecanismos que eu não fazia ideia de como funcionava!

Agora mesmo, estou trabalhando em um pequeno projeto Full-Stack para por no portfolio. Conhecer os dois mundos realmente de da um lack de possibilidades.

Mesmo em projetos pessoais, a uma tendência a depender do Front-End Para UI ou do Back-end para API e Banco de dados. Não estar limitado a isso é bem libertador.

Porém... Ser Full-stack não é entender tudo, até porque é impossível. Ainda existem profissões especializadas como DevOps, Analisa de Dados, que um Full-Stack não pode susbtituir a menos que seja realmente profissional nisso (tem uma boa experiência).

1

Mas o quanto você acredita que já ter uma base no front te ajudou? O ponto não é se tornar fullsatck no incício da carreira(1 a 2 anos), é já nascer fullstack. Para mim essa decisão de aprender uma nova stack, exige minimamente uma maturidade no desenvolvimento. Nem que seja por um período de 6 meses no mundo real. Até pq, quando vc sai da bolha dos estudos, você percebe que quase tudo que vc aprendeu, foi apenas para internalizar os princípios e parte técnica, quase nada no mundo real é como a gente estuda. Como em qualquer profissão.

1

Ajudou e muito. Eu não iniciei com a ideia do Full-Stack, apenas no Front-end. Já faz 2 anos desde então. Por isso eu não tive uma dificuldade avassaladora.

Eu esqueci de mencionar, mas eu já tinha a lógica e a base da linguagem de programação quando tive a ideia de estudar full-stack. Um novato total pode acabar se perdendo.

2

Pois é. Por isso julgo que ser fullstack no início, não é viável. Ir passo a passo, ajuda muito a consolidar o aprendizado, e até novas liguagens/ferramentas.

1

Meus 2 cents:

Sem entrar no merito se eh facil ou nao aprender direto fullstack/devops - diria que eh um caminho inevitavel.

Um dev frontend, conforme vai se aprimorando e se sentido mais seguro, acaba migrando naturalmente para fullstack ao perceber como estas atividades se complementam.

Em TI a evolucao tecnologica eh praxe: uma stack que era padrao a 20 anos hoje eh piada, uma que era menina-dos-olhos a 10 hoje eh arroz com feijao e por ai vai.

Nada impede continuar na mesma - mas a quantidade de devs que vejo expondo suas dificuldades em conseguir progredir na carreira (ou mesmo arranjar um emprego) com um CV fraco eh marcante.

Estudar devops, IA, infra de rede, ingles B2/C1 - eh um caminho sem volta.

Existem alternativas ? Sempre tem - mas voce nao quer ser uma "alternativa", quer ser protagonista.

1

Para mim, na prática, as desvantagens pesam infinitamente mais que as vantagens. Falo por experiência própria, que iniciei estuando para ser fullstack e me perdi todo e no fim não era bom em nada. Claro que vai ter gente que vai conseguir, e que bom que conseguem. Mas eu não recomendo, com base na minha experiência. Até pq nem toda linguagem é bacana para iniciar no front e back a nivel de mercado.

Muito embora ser fullstack, seja fundamental nos dias de hoje para se conseguir um emprego, não dá para negar que é "a melhor" escolha para uma cerreira dev. Porém eu ainda recomendo um início em uma das stacks e depois que tiver uma boa base, ir se aprofundando na segunda stack. Já pensou um dev iniciante fazendo m3rd4 nas duas stacks de uma vez só? Até pegar as manhas de OOP, principios de desenvolvimento, clean code, patterns, o estrado já foi grande. É muito problema para resolver. Rsrsrs

1

Com o avanço acelerado da IA e das próprias tecnologias de TI, acredito que essa divisão tradicional entre frontend e backend vai perder o sentido. Decidi entrar em um curso renomado para acelerar minha aprendizagem, mas a frustração foi grande. É preciso passar por uma série de cursos introdutórios antes de chegar a algo realmente completo, que ensine o processo do início ao fim. Quando tentei criar um projeto simples, acabei tendo que me virar sozinho, conectando as pontas que nenhum curso mostrou direito. Full Stack é muito mais estimulante, principalmente para quem, como eu, prefere avançar rápido e já mergulhar em desafios mais complexos.

2

Desde sempre dizem que o Front-end vai acabar com o low-code, e até hoje é a melhor opção para criar algo realmente bom e otimizado.

Muitos back-end afirmam que um Front-end praticamente não digita código, apenas pinta botão. Mas no final de tudo, ainda é necessário o conhecimento de um profissional cujo não só aprendeu, como praticou as diversas técnicas de otimização do CSS, acessibilidade, modularzação, responsividade, validações no cliente, consumo de API, controle de cache, dentre outras coisas.

Com IA não vejo sendo diferente. Apenas vai facilitar. Quando você escreve código no dia a dia perceb que muita coisa se repete. Todo site que eu faço, tem aquele <nav> que é praticamente a mesma coisa em todos os sites, raramente muda. Nesse aspecto, vai ajuda bastante.

Full Stack é muito mais estimulante, principalmente para quem, como eu, prefere avançar rápido e já mergulhar em desafios mais complexos.

Eu já cai nessa armadilha e eu falo um pouco disso aqui: Erros que me fizeram ser um programador mediano

Não tem atalhos, vai demorar mesmo. Sindo sincero, quando penso nos momentos do processo do que o resultado são os melhores do que os momentos que "estudei" correndo para alcançar o resultado.

Outro ponto a levar é que tudo demora, não é só na área de tecnologia. Se quiser realmente ser bom, vai demorar. Atualmente eu consigo fazer sites até rápido, numa velocidade aceitável, mas eu ainda não me considero bom pois cometi o erro de acelerar e muita coisa ficou para trás. Não caia nessa armadilha.

É preciso passar por uma série de cursos introdutórios antes de chegar a algo realmente completo, que ensine o processo do início ao fim.

Eu discordo. Você pode optar por uma faculdade. Se não quiser, vai ter que sentar a bunda e ler vários livros, bons livros, geralmente aqueles que os veteranos escreveram que são transcendentes.

Quando se trata de sintax e de como uma linguagem funciona, da para se virar com a documentação na maior parte das vezes, porém eu ainda recomendo ler livros relacionados, pois eles vão além de sintax e o resultado esperado de uma função.

1

Quando digo que busco desafios mais complexos, o que você acha que estou fazendo? Estou justamente avançando na direção oposta do óbvio: devorando livros técnicos, aprendendo padrões, estudando arquiteturas, entendo a história por trás das tecnologias, para onde o mercado está indo, etc. Minha crítica é justamente contra essa divisão artificial entre front e back e contra a esteira programática que limita e trata todo mundo como iniciante perpétuo. Há no Brasil essa cultura de ensino arrastado e lento, a qual sou totalmente contra.

2

Antes de mais nada, irei deixar claro que é apenas a minha opinião. Alias, tudo aqui é apenas uma opinião cujo foi dada apenas por você ter publicado um comentário público. isso não quer dizer que seja uma verdade absoluta.

Não sei suas circunstâncias e nem nada. Muito menos o que você entende por devorar livros. De qualquer forma, a vários pontos que eu discordo, o primeiro é sobre a divisão artifical entre Front-end e Back-end.

Cada um tem seu papel, assim como tudo no mundo tem seu nicho, tem sua função, as coisas são separadas para funcionar. Se não fosse, o UI/UX Design teria de criar código como um Front-end, onde geralmente não é o caso, a menos que ele queira.

Alguns escolhem dominar os dois, com isso vêm mais responsabilidade, mas demanda de estudo, dentre outras coisas. Nunca foi artificial essa divisão ao meu olhar, tudo tem seu papel, sua função e seu momento.

esteira programática que limita e trata todo mundo como iniciante perpétuo.

Não sei se entendi bem, mas irei responder com base no que eu entendi: Todo mundo é sempre aprendiz. Você pode ser o mestre de algo, seja em design pattern, ou algo do tipo, mas isso é apenas uma pontinha de nada. Ninguém sabe tudo, ninguém domina tudo. Programadores estão sempre aprendendo, quando eu digo isso, é todos oso dias. Não tem um fim para o aprendizado, você estará sempre estudando.

Já vi pessoas que programa em Java a 20 anos tendo aula num curso aqui perto sobre JavaScript, cujo eu participei de algumas aulas, e foi desde o básico mesmo, e ainda assim, em nenhum momento fez cara feia por ser tratado como um iniciante total. Na verdade era ele quem mais interagia perguntando sobre como funcionava as coisas com o JavaScript contrastanto com o que ele entende.

Há no Brasil essa cultura de ensino arrastado e lento, a qual sou totalmente contra.

O ensino é ruim, eu concordo, mas todo aprendizado leva tempo. Talvez você aprenda um pouco mais rápido que os outros, é normal, nem todo mundo é igual. Porém não acho que é cultura brasileira ou algo do tipo. Todo mundo tem seu ritmo, seja aqui ou lá fora. As vezes parece arrastado, as vezes parece lento, de qualquer forma, se você não está contente con isso, vire autodidata, faça sua pesquisas, tira suas conclusão. É o melhor caminho.

Ninguém vai te dar resposta pronta em curso nenhum, pois não existe. Programador tem que se virar de alguma forma. Tem sido assim desde muito tempo. É por isso que programadores veteranos são bons programadores, pois estiveram sempre se virando.

No fim, esta é minha opinião pessoal. Escolha seu próprio camimho. Com o tempo você irá colher o fruto com base em suas decisões, sendo bom ou ruim, assim como todo mundo :)

2

Eu acredito que não, a não ser que e equipe tinha um cara de back e outro de front e passa precisar só de uma pessoa. As equipes serão reduzidas, mas ainda serão disciplinas bem diferentes. Só quem não conhece bem acha que é parecido. E muitos "full stack" fazem mal um ou outro ou os dois.

Na verdade há tempos as equipes deveriam ser menos, toda meotodologia de criação de softwares está errada e por isso depende de mais gente do que realmente precisaria. A IA facilitará o que já deveia ser feito há muito tempo que é automatizar o desenvolvimento de software. Muito do trabalho que se faz é repetitivo e isso não faz sentido pelo menos desde os anos 90. Mas quase ninguém aprende porque quase ninguém ensina porque quase ninguém sabe como automatizar o processo.

Até sabem um pouco, mas nem sempre do jeito certo, que é o uso de frameworks, mas muitas vezes isso paga-se um preço no longo prazo e perde-se em algum aspecto. Isso é um pouco a defesa do uso deles, mas não da maneira como as pessoas usam e não dos que existem por aí (talevz com algumas exceções).

O processo do começo ao fim é o que eu falo no meu comentário principal, é sobre os fundamentos, não se a ferramenta é para back ou front. Quem quer avançar ápido, ser estimulado é a pessoa que gosta de cocaína, a pessoa terá um prazer imenso e vai se tornar escravo daquilo, até talvez te matar. Pular para desafios complexos é dar um tiro no pé. Nunca vbi uma exceção.

1

Discordo completamente da última parte do seu texto. Sempre aprendi mais rápido e com profundidade justamente em desafios complexos, não por um mero estímulo, mas porque a realidade é complexa por natureza (o mundo real não é simples). Pegue alguém que acabou de sair da faculdade ou de um curso básico: se você o coloca em um projeto real, ele vai se vê mergulhado em uma infinidade de detalhes e complexidades que nunca viu. E é aí que o verdadeiro aprendizado acontece: na necessidade de resolver problemas reais, não em conceitos abstratos e simplificados. Se eu for levar o seu comentário a sério, teria que acreditar que todos os programadores são viciados, porque de uma forma ou de outra vão enfrentar desafios complexos.

1

Sim, você já havia deixado claro no texto original, e você não está sozinho, a maioria discorda. Por isso tem vgas que não conseguem ser preenchidas e muita gente reclamando que não tem vaga ou são vagas que pagam menos que uma faxineira ganha.

Você não interpetou o texto como eu escrevi. quem quer ir devagar, passo por passo, começando pela base, progredindo na complexidade e nunca deixando de fazer isso busca justamente o oposto do que a cocaína dá é a pessoa que vai fazer exercícios físicos, ela sabe que o resultado bom virá depois de muito tempo, que no começo terá dor, não prazer. É disto que estou falando. É uma questão de raciocínio e método de aprendizado consagrado há milênios. Só coach diz o contrário para seus fiéis.

Eu não posso avaliar o seu desempenho, mas já avaliei de várias pessoas que usaram esse método e as pessoas conseguiam resultados, mas tudo errado, porque ela não sabia os fundamentos. Discordar que os fundamentos são muito importantes é um direito de todos, mas vai contra o que todos os realmente experientes dizem. Vai ver todos estejam errados.

Obviamente que eu não imponho o caminho que cada um quer traçar, mas em 40 anos na profissão eu vi de tudo, a não ser algum caso quase de genialidade, eu nunca vi uma pessoa progredir muito na carreira pulando etapas, um pouco é possível, se a pessoa depois perceber o erro e conseguir reparar depois, até dá.

Você deu o seu conselho para as pessoas, eu dei o meu, cada um vai ler e decidir qual seguir e arcar com as conseu~encias do que escolheu, todos possuem vantagens e desvantagens. Algumas formas as desvantagens não são tão aparentes e as vantagens parecem maiores do que são. O inexperiente mergulha nessas, o experienete acoselha o caminha mais difícil e menos prazeroso, que estima devagar sem picos de dopamina.

2

Exatamente!!! O pessoal acha que tomar um monte de estímulo por novos conteúdos, o fazem um dev foda, quando na vdd limita o entendimento do todo. Ah, mas eu implementei um sistem com microsserviços, filas e os cambau. Aí quando vai ver, a porcaria não escala pra lugar nenhum, só quem fez sabe dar manutenção e fica um elefante branco para a empresa ou projeto. Funcionou e resolveu? Sim, mas a que custo?
Complexidade não tem a ver com quantidade de conteúdos para se aprender, você pode estudar como trabalhar melhor a performance de uma feature, que pode ser muito complexa, porém um único conteúdo e se sair bem. Agora imagine fazer isso e outros 10 trabalhos igualmente complexos? Vai dar merda em algum deles ou todos. O ponto em questão é esse. Muito conteúdo que deve ser aprofundado vagarosamente para extrair o verdadeiro suco.

1

Exatamente isso, o que mais vejo hoje é coisas complexas sem necessidade, justamemte porque a pessoa pula etapas, ela quer fazer parte do que parece estar na moda, muitas vezes nem está, só está sendo muito comentado.

As pessoas acham que 90% usa microsserviçõs e só ela está de fora e se sente pressionada a usar igual um viciado em vários tipos de drogas, inclusive as legais (a maioria nem gosta, só usa porque os outrs usam), mas na verdade no futuro no máximo 10% dos sistemas vão ser microsserviços, só porque a pessoa se sente excluída por não fazer isso. Hoje nem perto de 1% dos sistemas são microsserviços. Provavelmente nem uma fração de 0,1% deles precisam ser assim ou obtém vantagens incontestáveis. O cara quer resolver um dos problemas mais complexos da computação sem saber os mais básicos antes.

E vejo muito isso. Casos de vários experientes que não dão valor para os fundamentos dizendo que resolveu o problema de performance com microsserviços, ficou caro, mas tá lá, e o mesmo cara diz que nunca precisou usar esse negócio de complexidade de algoritmo, que teria resolvido o problema dele melhor, mais fácil e muito mais barato.

Nos últimos anos, não era tanto assim no passado, as pessoas aparecerem com problemas complexos dizendo "resolve aí pra mim que eu não sei", em vez de querer aprender para ela poder resolver os problemas. Por isso as pepitas de ouro do SO estão no passado. E o cara fica bravo porque ninguém quer fazer o trabalho que ele não sabe fazer porque ele quis o estímulo de ver resultado logo.

-1