Some years ago I’ve been involving myself into learning more about Elixir programing language and I’ve decided to use more tools in the same ecosystem, starting by my own blog engine.

I’ve started this blog using Jekyll which is built using my favorite programing language: Ruby.

Then I started exploring some Data Science content, which most of its tools are written using Python (a cool language but not included in my favorite list 😜), so I’ve found Pelican!

Pelican has a nice documentation and a lot of themes, must-have features for developers such as code syntax highlighting and modular plugin…


Are terminologies meaningful in software development? Yes, a lot! As developers, we’re continually writing code, and we do that by passing messages. Each message carries a lot of context and semantics. Therefore we’re always evolving how to do it in a better way.

There is this vastly known anecdote that says that there are only two hard things in Computer Science : caching invalidation and things.

Terminology is in the roots of communication, and therefore is as vital for writing quality code as writing User Stories, documentation, and even naming branches.

If you care a lot about communicating effectively, I…


If you work in a team opening a Pull Request (or Merge Request) looks appropriate. It’s a common practice nowadays. However, have you ever thought about opening a Pull/Merge Request when working by yourself?

It may sound nonsense, but I do think it’s a good practice. There are several ways you can benefit from reviewing your own Pull Request. In this article, I wrote down how I do it in a few steps.

It’s great to count on colleagues to review your code correctly, find the blind spots, and share their knowledge with you. …


When I started programming, Code Review wasn’t part of my routine. First, like everyone, I learned how to print Hello World in the programming language that was studying. Then, what is an if, while, for, and other essential structures. Sometime later, I was coding.

More topics came out, and I learned a bunch of complicated stuff. Soon, I realized that not everything I’ve been learning all this time was a good practice. For instance, how to access that global variable, which ends up in many messy codes, and introducing big problems in the application.

Programming is a discipline in which…


Every software has best practices. Git is not different. It has become the most used versioning system in the last years. Many companies adopted git because of its features. If you wonder why git is so powerful , here are some of the advantages over other versioning systems, like Subversion:

  • the distributed model, which promotes collaboration among peers
  • how fast it is to generate diff and compare changes in the history
  • how easy and cheap is branching and merging

Due to the fact git is meant to work in a decentralized way, it’s a bit more complicated. However, once you…


Photo by Allie Smith on Unsplash

I’ve been a Ruby Software Developer since 2012. It’s more than seven years of experience in developing web applications using Ruby and Ruby on Rails framework.

When I joined SourceLevel, the main application already existed. Before becoming a Startup, SourceLevel was called Ebert. Folks from Plataformatec did an excellent job building the foundations of what now is our product.

It’s been Ruby on Rails application since the beginning. Currently, we run under Ruby on Rails 5.1.7 version, even though we intend to upgrade to 5.2.3 soon.

Top Ruby Gems

We are a small team. Our efforts need to be well measured, and developers…

Weverton Timoteo

CTO at SourceLevel. Helping software engineering teams deliver better and maintainable code. JRPG player & Software Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store