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

Subi meu primeiro site no ar, e vou detalhar minha experiência.

Olá Tabnews! Meu nome é Iago e eu sou um (futuro) desenvolvedor web / vestibulando. Hoje venho aqui para falar da criação do meu site, que é basicamente uma landing page com acesso às minhas postagens pessoais.

Sobre mim

Meu primeiro contato com a programação foi em 2021, não na web, mas em um curso obrigatório de Python que tive que fazer para cumprir com o currículo escolar. Desde aquele momento, me senti encantado com o que pareceu magia aos meus olhos: A capacidade de escrever código que gera uma resposta, é o que rege o mundo virtual que eu sempre estive em contato, mas nunca ousara entender. Porém, toda aquela euforia passou, e eu fiquei um bom tempo sem começar algo novo por conta própria.

Ano passado, precisei fazer um TCC para o curso de desenvolvimento de sistemas que então fazia na ETEC da minha cidade. Meu grupo decidiu que nosso projeto seria um site, e como eu e outro amigo meu eramos os "nerds programadores" do grupo, ficamos responsável pela sua construção.

Porém, eu não havia nenhuma prática com desenvolvimento web além do HTML, o que me deixou frustrado e quebrando a cabeça para tentar construir um protótipo funcional de sistema web. Ao longo dos meses de desenvolvimento, recomceçamos o projeto diversas vezes e eu fui me envolvendo cada vez mais com seu desenvolvimento, chegando em um projeto final com Laravel que no fim foi muito prestigiado e deixou-me muito orgulhoso.

A partir dali, decidi que iria ser um desenvolvedor web, pois julguei que seria simples, afinal eu já passei muito tempo na Internet, e já tinha como meta estudar ciência da computação. Me inscrevi em plataformas para freelancers como a Upwork, e percebi que precisaria de um diferencial, pois assim como eu, muitas pessoas estavam iniciando nessa carreira e buscando se diferenciar também. Daí, surgiu a inspiração para criar um portfolio, uma especie de blog pessoal, sem usar nenhum CMS ou plataforma.

O desenvolvimento

A Stack

  • Express.js (Framework Web)
  • Postgres
  • Sequelize ORM
  • Passport.js (Autenticação)
  • EJS (Template Engine, para renderizar o HTML)
  • Tailwind CSS (Framework CSS)
  • Disqus (Plataforma de gerenciamento de comentários, para as postagens)
  • VPS
  • CapRover (PaaS de deploy open-source, projeto incrível!)

Se você já passou pela experiência de começar em Web, já deve saber que nada nunca é tão simples como parece, e foi exatamente o que aconteceu. Um projeto que uma pessoa pessoa experiente levaria poucos dias para criar, se estendeu por semanas de pesquisa, erros e muito stress para lançar o site no ar.

Entretanto, acredito que foi uma experiência gratificante, e apesar de não usar as libs/frameworks do momento (React, Next, etc.), considero que aprendi fundamentos importantes e vi que ainda tenho muito a aprender.

Conclusão

O mundo da web é gigantesco, e meu conselho (não que eu seja experiente) é para não se prenderem na insegurança de ficar somente atrás de cursos e bootcamps para aprenderem as novas tecnologias, pois tudo isso pode ser aprendido facilmente uma vez que se entende a arquitetura da web. Coloquem a mão na massa, criem projetos e se empenhem mesmo com a frustração de lidar com o desconhecido, pois isso é o que vai te fazer mais forte.

Github do projeto

Se tiverem comentários, críticas, dúvidas, dicas construtivas e sugestões sintam-se a vontade para comentarem com toda a sua sinceridade, estarei muito feliz em interagir :)

Carregando publicação patrocinada...
2

Primeiramente, parabéns! 👏

Não é fácil e já vi que você fez várias coisas, tem um domínio próprio, tem conexão com o banco de dados, tem integrassão com o Disqus, tudo isso são tarefas que para o seniorzão são fáceis, mas pra quem está no começo quebram a cabeça.

Entretanto, acredito que foi uma experiência gratificante, e apesar de não usar as libs/frameworks do momento (React, Next, etc.), considero que aprendi fundamentos importantes e vi que ainda tenho muito a aprender.

O que me fez comentar no post foi justamente esse trecho, ninguém precisa do "framework do momento" pra fazer algo bom e principalmente pra tirar a ideia do papel. E como todos os bons sêniors dizem (sou júnior, mas todos os bons sêniors dizem isso), aprenda o fundamento, a base, você fez certo, não cortou um atalho pelo caminho do conhecimento e sentiu na pele como é fazer um portfolio, um blog e subir isso pra internet.

Dica

Talvez já esteja desenvolvendo isso, mas crie uma página com os seus projetos e experiências, assim caso um recrutador acesse sua página já tenha uma noção do que você faz, como um currículo.

Obs.: O footer na página inicial do blog não tá colado em baixo, isso não é necessariamente um problema mas atiçou meu TOC :)

1

Obrigado pelo feedback haha! De fato, foi muita "quebração de cabeça", mas traz aprendizado que nunca se esquece. Dei uma olhada no seu site e github e fiquei muito animado ao ver o quanto você evoluiu como profissional, peguei uns insights interessantes, principalmente o terminal interativo, fiquei me perguntando como foi feito 🤔. Vou ficar de olho pra ver como vai evoluir seu portfolio, principalmente a responsividade que me parece um desafio e tanto!

No futuro planejo implementar novas features, principalmente no backend que está bem "primitivo" em algumas partes, como ainda não tenho experiências com clientes reais não tenho muito pra pôr, talvez uns study-cases e os blogposts mesmo. Sobre o footer quebrado, estou arranhando bastante no CSS ainda mas pretendo deixar bonitinha😁.

1

Hehe, muito obrigado!

Sobre o terminal no meu portfólio, utilizei o react-terminal-ui como um componente já pronto, achei ele bonito e pronto o bastante pra eu tirar a ideia do papel logo.

Vou ficar de olho pra ver como vai evoluir seu portfolio, principalmente a responsividade que me parece um desafio e tanto!

Pois é, deixei até um aviso no site 😂. A ideia principal é lançar mesmo que não esteja perfeito, primeiro Desktop, depois Mobile, se não iria demorar demais para lançar.

A ideia principal do meu site seria um "ambiente Backend", com terminal, API e coisas do tipo. Vamos ver onde vai dar...