Tenho recebido mensagens constantes de pessoal a pedir ajuda para TI. Reparei que os jovens dinâmicos não tem para onde se virar, portanto vou colocar aqui as razões e possíveis roadmaps.

Isto é dirigido a que pessoas? Para pessoal que quer fazer conversão para TI, não tem curso (pode ter mas não na área) e não sabe por onde começar, com o solo objetivo de arranjar trabalho.

Como são feitos os programas que consumimos:

​

https://preview.redd.it/mm6tbub248x71.png?width=877&format=png&auto=webp&s=bcc3f35e3c92509c4262008abfe252cce01ee2de

Front-end: Normalmente o site, tipo o reddit. Tem HTML, JS, CSS

Back-end: Código do servidor que dá os dados para a app usar. Programado normalmente em Java, C#, também javascript, ect…

Database: A base de dados. Guarda os dados. Normalmente usa SQL

DevOps: Nome fancy para workflow de testar e publicar o teu código (eu sei que é mais coisas).

A melhor forma de se arranjar trabalho aqui sem curso? a resposta é **Front-end** e **DevOps**. Essencialmente as faculdades tem ensino tradicional e não atacam tanto Front-end e DevOps. Vamos tirar partido disso:

1. Pesquisem vagas. Olhem para vagas no **StackOverflow** e **ITJobs**, comparem por exemplo a pesquisa “redes” com “React” ou “Angular”. React e Angular são as partes principais de Front-end, vão ver uma lista com 20 páginas no ITJobs. Redes e Cybersegurança são por norma trabalhos bem pagos e já estão embebidos nos serviços cloud. Dai não se ver tantos jobs, e os que há são técnicos.
2. Percebemos agora que queremos dar ao nosso empregador a capacidade de fazer web apps, assim como testar e colocá-las na cloud para toda a gente usar.
3. Passo técnico (roadmap 2021: [https://github.com/kamranahmedse/developer-roadmap](https://github.com/kamranahmedse/developer-roadmap))
1. Aprender Javascript. Depois disso CSS e HTML
2. Introduzir Nodejs para servidor de desenvolver Front-end. Perceber o conceito de SPA e MVC.
3. Escolhe: React ou Angular. Percebe a diferença. Tens outros, as pessoas vão mencionar VueJS nos comments, mas tu és um jovem dinâmico, ignora.(Joke) Link: [https://pagepro.co/blog/react-vs-angular-comparison/](https://pagepro.co/blog/react-vs-angular-comparison/)
4. Segue um tutorial de React/Angular. Que comece com um template, por exemplo Create React App.
5. Quando chegares aqui já te sabes orientar no desenvolvimento de uma App. Começa a perceber o que é WebPack, Babel, ect… Se escolhes-te Angular já te encontras a usar Typescript, introduz agora se for React. Typescript my favorite videos [https://www.youtube.com/watch?v=LKVHFHJsiO0&list=PLNqp92_EXZBJYFrpEzdO2EapvU0GOJ09n&ab_channel=JackHerrington](https://www.youtube.com/watch?v=LKVHFHJsiO0&list=PLNqp92_EXZBJYFrpEzdO2EapvU0GOJ09n&ab_channel=JackHerrington)
6. Começa a ver external frameworks, como Material, Less, SaSS, ect…
7. Conexão a API externas. Percebe o conceito de API, REST. Consume uma API Rest com **Axios**
8. Percebe como se faz um sistema de login. vê JWT
9. Estuda state management. Redux (React Context also) para React, NgRx Store para Angular. Existe outros, percebe como funciona ([https://areknawo.com/top-5-react-state-management-libraries-in-late-2020/](https://areknawo.com/top-5-react-state-management-libraries-in-late-2020/))
10. Good boy points como jovem dinâmico. Aprende GraphL (Apollo), gRPC
11. Cloud: Azure ou AWS, escolhe um ou aprende ambos. Queremos saber como colocar a nossa app na cloud. É facil, segue tutoriais. Vais apanhar conceitos de certificados, HTTPS, load-balacing, API Gateway. Como és dinâmico aprende os conceitos.
4. **DevOps**. Aqui planea-se, testa-se e dá-se deploy do código. O que foi falado anteriormente dá para arranjar um trabalho, mas Front-end com DevOps vai te dar uma advantage ahead, e não é um salto muito grande.
1. Aprende conceitos básicos, como Agile, Poker planning, scrum, kibana board. Usa o jira cloud, é gratuito até certo ponto.
2. Aprende Git. Fundamental, quando souberes a diferença entre **merge** e **rebase** podes beber uma cerveja. Aprende a criar um repositorio e a fazer push, asssim como a forma normal de fazer organizar um projeto (Master, dev, hotfix, issue-…)
3. CI/CD (continuous integration and Continuous delivery). Essencialmente testas o código e colocas na cloud. Isso é um mundo. Aconselho a olhar para CircleCI ou Azure DevOps.
4. Introduzir Cypress. Cypress é basicamente um bot que testa a tua app. É programado em JS code, portanto a curva de aprendizagem pequena.
5. Faz um use case básico. submetes no git repository, o teu ci/cd dispara e coloca uma nova versão na cloud e activa o teu código para testar a tua app.
5. Arranjar trabalho. Esta é a parte secalhar mais importante, porque requer alguma experiência no mercado português.
1. Consultoras outsourcing. **Everyone loves to hate**, mas tem um propósito importante no mercado português. As consultoras oferecem ás pessoas contratos sem termo, fazendo uma espécie de buffer entre ti e o cliente. Os júniores tem que começar aqui, porque a empresa que te vai pagar como outsourcing pode sempre mandar-te embora, reduzindo o risco da mesma. salário (800-900 liquidos sem curso. Muitas vezes mais)
2. Optional. Esta parte é uma técnica que eu aconselho caso exista o problema de “requer experiência”. O mercado está viciado em pessoas com experiência, **muitas vezes nem dá para começar**. O primeiro ponto resolve isso, mas se não resolver, arranja-se um job parecido, como **tester**, **manual QA**, algo que se consiga entrar. Vai pagar mal e não se vai fazer código, mas o que nós queremos aqui é algo para por no CV, depois coloca-se a nossa experiência de jovem dinâmico (o que foi feito aqui). **Ninguém precisa de saber**
3. Passado +-1 ano, mudamos de job. Ficamos com um salário de 1.2-1.4 liquidos. A partir dai estão por vossa conta. Podem eventualmente introduzir um back-end em Nodejs ou Nextjs para maximizar o earning potential. Jobs com este stack no StackOverflow pagam muitas vezes 100k+

Caminhos alternativos: COBOL (its not ta joke), Mobile developer (android, flutter), low-code (outsystems, appian)

**Erros ortográficos e coisas a mudar mandem DM**

Quem sou eu?

Tenho 5 anos de experiência, estudei no ISEL e tenho a minha startup em pre-seed stage e faço trabalhos como contractor. Poderia ser um dos vossos professores no IronHack ou algo do genero.

Estou disponivel para ajudar, sempre de forma gratuita! Cuidado com o RIP inbox

27 comments
  1. Excelente post. Eu comecei a aprender SQL porque quero fazer o salto para data analyst, esse é o mesmo SQL que referiste?

  2. > CI/CD (continuous integration and Continuous development)

    Delivery, amigo.

    Ia dizer que o texto é superficial, mas realmente jovem e dinâmico descreve-o melhor

  3. Data Analisys – Python Pandas, Webdev-JS, Python/Django/.NetCore…. Java passou a ser legacy code, nao tem muitas saidas de trabalho a nao ser para algo muito especifico. Aqui nos US procuram pessoal que entenda muito Angular(JS) ou tambem React(JS), mas maior parte das vagas de emprego sao para pessoal com fundamentos de full stack python. Se conseguires aprender bem DJango nao sera preciso aprofundar tanto SQL, sendo que este esta a ser substituido por MongoDB e MariaDB e postgresql

    ​

    *** Gostaria de recomendar tambem que para quem esta comecar conseguem comprar bastantes Bootcamps no Udemy a um preco bastante acessivel para qualquer tipo de plataforma que queiram aprender ou ate mesmo aprofundar conhecimentos.

  4. QA tester é a forma mais rápida e lowcode. Eu bem estive uns meses para arranjar trabalho como frontend(fora de Lisboa). Agora a moda é o pau para toda a obra aka full stack

  5. Já agora, posso-te perguntar o que raio é programação por objectos? Devo ser burro pra raio, mas nunca vi (nem procurei muito…) uma explicação que eu conseguisse entender.

    Como funciona, deixas cair objectos ao calhas em cima do teclado e esperas que o que saia desse processo seja um programa funcional??

  6. Ajudas a guiar um gajo a criar a própria empresa?
    Quanto mais não seja apontar numa direcção onde eu possa arranjar recursos didácticos…

    A parte técnica já ta no bolso xD

  7. Sugiro que faças o post no r/devpt dado que maior parte dos posts do género têm ido para lá

  8. Um área com muita procura é RPA.

    Para iniciar diria que basta saber um pouco de programação e seguir uns cursos online dos principais players (UiPath, Automation anywhere, …)

  9. Bom post OP, e até dou de barato que DevOps é uma boa forma de entrar na área sem ter um curso, mas parece-me que a tua explicação de DevOps poderia merecer um pouco mais de detalhe. Não ajuda que o conceito seja tão dúbio que a maior parte das empresas tente contratar “malta de DevOps” em vez de focar as equipas em implementar a filosofia por trás de DevOps. Para clarificar, o que DevOps tenta fazer é facilitar o processo de integração de código num produto final, e daí que o processo vá envolver toda a pipeline, desde a gestão do código em repositório até à possibilidade de entrega contínua e de monitorização da solução. Eu posso implementar testing no meu projecto e não estar a seguir princípios de DevOps, como posso fazer deployment de um projecto a partir de uma pen, e fazer as alterações nas configurações à mão. O que DevOps gostaria de fazer seria um streamline completo nesse processo, e isso requer várias engrenagens: gitflow, integrated testing, ci/cd, update process, monitorização, idempotência, escalabilidade. E isso requer várias áreas de saber, incluindo desenvolvimento, redes, arquitectura de sistemas. Podemos ter várias peças nessa engrenagem tendo várias pessoas especialistas na sua área mas que tenham a capacidade de trabalhar colaborativamente e que entendam a necessidade de ter código mantível, release notes, patches de update, configuração variável, testes integrados, etc.
    Para toda a malta que tenha decidido ler a minha TedTalk, DevOps é hoje em dia um chavão muitas vezes usado para glorificar trabalho tradicional de administração de sistemas, mas que supostamente visa automatizar e simplificar processos que eram anteriormente complexos e que requeriam manutenção humana. É frequente ver posições de DevOps anunciadas para fazer gestão de sistemas na cloud ou com serviços de infra as code e automatização e orquestração de sistemas que depois na prática ignoram todos os princípios por detrás dessas tecnologias. E isso é um bocado o contrário de DevOps.

  10. Tanta coisa dita num post e tudo tão impreciso. Cheira a uma tradução barata de um post do médium enfim.

    Parei aqui pq já me doía a barriga de tanto rir..

    Aprender Javascript. Depois disso CSS e HTML. (tudo isto so que ao contrário)

    Introduzir Nodejs para servidor de desenvolver Front-end. Perceber o conceito de SPA e MVC (não quererias traduzir MPA ao invés de MVC).

    Para terminar em beleza só faltava mesmo um referal para um curso “teu”

    E nem falo da experiência pq podias ter 15 dias de programação e serem melhor que alguns que andam por lá a mais de 20.

    Sucesso na tua start up e se contratarem alguém que tenha seguido este teu guia.

    Por favor partilha a tua experiência.
    😂

  11. Como DevOps com alguma experiência em start-ups e agora numa grande multinacional quero alertar que acho a tua descrição sobre a posição muito incompleta.

    Para além da importância dos valores agile que está profissão requer (dos aspetos mais importantes) há um conjunto de componentes técnicas que é preciso dominar .

    Coding & scripting,
    Networking,
    Segurança,
    Automação,
    Virtualização,
    Sistemas operativos,
    Testing (vários tipos)

    Monitorização (não menos importante do que as anteriores)

    Não vejo muitos newbies nesta área, por norma vejo programadores experientes ou sysadmins a transitar.

  12. > A melhor forma de se arranjar trabalho aqui sem curso? a resposta é Front-end e DevOps.

    Deve ser por isso que é tão fácil arranjar DevOps. Estás a sonhar.

    O caminho típico para profissional em DevOps é via Engenheiro de Software (backend) que vai fazendo algum DevOps (porque poucas empresas têm alguém especializado), até ter experiência suficiente.

  13. Eu aqui enquanto human resources recruiter encontrei apenas 33% das skills necessárias para ingressar em IT.

    Exemplos das que faltam: rust, go, anaconda, bash, apt-get, babyshark, linux, osi, tcp e kernel.

    Acho que tá bom mas dá para limar as arestas e melhorar um pouco, mas bom trabalho!

  14. Hey, não se esqueçam de nós, os malucos de infra, sem nós os developers não teriam a quem culpar quando usam a típica frase “mas funciona na minha máquina” PS: E nós sem vocês não teríamos novos projetos/ tecnologias.

  15. Não achas que há aí coisas que só quem tira um curso como engenharia informática é que poderá conseguir perceber? Tipo cibersegurança, clouds… ?

  16. Sim o que o mundo TI cheio de código esparguete precisa é mais atrasados mentais a escreverem… Boa forma de diluir a qualidade do mercado TI português.

  17. Volta e meio penso em converter para TI, mas duvido sempre das minhas capacidades em matemática.

    Estou atualmente no 2º ano de doutoramento em comunicação e não podia estar mais longe de TI, mas os salários….

Leave a Reply