DESENVOLVIMENTO FULL STACK O guia completo para começar na área SOMOSTERA.COM A SUMÁRIO 02 INTRODUÇÃO 04 DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA 10 POR QUE SER FULL STACK? 20 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO 43 [BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO INTRODUÇÃO Quando falamos de linguagens de programação, o desafio parece ser o mesmo ou maior do que aprender uma língua diferente. Isso preocupa algumas pessoas, no entanto, o processo para ganhar ‘fluência’ na língua dos códigos não difere em nada das outras disciplinas: exige interesse, dedicação e passos na direção certa. Se você está lendo este e-book, pode estar querendo saber quais são esses passos. Por isso, ao longo do texto, queremos trazer esse caminho de conhecimentos e habilidades para você ingressar com confiança na carreira de desenvolvimento full stack. Você vai começar compreendendo sobre a área de desenvolvimento, vai conhecer a dinâmica da atuação nas empresas e, por fim, vai descobrir 8 passos essenciais para sair do zero até sua primeira oportunidade neste mercado que está mais aquecido do que nunca. Tudo isso com suporte das dicas de 3 experts desse mercado: SOMOSTERA.COM 02 PAULA ALLEMAND CÉSAR MARTINS MARCELO DE SIMONI Desenvolvedora de Software e expert na Tera Engenheiro de Computação e desenvolvedor de novos produtos na Tera Software Development Project Leader no Mercado Livre Após ler este e-book, esperamos que você: » conheça o que são stacks e as diferenças entre elas; » descubra como a carreira de full stack pode ser promissora; » entenda as linguagens de programação que você pode estudar; » saiba como escolher um bom curso de full stack e montar seu portfólio. Vamos começar essa jornada? Boa leitura! SOMOSTERA.COM 03 DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA _ DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA Apps de celular, sistemas para PC, aplicações acessadas na internet, sites de banco, sites de streaming: o que todos esses sistemas tecnológicos têm em comum? Eles foram construídos com um método, um esquema, uma sistematização. É claro que o processo não necessariamente seguiu as mesmas etapas ou envolveu as mesmas funções, mas existiu e seguiu uma estrutura. Esse processo é o objeto de estudo da área de desenvolvimento de software. Esse campo está preocupado em entender como conseguir criar sistemas tecnológicos de maneira eficiente, pensando nas necessidades das pessoas em utilizá-los. SOMOSTERA.COM 05 _ DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA FASES DO DESENVOLVIMENTO Como surge um site ou aplicativo? Antes de colocar a mão na massa e ‘codar’ —ou seja, usar um código—profissionais de desenvolvimento de software costumam seguir algumas etapas. Algumas delas, inclusive, têm interação com outros setores da empresa. Para que você entenda melhor a dinâmica, separamos algumas das etapas que costumam fazer parte do processo. 1 COMPREENSÃO DAS NECESSIDADES DE CLIENTES Tudo começa com o estudo das necessidades de quem vai utilizar o software, pois ele é produzido para ANÁLISE DE REQUISITOS Requisitos são basicamente as características e funcionalidades de todo sistema. A partir de uma necessidade, o time chega a diversas funções que implementam uma solução. 2 atender a uma delas. 3 PROGRAMAÇÃO Essa é a fase de utilizar uma linguagem e de fato colocar a mão na massa na codificação das funcionalidades do produto. TESTES Depois que você já implementou algo e tem um sistema funcional em mãos, é interessante realizar a testagem do produto para garantir que ele está consistente e que ele realmente atende aos objetivos traçados. 4 5 SOMOSTERA.COM IMPLEMENTAÇÃO Nessa fase, o produto será finalmente implantado no ambiente em que as pessoas usarão ou será transformado em uma versão para ser baixada. 06 _ DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA ENTENDENDO AS STACKS Stacks são grupos de conhecimentos e tecnologias usadas no desenvolvimento de software. Você já deve ter ouvido termos como front-end e back-end. Além dessas duas stacks mais conhecidas, o mercado tem criado ainda outras frentes de trabalho. Entenda mais de cada uma dessas vertentes a seguir. FRONT-END A tarefa de profissionais front-end é construir um esqueleto estrutural de uma página e de um conjunto de páginas com seus devidos links. Define o posicionamento de elementos, pensa as interações com o usuário, estabelece animações e recursos gráficos dinâmicos e desenvolve um fluxo de utilização. Assim, cuida do design e da experiência de uso. [Linguagens que usa: JAVASCRIPT | HTML | CSS] SOMOSTERA.COM 07 _ DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA BACK-END O back-end é responsável por gerenciar a lógica do servidor em uma aplicação web: administrar requisições enviadas pela pessoa usuária, autenticar e validar informações, fazer conexões com APIs e códigos de outras aplicações, etc. Cuida do aspecto interno e infraestrutural. [Linguagens que usa: Python | PHP | Java] MOBILE O desenvolvimento mobile é aquele que aplica conhecimentos de design e interação das pessoas usuárias, lógica de programação e lógica de acesso aos recursos de um dispositivo para criar produtos que rodam em hardwares compactos, com menor tamanho e menor poder de processamento/armazenamento. A pessoa especializada nisso tem que saber criar interfaces legíveis em pequenas telas, bem como saber se comunicar com as especificidades dos aparelhos nos quais o sistema vai rodar. SOMOSTERA.COM 08 _ DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA BANCO DE DADOS Para que um sistema simule a realidade e resolva um problema concreto, é preciso utilizar estruturas que armazenam dados. Os bancos de dados são modelados e construídos a partir do mundo real para permitir o gerenciamento e a automatização de ações comuns no nosso mundo. Funcionam como uma memória do sistema para permitir que ele consiga operar e registrar informações úteis. A habilidade aqui envolve a modelagem de bancos que atendam a um problema e a um conjunto de requisitos, a criação desses bancos com uma linguagem específica, as consultas/manipulações dos dados e o controle de restrições e de acesso aos dados. INFRAESTRUTURA Todo sistema precisa rodar em algum lugar. A infraestrutura cuida do momento de colocar um sistema no ar e das estruturas necessárias para que a aplicação funcione corretamente. Também gerencia manutenção e possíveis mudanças que serão feitas no futuro, uma vez que o sistema já é público e já funciona em um ambiente. Pensa em termos de computação em nuvem, integração contínua, testes, DevOps e outros conceitos relevantes. SOMOSTERA.COM 09 POR QUE SER FULL STACK? _ POR QUE SER FULL STACK? Depois de navegar por todas essas stacks, você pode se preocupar com o tanto de conhecimento que uma pessoa full stack vai precisar acumular. Mas, não se preocupe, dominar o processo de ponta a ponta acaba sendo não só uma vantagem de mercado, como também uma facilidade por ter a autonomia do desenvolvimento. Queremos te contar um pouco mais sobre a dinâmica de profissionais full stack. Confira a seguir alguns fatos sobre essa carreira e sobre profissionais que atuam em múltiplas stacks. SOMOSTERA.COM 11 _ DESENVOLVIMENTO DE SOFTWARE: CONHECENDO A ÁREA PROFISSIONAL FULL STACK Tem as habilidades para tratar desde os requisitos até a implantação. Conhece diferentes linguagens de programação. Tem capacidade de autogestão e auto-organização do trabalho. O Fórum Econômico Mundial destaca o desenvolvimento full stack como uma das áreas promissoras dos últimos tempos. Tem desejo de adquirir mais conhecimento continuamente. SOMOSTERA.COM Mesmo que não precise executar todo o trabalho, tem visão ampla para garantir entregas de qualidade no time. Relatórios como o HackerRank destacam o desenvolvimento full stack como uma das áreas mais requisitadas do momento. Segundo a Catho, o estado de São Paulo registrou crescimento de 671% em 2020 em vagas do setor. Sabe trabalhar em equipe e gosta de resolver problemas de maneira criativa. 12 _ POR QUE SER FULL STACK? ATUAÇÃO NAS EMPRESAS Como falamos antes, a pessoa que atua como full stack não tem capacidades sobre-humanas, com conhecimentos absurdos em todas as áreas. Pode ser uma pessoa que é muito boa no front-end, mas conhece e sabe usar as tecnologias mais relevantes de back-end, de banco de dados e de infraestrutura. Ou uma pessoa de back que também conhece front e banco de dados. Ou seja, o perfil varia, assim como as atribuições nas empresas. Isso faz com que uma transição de carreira para a área seja viável para profissionais com diferentes bagagens prévias. SOMOSTERA.COM 13 _ POR QUE SER FULL STACK? “Qualquer pessoa pode ser desenvolvedora desde que ela tenha acesso aos recursos necessários e se dedique para aprender um novo conjunto de competências. Culturalmente a gente tem uma ‘imagem’ do que seria uma pessoa desenvolvedora, mas é importante entender que não existe uma limitação de perfil. Inclusive, se você é uma pessoa que faz transição de carreira, a sua história e aquilo que você já desenvolveu tem muito valor. Não é como se a gente começasse do zero. Todas as experiências passadas podem contribuir para sua atuação. Vir de outra área não é limitante e inclusive pode ser um agregador. ” PAULA ALLEMAND Desenvolvedora de Software e expert na Tera SOMOSTERA.COM 14 _ POR QUE SER FULL STACK? O cenário mais comum para programadores e programadoras full stack é virar o “faz-tudo” da sua empresa. A pessoa já é contratada para lidar com todo tipo de problema na criação ou manutenção de sistemas web, em um papel generalista. Isso acontece principalmente em empresas menores, que não dispõem de orçamento para divisões entre especialistas. Entretanto, existe também a situação em que a pessoa full stack é contratada para atuar em conjunto com front-ends e back-ends. Principalmente em organizações que já não atuam mais no modelo de cascata e adotaram uma estratégia de desenvolvimento ágil. Nesse caso, ela chega para ajudar em ambos os lados, atuando como uma assistência onde quer que seja necessário. Assim, profissionais de desenvolvimento full stack atuam com uma visão holística, ampla, profunda, de quem pode gerenciar e administrar a equipe. Podem até mesmo representar a equipe de devs em reuniões e interações com as pessoas de negócios. SOMOSTERA.COM 15 _ POR QUE SER FULL STACK? Além disso, devs full stack podem atuar especificamente como front, como back ou como administradores de banco de dados também. Sendo que essas pessoas são flexíveis o suficiente para assumir outras funções sempre que for necessário, por algum problema ou alguma saída de componentes na equipe. “A abordagem full stack é super importante principalmente para profissionais que estão em início de carreira. Primeiro porque, ao conhecer front e back end, a empregabilidade de profissionais aumenta, tornando o leque de oportunidades muito maior. Quando a gente olha para o mercado, tanto o front quanto o back-end têm ótimas oportunidades.” MARCELO DE SIMONI Software Development Project Leader no Mercado Livre SOMOSTERA.COM 16 _ POR QUE SER FULL STACK? SALÁRIOS De acordo com dados do portal Glasdoor, o salário médio de desenvolvedores ou desenvolvedoras full stack junior é de R$ 2.690 mensais no Brasil. Para uma pessoa sênior, o valor aumenta bastante, para R$ 8.075. É interessante observar o que o Glassdoor nos mostra sobre os salários específicos em determinadas empresas. No iFood, devs full stack ganham em média de R$ 7 mil a R$ 8 mil por mês. Já uma pessoa com perfil de sênior na empresa de entregas ganha em média cerca de R$ 14.500 a R$ 15.745. SOMOSTERA.COM 17 _ POR QUE SER FULL STACK? “Essa evolução salarial pode acontecer em um período de tempo bem interessante, dependendo da dedicação e da ascensão da pessoa. Não é algo que demora muitos e muitos anos, como acontece em áreas mais tradicionais. Isso porque o mercado da área está muito aquecido. Uma pesquisa da Associação Brasileira de Empresas de Tecnologia da Informação que diz que, até 2024, 260 mil vagas de programadores não serão preenchidas. Ou seja, vai haver um déficit nesse mercado no Brasil. Isso foi acelerado pela pandemia, em que apenas em São Paulo tivemos um aumento de 600% de anúncios de vagas para desenvolvedores. Essa demanda tende a crescer não só no Brasil como no exterior, consequentemente inflacionando os salários.” CÉSAR MARTINS Engenheiro de Computação e desenvolvedor de novos produtos na Tera SOMOSTERA.COM 18 _ POR QUE SER FULL STACK? É importante avaliar os diferentes casos. O fundamental nesse sentido é que a área é devidamente requisitada e oferece de fato muitas oportunidades interessantes. Até mesmo fora do Brasil, as pessoas que estudam full stack conseguem vagas com bons salários e oportunidades de ascensão. É preciso deixar claro que esses valores podem variar bastante a depender da vaga e do nível de senioridade exigido. SOMOSTERA.COM 19 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO Para quem está em transição de carreira, é comum ouvir sobre a necessidade de “dar um passo de cada vez”. O problema, em geral, é entender com clareza quais são esses passos. Esse é seu caso? Para ajudar, criamos um pequeno guia de 8 passos para trabalhar com desenvolvimento full stack. Acompanhe as dicas de experts da Tera. SOMOSTERA.COM 21 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 1 DESENVOLVER RACIOCÍNIO LÓGICO E LÓGICA DE PROGRAMAÇÃO Em programação, o raciocínio lógico é essencial. Para as tarefas dessa área, você precisará de uma mentalidade focada em resolver problemas, em criar fluxos e encadeamentos lógicos e em compreender operações lógicas básicas, como “e” e “ou”. Esse raciocínio que estrutura ideias em sequências, com uma forte ligação de causa-consequência e organização de pontos de decisão, é a base para tudo. Nesse contexto, destaca-se a própria noção de algoritmo como um conjunto de etapas encadeadas e uma receita para construir algo. Com isso, chegamos também à lógica de programação, outro conhecimento base que você precisa começar a desenvolver desde agora. SOMOSTERA.COM 22 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “Independente de ferramentas, algumas habilidades são essenciais para qualquer profissional de tecnologia independente da posição e função que atue. Para quem segue o caminho do desenvolvimento de software, a lógica de programação, independente da linguagem, é fundamental para se desenvolver e fortalecer cada vez mais.” MARCELO DE SIMONI Software Development Project Leader no Mercado Livre Antes mesmo de se aprofundar em uma linguagem como JavaScript ou Python, é importante reforçar bastante a lógica de programação, aprender os conceitos mais relevantes e entender a sintaxe de cada uma das linguagens. O ponto interessante sobre aprender lógica é que ela se aplica a qualquer tecnologia de programação. Assim, com uma boa base em lógica, você será capaz de se aventurar por outras linguagens e resolver problemas de forma mais simples. SOMOSTERA.COM 23 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 2 APRENDER LINGUAGENS DE PROGRAMAÇÃO Depois de entender a lógica de programação, você pode começar a explorar as linguagens de programação. Como você viu nas stacks, cada área usa linguagens diferentes, de acordo com a necessidade do trabalho. Linguagens como JavaScript e HTML, por exemplo, são bons pontos de partida. Para chegar a full stack, você pode começar aprendendo linguagens front-end. Ou seja, é preciso saber como construir uma estrutura principal em HTML, como personalizar o estilo com CSS e como desenvolver uma lógica para as páginas com o JavaScript. É necessário ir além dos conhecimentos básicos e saber solucionar problemas com eficiência a partir do uso dessas tecnologias. O Google criou o aplicativo Grasshopper para iniciantes aprenderem programação em JavaScript. Ele é gratuito e tem uma versão em português, basta procurar na loja de aplicativos do seu celular. SOMOSTERA.COM 24 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO Já na stack back-end, você pode aprender PHP, Python, Java, C++, C# e até mesmo JavaScript para usar na construção de infraestruturas. Claro, para cada projeto, você escolherá uma delas, mas pode aprender mais de uma para ter uma boa noção e poder explorar outras possibilidades. É preciso saber como aplicar os conceitos dessas linguagens para web especificamente, com autenticação e validação de informações, APIs, controle de bancos de dados e outros. Da mesma forma, é fundamental também conhecer os frameworks e as bibliotecas específicas para o back-end. SOMOSTERA.COM 25 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 3 CRIAR UM OLHAR VOLTADO PARA O USUÁRIO Para além dos códigos, é essencial ter uma visão humanizada e centrada na pessoa que vai usar o site ou aplicativo que você desenvolver. Por isso, conceitos como usabilidade e mobile first precisam fazer parte do seu vocabulário. A usabilidade pode ser considerada como parte do front-end, então, também faz parte do universo full stack. A pessoa programadora que se dedica a essa área deve, portanto, saber desenhar telas de acordo com os requisitos definidos, sempre prezando pela melhor experiência de uso e por agilidade e eficiência. É necessário ter a habilidade de construir interfaces agradáveis, modernas e sólidas. SOMOSTERA.COM 26 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “Existe um imaginário cultural de que, quando você trabalha com tecnologia, você trabalha exclusivamente com ferramentas, softwares, aparelhos e o fator humano não está presente. Mas, na prática, quando a gente vê o quanto o mercado se transformou e as necessidades do mercado digital, pensar no usuário deixa de ser uma opção e passa a ser a principal motivação daquilo que a gente está construindo. Então, como pessoa desenvolvedora, quando a gente mexe com códigos, é importante lembrar que escrevemos códigos para pessoas e não para máquinas. Apesar de um código precisar conversar com uma máquina de maneira bem sucedida, a máquina não é o nosso foco, ela é um meio. ” PAULA ALLEMAND Desenvolvedora de Software e expert na Tera SOMOSTERA.COM 27 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO Além de saber desenvolver boas interfaces, devs full stack precisam também saber adaptar suas telas para o mobile, o que inclui smartphones e tablets. É importante, sobretudo, pensar primeiro no mobile, com a criação de telas que já priorizem essa adaptabilidade desde o começo dos projetos. Desse modo, tudo é feito com as melhores práticas. SOMOSTERA.COM 28 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 4 DESENVOLVER COMPETÊNCIAS SOCIOEMOCIONAIS No seu percurso de desenvolvimento, não esqueça das soft skills, ou seja, as competências socioemocionais. Elas serão grandes diferenciais tanto na hora da entrevista de emprego quanto no dia a dia de interação com as equipes. A colaboração e a comunicação são duas competências importantes no currículo da pessoa full stack. Isso porque você trabalhará muito em equipe. Grandes empresas e startups contam com times com várias pessoas desenvolvedoras, que precisam trocar experiências e informações sobre o processo de produção. Além disso, é preciso também ter uma boa comunicação com outros times e compreender demandas apresentadas por pessoas de outros setores. Conseguir tornar seu conhecimento na área acessível para quem não tem intimidade com esse universo e saber como se adaptar ao linguajar de outros setores vai ser um trunfo na carreira. SOMOSTERA.COM 29 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “É preciso ser uma pessoa que tem uma comunicação assertiva, que passa uma mensagem clara para quem trabalha com você e para líderes — isso é algo fundamental. Além disso, desenvolver empatia e saber se colocar no lugar das outras pessoas, trabalhar em equipe e colaborar é extremamente necessário.” MARCELO DE SIMONI Software Development Project Leader no Mercado Livre Outras skills comportamentais também chamam a atenção no contexto do desenvolvimento full stack. Um dos exemplos é a postura de curiosidade, que sempre deseja se atualizar com relação a novas tendências. Assim, a pessoa desenvolvedora usufrui do melhor do que está disponível no mercado e alcança melhores resultados. Paula Allemand, que é desenvolvedora de software, aponta mais algumas soft skills que contribuem positivamente para o desempenho de uma pessoa full stack: proatividade, compreensão do modelo de negócio, escuta ativa e inteligência emocional. SOMOSTERA.COM 30 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “Ser uma pessoa proativa envolve não esperar um script pronto, mas conseguir perceber as nuances de um problema e ir atrás de conhecimentos. Com isso, você vai conseguir trazer propostas inovadoras e isso é muito benéfico dentro da tecnologia. Além disso, duas outras skills importantes são a escuta ativa e comunicação, que vão te ajudar a ouvir e a expressar suas ideias. A comunicação é uma soft skill super importante pra uma pessoa desenvolvedora, porque vai permitir que a pessoa desenvolvedora consiga “traduzir o tecniquês” e conversar com pessoas de outros cargos. É importante salientar que as necessidades de soft skills podem variar dependendo do perfil da empresa. Uma empresa mais hierárquica pode buscar competências diferentes de uma startup, por exemplo. ” PAULA ALLEMAND Desenvolvedora de Software e expert na Tera SOMOSTERA.COM 31 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 5 FAZER UM CURSO DE FULL STACK Um curso de full stack vai fornecer a base que você precisa para construir suas habilidades da melhor maneira possível. Um bom curso ensinará os princípios mais básicos do funcionamento da web primeiro, depois estabelecerá os conceitos mais complexos, com uma boa divisão entre front-end e back-end. Além disso, um curso completo vai permitir que estudantes tenham uma visão completa do processo de criação de um site ou aplicação web. SOMOSTERA.COM 32 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “O mais importante na hora de escolher um curso para entrar na área de desenvolvimento de software é considerar se é uma formação completa, que considera desde conceitos fundamentais - para ter uma base sólida - até os conceitos técnicos mais modernos e avançados que são usados no mercado, passando sempre pelas soft skills habilidades comportamentais. Além disso, se seu objetivo for entrar nessa área, é importante que o curso apoie de maneira próxima nessa jornada de empregabilidade.” CÉSAR MARTINS Engenheiro de Computação e desenvolvedor de novos produtos na Tera SOMOSTERA.COM 33 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO SOMOSTERA.COM 34 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 6 CRIAR CURRÍCULO E PORTFÓLIO Mais um passo importante antes de conquistar sua primeira vaga como full stack é ter um currículo e um portfólio adaptados para esse mercado. Programação é uma atividade que requer prática para que as pessoas consigam aprender e evoluir. Por isso, é sempre muito pertinente se envolver em projetos práticos, problemas clássicos e desafios para colocar na tela o que você tem aprendido. A partir disso, estudantes vão se tornando mais fluentes nos idiomas específicos da programação. Nesse quesito, cabe a você escolher: projetos pessoais com o intuito de treinar, projetos individuais ou em grupo feitos em cursos da área, projetos de outras pessoas no GitHub ou projetos e desafios que determinados sites como o Frontend Mentor oferecem. A vantagem dos três primeiros é poder publicar em seu portfólio e mostrar em entrevistas. SOMOSTERA.COM 35 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO DICA O GitHub é uma plataforma de armazenamento de código, gestão de projetos e também uma rede social para profissionais de desenvolvimento de software. É muito conhecido pela maioria das pessoas de tecnologia, principalmente por sua facilidade de uso e suas vantagens. Já no currículo, é essencial constar suas certificações e estudos na área, bem como experiências profissionais. Ah, e lembre-se que ter seu perfil atualizado no LinkedIn e em outras plataformas de vagas é fundamental para aumentar as chances de garantir uma oportunidade. Isso porque muitas empresas estão buscando talentos diretamente nesses espaços. Se você tiver dúvidas sobre os melhores perfis de empresas para começar a se candidatar como full stack, aproveite a dica do expert César Martins: SOMOSTERA.COM 36 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “O melhor tipo de empresa para começar são empresas que entendem que profissionais em início de carreira precisam de um suporte para evolução. É importante que seja um ambiente que propicie essa troca, essa evolução da pessoa através da troca com profissionais mais experientes dentro da empresa. Empresas de tecnologia tendem a ter esse perfil, assim como startups mais consolidadas e empresas como fábricas de softwares. É importante que quem se candidata para uma empresa se sinta confortável e sinta que possa se desenvolver lá.” CÉSAR MARTINS Engenheiro de Computação e desenvolvedor de novos produtos na Tera SOMOSTERA.COM 37 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 7 SE ADEQUAR AO MODELO DE NEGÓCIO DA EMPRESA Uma pessoa fluente em desenvolvimento full stack é alguém que também conhece bem regras de negócio e sabe transformá-las em código. Ou seja, é alguém que entende e se adapta a diferentes modelos de empresas para resolver seus problemas de maneira eficiente. Isso requer conhecimento que vai além da programação e de questões técnicas de TI. Envolve conhecimento de mundo e de conjunturas. Entender sobre o modelo de negócio requer uma visão mais ampla tanto sobre objetivos da empresa — seus alvos, seus produtos e indicadores de sucesso — quanto sobre o público-alvo daqueles produtos e/ou serviços. Esse tipo de versatilidade e entendimento vai impactar na forma como a pessoa se comunica com profissionais das outras áreas do negócio, assim como ela se porta em entrevistas, mostrando interesse genuíno em participar do sucesso daquela organização. SOMOSTERA.COM 38 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “Na hora de participar de processos seletivos, é super importante entender não só o modelo de negócio de uma empresa, mas também o propósito, a missão que aquela empresa tem e que pratica no dia a dia. Essas são informações de domínio público e que empresas colocam nos sites e redes sociais, são informações muito bacanas para quem está almejando vagas nessas companhias. São informações que dizem muito sobre o que a empresa busca e valoriza e vai ajudar a estar aderente a aquela empresa.” MARCELO DE SIMONI Software Development Project Leader no Mercado Livre SOMOSTERA.COM 39 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO PASSO 8 CONTINUAR APRENDENDO Continue sempre aprendendo. Mesmo que você chegue a um nível muito bom em suas linguagens escolhidas e consiga ótimos resultados em projetos como full stack, sempre se mantenha em estado de aprendizado. Afinal, essa área muda muito e requer, como já foi falado, que estudantes e profissionais se mantenham sempre em contato com as atualizações. Sabemos que a quantidade de conteúdos nessa área pode assustar quem está iniciando na área. No entanto, lembre-se que, em um cenário de constante mudança, ninguém nunca saberá tudo sobre todos os temas. Todos estão em processo de desenvolvimento, até mesmo pessoas com muitos anos de mercado. Focar em uma linguagem de cada vez é uma ótima alternativa para se desenvolver. SOMOSTERA.COM 40 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO “É um fato que tecnologia tem muita coisa diferente e muita coisa que muda, então é importante saber como você lida com isso. Muita gente me pergunta como lidar com a ansiedade e a sensação de que tem muita coisa para ser estudada, mas é necessário trabalhar nas causas dessa ansiedade e conseguir tornar essas questões em combustível para a motivação de continuar aprendendo. Para uma pessoa em início de carreira, uma boa iniciativa é escolher uma coisa e focar naquilo já que, quando você desenvolve sua habilidade de lógica de programação e construção de algoritmos e passa a se sentir confortável ao desenvolver uma linguagem, a tendência é que seja muito mais fácil você experimentar outras linguagens e entender outros frameworks. Por isso, o foco pode ser uma ótima alternativa para os primeiros passos.” PAULA ALLEMAND Desenvolvedora de Software e expert na Tera SOMOSTERA.COM 41 _ 8 PASSOS IMPORTANTES PARA ENTRAR NESSE MERCADO Segundo o HackerRank, estudo que já comentamos aqui, 60% de profissionais full stack tiveram que aprender um novo framework ou uma nova plataforma no ano passado. É uma porcentagem maior do que qualquer outra posição profissional. Isso se dá porque novas tecnologias surgem a todo tempo — frameworks de JavaScript, por exemplo, são inúmeros e continuam crescendo. É crucial desenvolver a curiosidade para ir atrás de novas tecnologias, frameworks e padrões: programação é sempre estar buscando novas formas de resolver problemas. SOMOSTERA.COM 42 [BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO _ [BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO Que tal começar agora mesmo seus estudos? Um bom ponto de partida é entender mais sobre alguns termos do universo de Desenvolvimento de Software. Separamos alguns deles, com um breve resumo de cada um, e você pode pesquisar e se aprofundar em cada conceito. SOMOSTERA.COM 44 _ [BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO GLOSSÁRIO DE PROGRAMAÇÃO LINGUAGEM DE PROGRAMAÇÃO Assim como os idiomas tradicionais de comunicação entre humanos, as linguagens de programação são códigos que permitem a comunicação entre dois agentes. No caso da programação, um dos agentes é uma pessoa e o outro é uma máquina. REACT O React é uma poderosa biblioteca para construção de interfaces visuais em JavaScript. Ou seja, é uma ferramenta ideal para o desenvolvimento front-end. GIT Trata-se da tecnologia de controle de versão dos códigos publicados e armazenados no site. Ou seja, é a ferramenta que permite gerenciar o histórico de mudanças, recuperar o sistema para uma versão estável, entre outras soluções. GITHUB O GitHub é uma plataforma de armazenamento de código, gestão de projetos e também uma rede social para profissionais de desenvolvimento de software. SOMOSTERA.COM 45 _ [BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO VARIÁVEIS Elas representam um espaço na memória disponível para alocar um determinado valor. O objetivo é registrar uma informação importante para utilizá-la posteriormente. FUNÇÕES Funções são pedaços de código que executam alguma tarefa específica. Assim, toda vez que chamamos essa função, obtemos a sua solução de forma simples e encapsulada. CONDICIONAIS As estruturas condicionais dividem o fluxo em uma lógica similar a de uma árvore. Cada condição permite que o sistema vá para um lado ou para outro da ramificação. Um exemplo é o bloco “if-else”. FRAMEWORKS Em tecnologia, frameworks são padrões de bibliotecas e classes que podem ser usados em diferentes projetos. Ou seja, são uma espécie de código pronto que pode agilizar o trabalho de programação. SOMOSTERA.COM 46 _ [BÔNUS] GLOSSÁRIO DE PROGRAMAÇÃO DOM É a estrutura de elementos de uma página. O DOM significa Modelo de Objeto Documentado e é o conjunto de tags do HTML, dispostas em uma hierarquia no modelo de árvore. IDE Integrated Development Environment é uma plataforma completa para desenvolvimento de aplicações em linguagens de programação. API É um código em comum que possibilita a comunicação entre dois sistemas. DEPLOY Deploy é o processo de finalização de um projeto, em que se gera um código para exportar a aplicação para ser usada por outras pessoas no dia a dia. SOMOSTERA.COM 47 CONCLUSÃO Ser full stack requer uma mudança de mentalidade por parte das pessoas que se dedicam a programar para web. Não é a tradicional divisão de saberes, em que você apenas se preocupa com a sua parte, mas uma aglutinação dos principais conhecimentos para obter uma visão geral na hora de ajudar um negócio a oferecer boas soluções para usuários. Se você está dando os primeiros passos nessa carreira, esperamos que este e-book tenha trazido mais clareza sobre as possibilidades de atuação, o mercado e as habilidades mais relevantes. Sente que já é hora de avançar e entrar de vez nesse universo? A Tera tem um curso completo de Full Stack Development para te levar do zero até sua entrada no mercado. Acesse o site e descubra como os projetos práticos, mentorias de carreira e bolsas estudantis vão te ajudar. CONHEÇA O CURSO SOMOSTERA.COM 48 SOBRE A TERA Somos mais do que uma escola, somos uma comunidade de pessoas apaixonadas por educação e tecnologia. Acreditamos que um mundo melhor nasce do trabalho de pessoas conscientes, responsáveis e corajosas que se apropriam da tecnologia para servir ao coletivo. EQUIPE EDITORIAL Redação Gabriel Sacramento e Rebeca Nascimento Revisão Ana Paula Lafuente Direção de arte Tatiane Rocha Diagramação Marina Ferreira Apoio de conteúdo César Martins SOMOSTERA.COM SOMOSTERA.COM 51