4 conhecimentos essenciais para desenvolvedores iniciantes
Tags: webdev, beginners, programming, productivity
Published: 2022-08-12 22:18:02

**Antes de tudo, quero deixar um pequeno alerta:**

Este artigo foi baseado na minha experiência e de coisas que eu gostaria de saber quando comecei na área de programação e em conversas com outros colegas e amigos do sector. Então, isso não é regra e muito menos uma verdade universal. É somente minha opinião e fique a vontade para discordar.

É muito comum para iniciantes questionarem quais tecnologias estudar? Qual é a melhor linguagem para começar? E se essa tal tecnologia (linguagem) tem mercado?.

São dúvidas totalmente válidas, pôs, está iniciando e não conhece como funciona o mercado de trabalho e não tem ninguém para orientá-lo, então é muito comum, ele terceirizar as suas decisões.

Mas neste pequeno artigo, irei listar alguns conhecimentos que são Imprescindível para se ter, pôs boa parte deles, as empresas pedem ao desenvolvedor conhecer. Sem mais voltas, vamos lá:

**1. Git**

Em qualquer momento você irá trabalhar em um projecto grande, manter diferentes versões da aplicação é uma tarefa, as vezes incomôdas. Por sorte, temos este software lindo <u>Git</u> para nos ajudar.

Você pode aprender o básico do ***Git*** [aqui](https://dev.to/ruppysuppy/git-fundamentals-concepts-commands-simplified-2k4j).

Git é um software que rastreia as suas mudanças em qualquer repositório ou directório inicializado. Isso é útil para coordenar com seus colegas programadores para colaborar e para rastrear alterações em qualquer conjunto de arquivos ou projectos.

**2. Inglês**

Aprender um novo idioma pode ser uma experiência muito _numa_ (fixe) para qualquer um. Pessoas aprendem novos idiomas por muitas diferentes razões, tal como viajar ou trabalho, e tem muitos benefícios.

E para nossa área aprender inglês possuí muitas vantagens que nem preciso fazer uma lista, daria para escrever um artigo só sobre isso. Mas com inglês na nossa área, você terá muitas vantagens, já que boa parte da literatura/manual/documentação é escrito muitas vezes em essa língua e só depois de um tempo é que começa a se trabalhar em traduções para outros idioma, e que é uma coisa que por vezes demora, pôs falta de interesse de alguém se dedicar pra traduzir o conteúdo, principalmente quanto não existe nenhum interesse comercial.

**Isso acontece, porquê simplesmente, o Inglês é o idioma comercial/global.**

Só pra se ter conhecimento, um exemplo, é a documentação do [Styled Components](https://styled-components.com/docs/advanced) que não tem a versão para o Português.

_Então: Aprenda inglês!_

**3. REST API**

Quando você estiver trabalhando em aplicação do mundo-real, você vai precisar pegar dados de outros servidores. API's disponiblizam _end-points_ para partilhar dados entre sua aplicação e de vários serviços hospedados na web.

Aprenda mais sobre API's [aqui](https://medium.com/analytics-vidhya/what-is-an-api-api-for-beginners-4854f34153e).

**4. DOCKER**

O objectivo dessa secção não é de descrever tudo sobre o **docker**. Mas, simplesmente apresentá-lo e sua importância.

**O que é Docker?**

Docker é uma ferramenta open-source projetada para criar, executar e fazer o deploy de aplicações de uma maneira muito fácil.

De certa forma, é o mesmo que uma Máquina Virtual, mas diferente da Máquina Virtual, ao invés de criar um sistema operacional virtual inteiro, o Docker permite que os aplicativos usem o mesmo kernel. (Não precisa se atentar a esse detalhe ainda) .

**Porquê Docker?**

> Vejamos um cenário muito comum: Alguém da sua equipa adicionou uma nova feature ou atualizou uma determinada depedência no projecto, e localmente na máquina dele funciona católicamente (bem), mas pelas barbas de Odin, essa alteração não funciona em produção ou até mesmo na sua máquina. Essa pessoa instalou essa depedência em sua máquina, neste caso para funcionar ele também teria que instalar a mesma em _produção_ e você teria que instalar a mesma dependência na sua máquina. O propósito do Docker é resolver este problema.

_Evitar o clássico: Mas na minha máquina funciona._



**Alguma sugestão ou correção? Deixa nos comentários. Obrigado por ler!.**

**LinkedIn: [Martins Gouveia](https://www.linkedin.com/in/martins-gouveia/)**
**Instagram: [recitomartins](https://www.instagram.com/recitomartins/)**

**Recomendações**

Maratonar essa playlist no youtube do **canal do Fábio Akita** [Programação para Iniciantes](https://www.youtube.com/playlist?list=PLdsnXVqbHDUc7htGFobbZoNen3r_wm3ki)


**FONTES**

Git: [https://dev.to/abbhiishek/why-and-how-git--25cl](https://dev.to/abbhiishek/why-and-how-git--25cl)
Docker: [https://dev.to/nimatrazmjo/how-to-dockerize-your-application-4mj7](https://dev.to/nimatrazmjo/how-to-dockerize-your-application-4mj7)
Studio Cambridge: [https://www.studiocambridge.co.uk/why-it-is-important-to-learn-english/](https://www.studiocambridge.co.uk/why-it-is-important-to-learn-english/)