Kids in a classroom looking at you.

New job, new codebase. How do you even get started?

One of my readers asked: How do you get started when you join a new company? How do you add features to a codebase that is massive, scary, and completely new to you? The first day at your new developer job is just like the first day at a new school. 馃毟 A sea of stranger鈥檚 faces watching your every move. Unfamiliar smells in the hallway. Every chair is uncomfortable and makes weird noises when you sit....

September 17, 2021 路 10 min 路 Thiago Araujo
Red lego blocks

How to Learn the Syntax of a Programming Language When You Know How to Code

Are you having a hard time picking up the syntax of a new programming language, even though you know how to code? You鈥檙e new to Ruby, and people say it鈥檚 an easy language, but you find the syntax difficult to understand. You know a bit of Javascript, Python, Java, or any other language. But Ruby seems like alien technology to you. By the end of this post, you鈥檒l have a tool to help you transfer your knowledge of [INSERT PROGRAMMING LANGUAGE HERE] to Ruby....

August 10, 2021 路 4 min 路 Thiago Araujo
A bowl of spaghetti.

Learn Ruby on Rails Best Practices With One Exercise

You want to write smooth professional-looking code. You鈥檙e craving some squeaky-clean code. But all you have for lunch every day is a big bowl of legacy spaghetti code. You consider yourself a decent developer, but you鈥檙e never sure how to organize a project. How to name things. Where some piece of business logic should live. How can you become a Ruby on Rails expert if the code you read every day stinks?...

June 30, 2021 路 6 min 路 Thiago Araujo
Waves black and white pattern

How to Write a Clean Order By Case Query with Arel on Rails

You鈥檙e working on a feature and someone tells you that one of your models needs to be ordered based on some complicated rule. You realize you鈥檒l need to write a complex order by query鈥 Here鈥檚 how it usually goes: You think to yourself: 鈥淪hould I write an order by case when statement? Maybe I鈥檒l just add a little bit of SQL鈥" Two minutes later, you end up with a bunch of nested case when statements, subqueries, common table expressions, angry statements, shouting, and a whole lot of tears....

June 10, 2021 路 4 min 路 Thiago Araujo
Orange and white triangles pattern

What's the Best Way to Learn Webpack?

If you鈥檙e feeling lost whenever you have to add some javascript library to your Rails application, this post is for you! I see a lot of people battling against Webpacker whenever they need to add a new javascript library or have to fix a bug on the asset pipeline. I suffered from the same problems, too. I talked about why this happens on a previous post: 鈥淎dding Bootstrap or Javascript Sprinkles to Rails breaks everything....

June 5, 2021 路 3 min 路 Thiago Araujo
Old man yells at Webpack

Adding Bootstrap or Javascript Sprinkles to Rails breaks everything. What should you do?

Did you spend a billion hours trying to add jQuery, or Bootstrap, or Tailwind to your Rails project, but now everything on the frontend is broken? Or worse: you can鈥檛 even tell whether the frontend is broken or not. It鈥檚 in a unkown state of brokenness. Maybe you just want some javascript sprinkles, but Webpacker makes things so much harder and frustrating. Do you wait until an angry customer complains about the checkout button not working anymore to know which page to fix?...

June 4, 2021 路 3 min 路 Thiago Araujo
Red and blue shapes pattern

Move From Sprockets to Webpacker On Small to Large Rails Apps

Rails 6 comes with Sprockets and Webpacker by default. Confusing, right? The default configuration is Webpacker for Javascript while Sprockets takes care of all the rest (CSS, images, fonts鈥). Let me tell you a secret: You don鈥檛 need both. Just use Webpacker. Legacy applications and older gems still use Sprockets to serve assets. This was done to add backwards compatibility. If you don鈥檛 have a good reason to keep Sprockets around, don鈥檛....

May 24, 2021 路 4 min 路 Thiago Araujo
red and black pattern

How to pick your first Rails Issue and start contributing to Open-Source

Did you always want to help an open-source project like Ruby on Rails, but never got started? Many people have the interest of contributing to open-source, myself included. I鈥檝e done a couple of small contributions, but nothing fancy. It鈥檚 a little intimidating, right? You鈥檙e not part of the group of contributors and you don鈥檛 really know where to start. You see 800 open issues, which one is a good one to pick?...

May 12, 2021 路 3 min 路 Thiago Araujo
A black and white pattern

How should I change production data on a new Rails application?

You need to change production data. You know that doing it manually is unsafe and will definetely cause lots of trouble, like corrupting all you customer鈥檚 data. How else should you do it? You might be spending a lot of time asking yourself these questions: Is there a proper rails way to change data in production? Should I run data and schema modifications in one database migration? Should I run rake scripts in production to modify data?...

April 13, 2021 路 3 min 路 Thiago Araujo

hexdevs podcast

My wife and I are launching the greatest podcast in the world and a new site called hexdevs! We鈥檒l talk about how to start a business, and how to get better at your craft. We want everyone to be more confident, successful, and smarter, so if you want to become an awesome dev, listen to our podcast and sign up for the mailing list! And stay tuned! ...

July 17, 2019 路 1 min 路 Thiago Araujo