Even though I’ve been working at a company that uses Kubernetes, I’ve never got the spark or the need to go deep in understanding the technology. I knew the basics and a couple of kubectl (a tool that allows you to run commands against your Kubernetes cluster) commands that allowed me to perform my daily duties as an engineer, but when it comes to the nitty-gritty of it, I was pretty much clueless. Lately, I’ve had some time to dig into the technology and in this article, I want to summarize what I’ve learned. I hope you find it useful.
When designing a table that has a column referencing a primary key of another table, or in other words, a table that has a foreign key to the primary key of another table, it is pretty common to automatically add an index for that column.
It was my understanding that the main reason we want to do this is because of the hypothesis that we usually join child tables (the table referencing) with parent tables (the table being referenced), and therefore having an index in that foreign key will make that join queries more performant.
A query such as:
One of the things I realized as I was managing a team of 7 engineers, is that even though each of my teammates had its own perspective and expertise in different areas relevant to their role, the knowledge was not being shared with each other.
My teammates were getting knowledge through social media, conferences, books, and wide engineering syncs, we didn’t have an internal team forum where engineers could talk to each other about their interests, discoveries, or experiences. …
As a parent of a 4-year-old girl (named Mia), I’ve gone through several iterations trying to find the best way to help her become a self-organized person and encourage her to play and work in a space where clutter won’t be the norm.
After having done some reading and talking to parents and teachers on organizing kids' spaces, I have realized a couple of things: the first one is that theory is much easier than practice, and the second one is that every family and house differ from each other. …
We, as managers, should find ways for our teammates to grow in their careers. It’s expected in our role and it can also be one of the most rewarding parts of our job. The question is, which areas should we encourage folks to grow?
Since we are kids, they ask us to do well in all the areas of the school curriculum. If you are doing exceptionally well in arts, but poorly in maths, you will be asked to pay more attention and dedicate more time to improve your math skills. In the business context, something similar happens. …
It’s simpler than you think. This article covers an easy explanation on how the stock price is determined and the logic behind it.
Stock (Quoted) Price definition
Let’s start by talking about what is the number that it’s shown when you Google a price of the stock for a specific company, for example Apple’s stock price. The price that is shown there is the price of the latest transaction that occurred. …
Have you ever asked questions such as ‘what is my purpose in this life?’, ‘what is my true calling?’, ‘what is my true passion?’, etc… I certainly have, and it has been really hard to find answers to these questions.
In ‘The Art of Work’, Jeff Goins provides some guidance in helping finding one’s calling. The book contains seven different chapters. Each chapter tells, at least, one person story and talks about a specific theme. There are then, seven themes (awareness, apprenticeship, practice, discovery, profession, mastery, legacy) that shouldn’t be seen as steps, but rather as overlapping stages.
One of the first tips that I got from one of the mentors I’ve had since I started working as an engineering manager was “on your one on ones, you should be asking a lot of questions and your report should be talking more than you”.
Following that suggestion, I created a bank of questions that I use in my 1:1s. This question bank helps me because at the beginning I found myself asking really vague questions such as ‘how is everything going?’. That type of questions rarely got an answer that we could iterate on. …
Today I was working on a project where there was a class that looked (roughly) like this:
def initialize(real_color_id, name)
@real_color_id = real_color_id
@name = name
end def method_missing(method, *args, &block)
end attr_reader :real_color_id, :name private def real_color
@real_color ||= Color.find(real_color_id)
So, if we send a message to a
LazyColor instance and it can’t answer, it will try to use the
real_color to respond for it. Let’s see an example:
real_color = Color.create(name: 'red', intensity: 20)
lazy_color = LazyColor.new(real_color.id, name: real_color.name)puts lazy_color.intensity
EBIT, an acronym for Earnings Before Interest and Taxes, is a number shown in income statements and defined as any company’s profit including, all expenditures just leaving income tax and interest expenditures.
EBITDA, an acronym for Earnings Before Interest Taxes Depreciation and Amortization is the same that EBIT but we don’t subtract the cost of depreciation and amortization. This means that EBIT will always be smaller or equal than EBITDA.
For the sake of consistency with my previous post on profitability, let’s go back to our sandwich shop, which after some years of good grow, this year we have had…
Software engineering, management, cooking, education, homeschooling, investing and personal growth are my main interests right now.