• Elixir modules, files, directories, and naming conventions

    Today, let’s talk about naming and organising Elixir project modules and files. Then, I’ll try to summarise some conventions that I have seen out there and hopefully help you or your team with your own rules. I like this subject because good project structure and patterns are excellent for future maintainable code

    Read more

  • Após 2 anos morando na Estônia, fomos embora para Londres

    Os anos que se passaram não foram exemplos de um grande número de publicações de blog posts, mas foram anos de grandes mudanças para mim. Espera, mudança!? Isso mesmo, enquanto o apocalipse rolava no mundo, eu: Tchau Estônia, olá Rainha!

    Read more

  • Aggregation of Services Pattern with Elixir

    Hello, everyone! I'm here to talk about systems that contains an aggregation of services and how to manage the large codebase that it can generate.

    Read more

  • Sênior de 2 anos

    De vez em quando esse assunto aparece na minha timeline do Twitter, e mesmo sabendo que muito já foi discutido, eu gostaria de deixar meus dois centavos aqui.

    Read more

  • A Quick Style Guide Update for Elixir 1.11

    Elixir 1.11 is coming and bringing new data constructors compile checks that will change a little bit the safest way to write Elixir code. The good news is: it is for the best. The update will make your structs attribute access less verbose and straightforward.

    Read more

  • 1 ano morando na Estônia

    Este post encerra a série sobre a migração para Estônia que eu comecei no final de 2018. Este post é um pequeno resumo, um veredito e, serve também, como um índice para você que está migrando ou somente curioso.

    Read more

  • More Elixir Guidelines for Code Maintainability

    Today I would like to share my thoughts about some Elixir good practices in writing maintainable code. The guidelines below cover topics that aren't present in the currently available style guides. They can be counterintuitive or controversial; so talk it over with your team before adopting them.

    Read more

  • Mudando para Estônia - Pt V

    Hoje irei contar sobre o verão estoniano e também sobre alguns tópicos importantes do dia-a-dia para as brasileiras e brasileiros que pretendem morar nesta terra tão tão ao norte.

    Read more

  • Announcing Elixir CPF 1.0.0

    Hello, my dearest readers. I'm here to let you know I've been working in a tiny CPF validation library for Elixir. Let's start by telling you where the motivation to write a new library came from.

    Read more

  • Mudando para Estônia - Pt IV

    O tempo passa rápido, hein?! Daqui a alguns meses irei fazer 1 ano morando na Estônia! 😱 Parece que quanto mais velho você é, mais o tempo parece passar rápido. Você também sente isso? Venha ver as novidades!

    Read more

  • Programming Ecto Review

    Last year I was granted an opportunity to review the Programming Ecto book, published by The Pragmatic Bookshelf, and written by Darin Wilson and Eric Meadows-Jönsson. Today I want to share my impressions about the book and help you decide if Programming Ecto is for you.

    Read more

  • Mudando para Estônia - Pt III

    Olá, galera! Novamente estou aqui contando um pouco mais sobre como está sendo a minha mudança e o meu processo de adaptação na Estônia. E claro, deixar algumas dicas para novos brasileiros e brasileiras que porventura podem acabar vindo morar aqui também.

    Read more

  • How to create a `ecto.setup` pipeline with Ecto 3.1.2

    The `ecto.load` command allows you to get rid of migration files. However, that command is not easy to fit in all workflows. Ecto SQL 3.1.2 added a `--skip-if-loaded` option that skips the database structure load step when it has already been loaded, allowing you to create a robust pipeline.

    Read more

  • Mudando para Estônia - Pt II

    Olá pessoinhas que visitam este humilde blog quando tem um conteúdo novo. Há alguns meses atrás eu contei um pouco sobre como foi a minha mudança para a Estônia, sobre alguns perrengues das primeiras semanas e da viagem do Brasil para cá. E, após várias amigas e amigos me perguntarem como estão as coisas, resolvi escrever mais um post contando um pouco mais dessa aventura.

    Read more

  • Mudando para Estônia - Pt I

    Em um post anterior comentei sobre minha saída da Plataformatec e do Brasil. Hoje, venho contar um pouquinho sobre como está sendo essa mudança, deixar alguns aprendizados e dicas para outras pessoas que estejam querendo fazer uma mudança parecida.

    Read more

  • 5 anos de Plataformatec e fui embora

    Quantas pessoas você já ouviu falar que trabalharam em uma empresa de TI por mais de 2 anos? Raro, né? E mais de 5 anos? E, ainda, em uma empresa de consultoria? VixiI! Apresento-lhes: eu!

    Read more

  • Stop hiding the error and start fixing the problem

    I’ve been working on Plataformatec for 5 years and one common mistake that I see developers making is hiding the error, instead of fixing the problem. This kind of behaviour can turn your product full of problems quickly by having a codebase with unnecessary defensive programming. Let’s explore that by taking a look at an example from the real world.

    Read more

  • Designing Your HTTP JSON APIs Output

    A long time ago, I participated in a discussion about HTTP JSON API design with mobile developers that will use an API provided from us(the backend team). One side was defending reusability, the other hand was defending independence. I'll present you some notes from that discussion. Tradeoffs that we need to consider before picking an option. Today, I'm still holding my point of client independence for a future-proof API. I support that describing and generalizing your data is the best option for an API, this way, the clients have more opportunities to evolve. But, before digging on that comparison, let's recap a little bit what we have today.

    Read more

  • O tal do inglês e o desenvolvimento de software

    Acontecem a todo tempo discussões na comunidade de desenvolvimento sobre a necessidade do inglês no desenvolvimento de software. Para não ficar de fora dessa, vou me juntar a turma explicando um pouco da importância do inglês e dando algumas dicas que me ajudaram a derrubar a barreira do idioma.

    Read more

  • Using `Enum.reduce/3` to improve Nucleotide Count performance.

    I was playing with Exercism, an awesome platform to practice and learn to code with exercises. While I was practicing, I found an interesting exercise called Nucleotide Count. First, I tried an obvious answer, but It leads me to a suboptimal solution in terms of speed. Let's see the error that I did and how we can improve the performance by using `Enum.reduce/3`.

    Read more

  • A tal da faculdade e o desenvolvimento de software

    Com os olhos de hoje, visito os anos que passei na faculdade e as matérias que aprendi. Com isso me pergunto: será que a faculdade valeu mesmo a pena? Sim, a faculdade valeu a pena. Leia mais e descubra o porquê.

    Read more

  • Long projects in your free time

    This year The Pragmatic Bookshelf and I released the Learn Functional Programming With Elixir book, and its first chapter is available here. It took me one year and a half to finish the book. I’m here to share my experience, things that worked for me. I hope it might help you to run your own longtime project in your free time.

    Read more

  • Inner Layouts With Phoenix

    Over the last few weeks, we have been building a web application in one of our clients and ended up duplicating some template code. These new pages had something in common between them, but not with the rest of the application. We needed an inner layout to reuse the template code between these pages, however, Phoenix doesn’t come with this feature. In this post, you’ll learn how you can build nested layouts in Phoenix and when you should use them.

    Read more

  • Book Release: Learn Functional Programming with Elixir

    In 2017, The Pragmatic Bookshelf started the sales of Learn Functional Programming with Elixir Beta written by me. After one year of hard work, we are finally publishing the beta version of the book. In this blog post, I’ll tell you about the motivation for writing a book, its contents and its future.

    Read more

  • Using the test pyramid to have better feedback from your test suite

    In this blog post, I’ll explain the problem of developers spending too much time trying to discover a problem in a failing test suite. A cause of this issue may be the lack of a good test feedback. A good feedback is one that happens fast with a helpful message.

    Read more

  • Leia as mensagens de erros

    Se existe uma dica que eu daria para alguém que está iniciando no maravilhoso mundo da programação seria: aprenda a ler as mensagens de erros.

    Read more

  • Keep your Ruby On Rails app easy to update

    Keeping the application’s Rails version updated is a responsibility that should not be ignored since it brings improvements for your team and security for your users. I hope these tips help you keep your code easy to update.

    Read more

  • Prepare-se, os erros estão vindo

    Quando somos iniciantes na programação é difícil lidar com os erros que brotam em nossa tela. Eles chegam quando não estamos esperando, não são gentis, na maioria das vezes são em inglês, tudo para de funcionar e ainda lhe acusam de maneira que parece que você fez tudo errado.

    Read more

  • 6 dicas para mandar bem no código do processo seletivo da Plataformatec

    Atenção desenvolvedoras e desenvolvedores, tenho uma ótima notícia. Estamos com vagas abertas na Plataformatec!

    Read more

  • The pros and cons of 4 deployment process techniques

    The way of delivering your product code to your customer is commonly called “deployment”. It is an important matter because it will impact in how fast your product will respond to changes and the quality of each change.

    Read more

  • 1 year working at Plataformatec

    Hello, folks! This month is my fifth anniversary working at Plataformatec. For all these years working there, I've learned a lot about programming and software development process. The best part is the Plataformatec team is amazing, the people there is very welcoming and inspiring. I just not have coworkers, I have friends. This post is a repost from Plataformatec Blog.

    Read more