Why did I decide to change the language of the blog content to English?

As you can see, I have changed the language of the blog posts, which will now feature only English content and the reason is very simple: I need (and you should too) to practice English! It's a crucial tool for us as software developers because it's the fastest way to connect with people, companies, and opportunities worldwide. We already know that technological advancements often appears at first in USA, so, if we have access at English content from there it will put us ahead comparing with people who just study, read and speak just with native's language, as in our case, Portuguese. Moreover, English is relatively easier to understand compared to many other languages, which is why it has become an international standard for communication, much like the U.S. Dollar in currencies and commercial relationships. Practicing writing and speaking will allow us to participate in events and connect with people who can bring new experiences and a wealth of knowledge to us as professionals. It will also enable us to share our perspective on the world with more people. So, let's get practicing!

Advice: Don't waste time planning a personal website

Recently, I received a valuable piece of advice: 'Don't spend too much time overthinking a personal website or portfolio if you're a software developer.' It might sound a bit questionable, but it’s actually quite practical. The idea is not to ignore the importance of creating a personal site or portfolio, but rather to avoid getting stuck in the details and to launch a first version as soon as possible. Having a project like this is crucial to showcase your work and give people a way to get to know you better. With that motivation in mind, I’ve created a new version of my personal website. It’s simple, straightforward, and meets the needs I outlined. There are still some features to be added or improved along the way, but I’m glad to have it up and running. Check it out: paulohof.com.br

Estatística preocupante (Pratique algoritmos!)

Estou praticando algoritmos no exercism.org e fiquei surpreso ao desbloquear uma conquista que apenas 1,5% dos usuários também alcançaram! Foi muito bom relembrar alguns conceitos e ver como eles são importantes para o meu trabalho diário. Porém, a minha surpresa não foi o fato de eu ter conseguido, mas de perceber que poucas pessoas estão praticando e reforçando sua base nessa área. Eu cometi esse erro no comecinho da minha carreira e escrevo isso para alertar quem também está nessa fase. Por isso, quero compartilhar a minha conquista e também encorajar aqueles que estão começando na programação a não subestimarem a importância dos conceitos fundamentais. E não importa se você é um programador iniciante ou experiente, nunca é tarde demais para aprimorar sua base e garantir um futuro sólido para a sua carreira.

ChatGPT e os desenvolvedores

Olá Leitor! Hoje em dia, a tecnologia está presente em todos os lugares e em todas as áreas, incluindo a área de desenvolvimento de software. E, com o aumento da demanda por soluções de inteligência artificial e processamento de linguagem natural, o ChatGPT se tornou uma ferramenta muito útil para os desenvolvedores. <p>Para quem não sabe, o ChatGPT é um modelo de linguagem natural pré-treinado criado pela OpenAI, que é capaz de gerar texto natural com base em uma entrada de texto. Em outras palavras, ele é capaz de responder a perguntas, fornecer informações e até mesmo realizar tarefas com base nas entradas que recebe.</p> <p>Mas como os desenvolvedores podem usar o ChatGPT em seus projetos? </p><p>Bem, uma das principais formas de utilizar o ChatGPT é integrá-lo a chatbots ou assistentes virtuais que serão usados para interagir com os usuários. Com a ajuda do ChatGPT, os chatbots podem se tornar mais inteligentes e capazes de compreender melhor as intenções do usuário e fornecer respostas mais precisas e úteis. </p><p>Outra forma de utilizar o ChatGPT é na criação de sistemas de recomendação. Com base nas entradas do usuário, o modelo pode ser usado para sugerir produtos ou serviços que sejam relevantes para ele. Por exemplo, um sistema de recomendação de filmes pode usar o ChatGPT para entender as preferências do usuário e recomendar filmes que ele provavelmente gostaria de assistir. </p><p>Além disso, o ChatGPT também pode ser usado para criar assistentes pessoais, que podem ser integrados a aplicativos ou dispositivos inteligentes. Esses assistentes podem ajudar os usuários a realizar tarefas, como agendar compromissos, fazer reservas, enviar mensagens e muito mais. </p><p>Em resumo, o ChatGPT é uma ferramenta poderosa que pode ser usada para melhorar a experiência do usuário em uma ampla variedade de aplicativos e sistemas. Se você é um desenvolvedor de software e ainda não experimentou o ChatGPT em seus projetos, agora é a hora de começar a explorar suas possibilidades!</p> <p>*** Ok, espero que você tenha chegado até aqui, porque vou confessar: O TEXTO ACIMA FOI GERADO PELO CHATGPT. </p>

Repositórios que todo desenvolvedor React deveria conhecer!

Estava pesquisando sobre como melhorar performance como desenvolvedor e me deparei com algumas listas sobre repositórios no Github que contribuem para conhecer e evoluir no ReactJS. Dentre eles um bastante suscinto elencou uma lista que me chamou a atenção e vou apresentar a seguir. Se quiser conhecer o artigo original que publicou a lista, no fim da publicação tem o link. Vamos aos repositórios: <h2>Lista de repositórios</h2> <ul> <li>Awesome React</li> <li>React in Patterns</li> <li>30 Days Of React</li> <li>Real-world React Apps</li> <li>React Bits</li> <li>React & Redux in TypeScript of Complete Guide</li> <li>Awesome React Components</li> <li>Ahooks</li> <li>Beautiful React Hooks</li> <li>React Use</li> <li>UseHooks</li> <li>React TypeScript Cheatsheets</li> <li>ReactJS coding challenges</li> <li>React Interview Questions & Answers</li> <li>30 seconds of react</li> <li>React Hooks Cheatsheet</li> <li>React/Redux Links</li> <li>React Developer Roadmap</li> <li>Awesome React Hooks</li> <li>Awesome Next.js</li> </ul> <p>Esse artigo foi inspirado em: https://dev.to/martinageradams/20-github-repositories-to-become-a-react-master-opl</p>

Como esse blog foi construído

Aproveitei a semana para praticar e finalizar um projeto que estava há tempos na fila para serem feitos. Um blog para que eu possa compartilhar opinião e comentar sobre assuntos referentes a tecnologia e em especial ao que tenho mais contato e afinidade, que é o front-end e o ecossistema ReactJS, React native, Node. O blog tem por base uma aplicação similar construída nas atividades do Ignite da Rocketseat, mas tratei de personalizar e modificar para deixar mais do meu jeito e também para me virar sozinho com o código, principalmente em relação a configuração do CMS Prismic, que tem bastante configuração nova e dei preferência por utilizar com o Nextjs, já que na aplicação base era com JS vanilla. Outra inspiração para esse projeto é o blog do Willian Justen, que tem um layout simples a amigável e deve ser a base para as próximas implementações. <h2>MVP</h2> <p> Para essa primeira versão priorizei a velocidade de entrega e, conforme o conceito de MVP do scrum, lancei logo o produto minimamente utilizável, que é a página inicial com a listagem de posts, as primeiras postagens e uma página sobre o projeto. A intenção é aprimorar e melhorar cada vez mais a experiência do usuário e para tanto estão previstas novas jornadas de entregas contendo atualizações como adicionar a seção de comentários para que qualquer um possa fazer comentários nas postagens, botões para compartilhar alguma postagem em redes sociais, trazer mais informações na página sobre mim, dentre outras.</p> <h2>Ferramentas utilizadas</h2> <p> Quanto as ferramentas, foram utilizadas o React com NextJS para facilitar o roteamento das páginas e melhorar a performance da aplicação. Além disso foi utilizado o Typescript para a tipagem do que é consumido pela aplicação. Aliás, sobre o "backend" utilizamos o conceito de headless, por meio de consumo de dados via Prismic, um CMS que vai receber as informações de cada postagem e retorná-la em formato JSON. (O conceito de headless permite um foco maior onde o conteúdo é apresentado, separando o website do backend).</p> <p> Em relação ao código, foi utilizada a organização de pastas já preconfigurada pelo Next, em que as páginas ficam em subpastas da pasta page e as rotas são automaticamente criadas. Cada página contém o arquivo .tsx com os componentes funcionais em React e o arquivo .module.scss que contém a estilização utilizando o Sass. No projeto também foi configurado o Storybook para documentar os elementos de design e quando novas features forem lançadas possam seguir um padrão já estabelecido desde o início e facilite assim a manutenção da página.</p> <h2>Publicação na Vercel</h2> <p> Para o deploy foi utilizada a Vercel que faz o build a partir da branch principal do repositório no Github, simplificando todo o processo. O Código está disponível <a href="https://github.com/paulohfreire/phblog">aqui</a>. </p>

Vagas para Jr.

É, tá difícil. Com o cenário de estagnação econômica e os investidores evitando assumir riscos maiores (leia-se aportando $ em startups) o cenário de contratações na área tech está morno. Muitos layoffs foram relatados nas redes sociais e pelo site de mesmo nome que monitora esse tipo de acontecimento (layoffs.fyi). Com isso, muita gente boa de nível pleno e senior está disponível e quem está à procura de talentos acaba investindo um pouco mais e buscando esses profissionais. Com isso a base da pirâmide, composta por profissionais que chamamos de "Júnior", que têm até 1 ou 2 anos de experiência ou buscam pelo seu primeiro emprego na área tem encontrado dificuldade em conseguir uma oportunidade. <h2>O que fazer?</h2><p>No momento, o que há para se fazer? Estudar, pegar freelance com amigos, empresas de conhecidos e ter muita paciência. Pois ninguém sabe até quando vai durar esse "inverno". </p>

Primeira postagem

Olá, bem-vindo ao meu blog. Nele devo apresentar algumas informações sobre a área de tecnologia, em especial sobre a carreira de front-end a qual atuo. Mas também devo trazer conteúdos mais abrangentes, como as polêmicas da bolha dev, que semanalmente explodem nas redes sociais e acontecimentos macroeconômicos que podem influenciar nossas vidas. No geral o intuito é trazer interação e conteúdo com opinião própria aqui. Em breve devo trazer mais ferramentas a página, novas features e ajustes de design. Por enquanto o importante é entregar algum conteúdo periodicamente.