Skip to Content

Our racing thoughts

Remote work in pandemic times

One of the best things about working in the IT industry is that we are in a state of constant digital transformation, which means that we are able to use technology to adapt our processes and meet the high standards of a fast-paced world. 

It has been 7 weeks since we started to work entirely remotely at Tango, following the government’s recommendations to avoid the spread of the virus, but that doesn’t mean we are new in this game.

Just to add context, Tango has offered the possibility to work remotely, even before the pandemic situation. Consequently, we have been improving our process to manage distributed teams for the last decade. We know transitions to working...

Test Automation Strategy

The search for quality in a software product is the most important activity after the creation of said software and yet, there is so much we have to learn and to define. As time passes, the industry has also come up with a variety of ways to optimize testing tasks, one of them being testing automation.

A misconception is that UI Test Automation would suppress the need for Manual Testing and reduce development costs in a short period of time; far from the truth, manual testing is still a very important (if not the most) part of the software development process and will continue to be so in the foreseeable future.

The Problem

A...

Memoization: Faster Ruby app

The performance impact that your code could have in a certain programming language and/or platform is often overlooked, which might make you prone to blame those tools, instead of analyzing what and how your implementation made your application slower. Memoization may help you to improve your application speed with a non-significant impact on readability or flexibility on your code when appropriately used.

What is Memoization?

Memoization is a technique where you can cache a process result in order to use it later without the need to run that process again. This has the potential to save a massive amount of computing/networking power, thus improving the general performance of your application.

How does it work in...

A thoughtful insight into why Redis

 

It’s common for us developers or technology enthusiasts to encounter technology that we can use right out of the box without really knowing what that thing actually does. It was not long ago when I was first introduced to Redis, this magical thing that solves all sorts of problems. 

I was working on a Rails application when I first heard about Redis, but I wasn’t really trying to work with Redis per se, I was more likely trying to make Sidekiq work; a background processor for Ruby that needs Redis in order to work as I had always been expecting things to work, out of the box.

If you are not familiar with background processors on...

How to be a better developer without coding?

Entering a new company is always a challenge, a challenge that not only entails testing your technical knowledge but also how you interact with your co-workers.

Talking with friends and fellow programmers about their experiences when entering a new company, I gave myself the task of delving a little more into a specific topic “What qualities do you consider positive in a co-worker?” And considering his answers, I made my best effort to take the qualities that they mostly emphasized on as positive aspects of a co-worker. These capabilities are named “Soft Skills” according to Sophia Bernazzani.

What qualities do you look for in a co-worker?

It...

6 reasons why you should stop using Java and use Kotlin instead

 

As an Android developer who started working with Android 4 years ago, I had to learn Java in order to create native applications. For the first two years, I learned a lot about Java and I started to feel that I was getting good at it. During this period, I heard you could use Kotlin to create Android apps but I always thought “There’s no way Google would deprecate Java, it’s their main language.”

A year passed, and first-class support for Kotlin was announced at Google I/O 2017. In 2018 Kotlin was voted as the second most loved programming language (StackOverflow).

 

Being a leader as an engineer

Have you heard the story about the two engineers and the manager who found a Genie lamp? This manager and his team were looking for a laptop with crucial information for delivering an app. While searching their storage room, they stumbled into an old oil lamp that would look cool in the office, so they decided to clean it. After a couple of rubs, a Genie comes out.

The Genie told the three he will grant one wish to each one of them, so the first engineer is quick to say: “I want to be in the Bahamas, living in my dream home and owning a yacht” Puff! He is gone. The second engineer screams: “I’m next! I want to be...

Is your organizational culture hurting your recruitment efforts?

“Why has it become so difficult to hire people in startups? Do you think you could send us more options? When would I have the first list?”

As a Technical Recruitment Leader, these are just some of the questions that I hear practically every day,  throughout the years of experience in several companies (Enterprise, Mid Sized Companies, and Startups).

I have realized that one of the most relevant factors, when it comes to attracting talent, is the organizational culture of the company. This, in turn, is part of its “Employer Brand.” Let’s accept it, saying, “I’ll talk to you about X or Y transnational company (that everyone knows...

Test cases; an asset or a hindrance for the QA testing process?

 

This blog post aims to address a controversial topic within the QA tester community: test cases. When I first read about this topic, I was wondering whether test cases are actually an asset or a hindrance to the QA testing process. The following paragraphs are meant to help us distinguish between the advantages and disadvantages of different test cases. 

On one hand, some people say that it is essential to design a test plan and have the whole list of test cases before starting to test. These people consider test cases an asset. On the other hand, some other people say test cases are actually a hindrance...

How to conquer legacy code and not die trying

As a software engineer, I know how frustrating it can be to work with legacy code, especially when your client has no idea of the level of technical debt you are inheriting, and wants you to deliver bug fixes and new features as soon as possible. If you’re as passionate about software development as I am, you’re supposed to enjoy it, not hate it. That’s why I’m writing this blog post: To share my experience and a key piece of advice about how to deal with it.

The most common issues of working with legacy code are:

  • Having no tests at all, or no useful tests.
  • Outdated dependencies.