Back-end Engineering Articles

I write and talk about backend stuff like Ruby, Ruby On Rails, Databases, Testing, Architecture / Infrastructure / System Design, Cloud, DevOps, Backgroud Jobs, and more...



Framework to Solve Coding Challenges with Ruby

Now we have a lot of knowledge to put into practice. So far, we've seen these articles about Ruby and Data Structures.  Articles about Ruby * What's Ruby (Programming Language)?* Ruby Data Types: Strings, Numbers, and Booleans* Variables and Use...

Read Here


Introduction to Logarithms in Data Structures

In the blog post about Big O Notation, we talked about three basic notations like O(1) - Constant Time, O(n) Linear Time, and O(n**2) Quadratic Time, to describe the time and space complexity of a given algorithm.  However, at the end of the arti...

Read Here


Introduction to Big O Notation

Now it's time to touch on this important topic in computer science. But to understand these concepts, you've to know about Time and Space Complexity and the basics of memory. Once you have that knowledge, we're ready to start. Big O NotationIt is...

Read Here


Relationship Between Memory and Data Structures

So far, we've been talking about the introduction to data structures, and now we'll be talking about memory.  But we've to answer these questions first: why is memory so crucial at this point? Isn't it related to hardware? When we're programming ...

Read Here


Introduction to Ruby Data Structures and Complexity Analysis

Now we're going to enter a field of computer science that will help you understand even better the things we've been learning in the past blog posts: Data Structures and Complexity Analysis. But why is this so important right now? It is fair to s...

Read Here


Ruby Functions

So far, we've seen how Ruby works and the type of data we can work with inside Ruby. So, we can say now that we know Ruby in more detail than in the beginning. We need to see a tool that can help us organize our code and do it more dynamically. Th...

Read Here


Ruby Hashes

So far, we've seen different data types in Ruby, like Strings, Numbers, Booleans, and Arrays. Now it's the time for the following data type: Hashes.  ArraysA Ruby hash is a data type similar to Arrays, but instead of being zero-indexed, we can ch...

Read Here


Ruby Strings

Previously in a blog post called Ruby Data Types: Strings, Numbers, and Booleans, we saw the basics of strings. Now we're going deeper on this Ruby data type. StringsStrings are the first data type we'll know inside Ruby. A string is traditionall...

Read Here


Ruby Arrays

Previously I wrote a blog post about the basic data types in Ruby: Strings, Numbers, and Booleans. Also, in the post called Ruby Each Loop, we introduced the concept of Ruby Arrays, but not in great detail. Therefore, this blog post will explain t...

Read Here


Ruby Each Loop

In a previous post called Ruby Times Loop and While Loop, we've been talking extensively about Loops, and we said that: Loops allow you to: * Go over a list of things & work with each individual element * Repeat something a set number of time...

Read Here


Ruby Times Loop and While Loop

At the beginning of our career as software developers, we could copy and paste code when we needed something to repeat. Let me explain. If we want to repeat the sentence "Hello World!" 10 times, what's your first thought about solving it?  Probab...

Read Here


Control Flow and Conditionals in Ruby

This is one of the critical things you have to understand very well to become a good developer. This is an extensive topic, so we'll need to explain many things, but the first and most important one is a control flow. Control flow Note: you don'...

Read Here


Variables and User Input in Ruby

So far, we've been seeing the utility of the data types like Strings, Numbers, and Booleans. However, we wrote all of those data types directly to our IRB, which means something. When you are creating programs, you'll want to store or change infor...

Read Here


Ruby Data Types: Strings, Numbers and Booleans

Now that we know more about installing Ruby in Linux or Windows, launching the IRB interpreter, and the Ruby programming language, we have the path clear to start programming!  Let's launch our IRB console in the Operating System you usually use,...

Read Here


What's Ruby (Programming Language)?

So far, we've been talking about the initial setup or configurations you've to have in your machine just to start creating your code in any programming language you want. For that reason, we have talked about Versioning, Package Managers, differen...

Read Here


Basic Concepts About Git and Github

In previous posts, we've been talking about Versions and Releases: * Versions & Releases in Open Source Projects - Part 1* Versions & Releases in Open Source Projects - Part 2 We've said in those posts that: "One of the first things you ne...

Read Here


How to Use the Terminal or Console as a Developer?

The three main Operating Systems (Linux, Windows, and macOS) come by default with a software program called "Terminal," "Console," or "Command Line (CLI) Tool." These are synonyms, so we're talking about the same thing when we talk about any of th...

Read Here


What is a Text Editor for Coding?

Previously we've learned about REPLs and what kind of task we can achieve with it. Let's re-check some basic concepts about it: What's REPL? REPL is an interactive top-level or language shell. REPL is a simple interactive computer programming envi...

Read Here


What is a Ruby Gem?

So far, we have advanced in some initial concepts about learning Ruby and other stuff like Versioning, Installing Ruby, RVM, and IRB; now, let's welcome an essential idea in the programming world: Packages. Package or Library In computer science,...

Read Here


Interactive Ruby Console or IRB

Interactive Ruby Console or IRB in Ruby is a terminal where you can test rapid and easy Ruby code. It was made thinking about debugging, playing around with ruby, and doing tests rapidly with any Ruby command inside this console.  You have 2 main...

Read Here