• Hoje perguntei ao ChatGPT quais linguagens de programação ele domina mais. A resposta foi uma lista curta e direta:

    1. Python
    2. JavaScript/TypeScript
    3. PHP
    4. Go (Golang)
    5. C/C++

    E confesso que isso me fez pensar: na minha visão, PHP, JavaScript e Python vão continuar dominando, e talvez até ampliando o espaço, por causa da geração de código por IA. São linguagens acessíveis, com enorme legado e comunidades gigantes, o que significa que qualquer sugestão ou pedaço de código gerado por IA já nasce com um ecossistema pronto para suportar.

    O caso do PHP é quase um paradoxo vivo: muita gente insiste em dizer que está “morrendo”, mas ele já domina mais de 40% dos servidores da internet, em grande parte graças ao WordPress. E se pensarmos bem, quanto mais a IA gera soluções rápidas em PHP, mais fácil será criar e manter sites… o que, ironicamente, pode fazer o WordPress crescer ainda mais nesse ciclo.

    Ou seja, o futuro pode não ser sobre a “nova linguagem que vai matar as outras”, mas sobre as linguagens que já estão profundamente enraizadas e que a própria IA está ajudando a fortalecer. WordPress é o passado, presente e o futuro.

    +
  • Família é uma coisa curiosa. Existe essa ideia de que precisamos estar sempre lá uns pelos outros e, em boa parte do tempo, isso acontece mesmo. Mas isso não significa que cada momento seja agradável. Reuniões de família podem ser constrangedoras, entediantes ou até dolorosas. Nem todas as famílias são iguais, claro, mas essa sensação de mistura entre carinho e desconforto é algo que muita gente compartilha, mesmo que raramente se fale sobre isso.

    +
  • Depois de um bom tempo escrevendo (ou melhor, não escrevendo) no https://rtio.dev eu resolvi criar esse outro blog na intenção de ser mais assíduo online, porém de uma forma mais old school (foras das outras redes sociais). Seja bem vindo, espero que quando encontre esse blog eu tenha escrito algo, do contrário falhei xD.

    +
  • Apresentação sobre Software Livre
    +
  • Quero compartilhar esse post que meu colega Ian escreveu sobre o “No hello” que é um conceito que eu gosto bastante quando se trata sobre eficiência em comunicação escrita.

    É uma excelente leitura e você só tem a ganhar se adicionar isso no seu dia. Vou deixar as explicações no post dele. Boa leitura:

    https://ianrodrigues.com/2023/08/04/comunicacao-efetiva-com-no-hello/

    (Midjourney prompt: person struggling against the limited resource of time)

    +
  • Oi 👋 . Esse ano eu comecei a lecionar aulas de programação web (backend/frontend) em uma escola de tecnologia local aqui em Fortaleza/CE. Tem sido uma experiência bem interessante pra mim e bem diferente do que eu imaginava em vários aspectos.

    Já palestrei várias vezes, fiz workshops, treinamentos tanto abertos quanto fechados, já fiz dezenas de onboards de novos membros do time e eu considerava que essa seria uma experiência focada para melhorar minha comunicação e desenvoltura em público e foi para isso que fui buscar quando iniciei esse processo, porém tem sido muito mais que isso até então.

    Lidar com a ansiedade minha e dos meus futuros parceiros de trabalho é uma tarefa constante e quase que diária. Todos temos expectativas, dificuldades e sonhos e balancear tudo isso, as minhas próprias expectativas e a de mais de 20 indivíduos, tem sido o mais desafiador com toda certeza.

    Essa tem sido até o momento a minha mais extenuante atividade desse ano, toda semana os humores mudam, expectativas morrem e nascem e temos que estar lá firmes e fortes eu e os alunos, juntos tentando atingir objetivos que são difíceis para todas as partes.

    Aprender a programar

    Eu adoro esse termo pois ele é simples, como aprender a andar de bicicleta, mas ao mesmo tempo ele muito vago. Aprender a programar não é uma coisa só, um conhecimento específico: nunca vi uma pessoa dizer vou aprender a arquitetar, vou aprender a consultar pacientes, vou aprender a dar aulas. Programar é apenas uma pequena parte na vida de um programador, engenheiro de software ou cientista da programação, ou seja lá qual nome você acha mais legal.

    Programar é um meio para se chegar num determinado resultado. Automatizar uma tarefa. Criar um produto.

    Com o passar do tempo os alunos vão percebendo que não é uma coisa só e com isso vai batendo angústia, ansiedade, medo e as coisas vão apertando. A internet não ajuda, todos os dias dezenas se não centenas de notícias fantasiosas sobre a carreira em TI especificamente, muitas delas com muito interesse por trás. Isso torna o nosso dia mais difícil ainda.

    Compartilhar conhecimento

    É uma palavra muito honrosa, mas compartilhar conhecimento não é ensinar. Ensinar é dar o melhor de si para que o conhecimento que você sintetizou faça sentido para a audiência que está se destinando. E ainda sim correr um risco enorme de falhar. Eu percebi que passei a vida compartilhando conhecimento e hoje eu sei que isso não basta. Para mudar realidades de verdade você precisa ensinar.

    Então aproveitando o momento, gostaria de agradecer a todos os meus professores, mas não só os de sala de aula, também os colegas de trabalho, amigos e até muitos desconhecidos que usaram o tempo deles pra me ensinar algo. Muito obrigado a todos vocês e eu serei eternamente grato. Eu me comprometo a continuar repassando esse conhecimento e dando tudo de mim para garantir que estou ensinando.

    Cheers 🥂

    (Midjourney prompt: a black teacher giving their best to teach a class of IT students facing laptops expressing that feels like they are making a huge effort to get to understand what is on the board. cartoon, pop art, drawing)

    +
  • Em um recente encontro de desenvolvedores surgiu a seguinte declaração “Code review não funciona” de cara achei absurdo essa declaração, mas tentei entender melhor o contexto antes de argumentar contra.

    O contexto se referia a redução de bugs e “Code review não funciona” foi o argumento utilizado contra o uso de revisão de código para a redução de bugs em uma aplicação. Isso veio seguido de fortes argumentos sobre testes unitários e automatização de processos, todos válidos diga-se de passagem.

    Porém antes que pareça que estou defendendo essa declaração, o que fortemente não estou, quero trazer uma outra visão para esse ponto de vista.

    Juntos somos mais fortes

    Realmente revisão de código não é um método mágico e que após implementar esse processo na sua equipe seus problemas de má qualidade irão acabar, porém muito provavelmente você tem muito a perder sem ele no seu dia-a-dia.

    Sei que tudo é sobre ponto de vista, mas já que ponto de vista é algo que evitamos no mundo do desenvolvimento de software então vou tentar usar menos meus pontos de vista e usar a pesquisa feita por outros 😅 para corroborar meus pensamentos.

    Trago a vocês o acumulado de quatro anos de pesquisa feitas por Nicole Forsgren, Jez Humble and Gene Kim. Essas pesquisas foram feitas em empresas variadas e em situações das mais variadas, tudo em prol de trazer nossos tão amados números. Melhor de tudo, eles compilaram tudo isso em um livro.

    Accelerate

    Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations é um livro que fornece insights sobre as práticas e capacidades que impulsionam o alto desempenho em organizações de tecnologia.

    Calma! Antes de sair procurando esse livro para comprar (compre!) achando que vai aprender a revisar código já aviso, não há sessão específica sobre isso lá.

    Embora “Accelerate” não discuta explicitamente o processo de revisão de código (deveria) em detalhes, ele destaca a importância de práticas como integração contínua, colaboração, ciclos de feedback rápido e uma cultura de aprendizado, todas suportadas por um processo eficaz de revisão de código.

    O tempo que tive trabalhando em diferentes times com contexto diferentes trouxeram esse conhecimento de forma empírica, de que revisar código traria mais qualidade para o projeto e para a equipe, mas após a leitura desse livro eu passei a advogar em favor de práticas como essa.

    De fato, revisão de código não é uma alternativa a testes ou a um determinado processo, eu vejo ele mais como um meio que integra os diferentes processos de qualidade.

    Mas na minha opinião (desculpa tentei 🥲) eu destacaria um ponto em específico que por si só já vale o seu uso em uma equipe de desenvolvimento.

    Colaboração

    Empresas gastam milhões para que seus funcionários tenham melhores maneiras de colaborar juntos. As revisões de código desempenham um papel crucial nessa prática, garantindo que os desenvolvedores estejam cientes do trabalho uns dos outros e possam fornecer feedback para melhorar a qualidade e a capacidade de manutenção do código.

    Eu poderia citar mais exemplos, mas colaboração tem sido um dos pontos mais difíceis de facilitar em todas as empresas e times com o passar dos anos. O simples ato de revisar o código do seu colega de trabalho trás esse aspecto em perspectiva. Um exercício diário de aprender e ensinar.

    As revisões de código promovem a colaboração envolvendo vários membros de diferentes equipes no processo de desenvolvimento, promovendo o entendimento compartilhado e incentivando o aprendizado com as experiências uns dos outros.

    As revisões de código contribuem para isso, permitindo que os desenvolvedores recebam feedback antecipado sobre seu trabalho, permitindo que identifiquem e corrijam problemas antes que se tornem problemas mais significativos.

    Organizações de alto desempenho promovem uma cultura de aprendizagem, onde os membros das equipes são encorajados a aprender uns com os outros e melhorar continuamente suas habilidades.

    As revisões de código fornecem uma oportunidade para que os desenvolvedores aprendam com seus colegas, compartilhem conhecimento e melhorem suas habilidades de codificação.

    Mensagem subliminar

    Com certeza você percebeu a quantidade de vezes que eu repeti a frase “Revisões de Código” isso foi proposital para que no seu próximo dia de trabalho esse pensamento não saia da sua cabeça e que, caso já não faça, tente incentivar o seu time a usar essa prática.

    Não substitua processos, apenas adicione esse processo e gradativamente veja a qualidade do seu projeto e equipe aumentarem como num passe de mágica 😉.

    +
  • Antes de mais nada, olá! Vou assumir que você acessou esse post pois já me conhece ou me segue em algum lugar da internet.

    Comecei escrevendo em Inglês pois acaba tendo um alcance maior, mas a medida que o tempo passou comecei a sentir falta de escrever no meu idioma nativo e ter seguidores nativos também. Aqui estamos nós!

    Esse vai ser o primeiro de alguns (não posto muito 😅) e vou seguir o mesmo padrão de postagens no modelo blog, coisas de tecnologia e do meu dia-a-dia.

    Provável que em breve eu crie uma versão do About Me em português também pra ajudar quem for chegando a me conhecer um pouco melhor. Recomendo que navegue nas seções e veja se tem algo que te interessa. Sou ativo no Twitter e no Tumblr então não se acanha em mandar um olá por lá.

    Nos vemos em breve 👋🏽

    +