# Algorithms, Data Structures and Web Development

## Or why learning computer sciencey stuff matters…

It's easy to find blog posts and tweets ranting about hiring processes for Web and front-end developers that require "Computer Science knowledge". Some people just cannot see how Web development has anything to do with algorithms and data structures.

As someone with Computer Science background who happens to be working mostly with JavaScript for the last two years I'll try to prove them wrong.

Disclaimer: I am not by any means suggesting that every developer should have formal CS education. Hell no! Some of the best developers I know don't have it. …

# Why programmers should always start counting from zero

When you want to perform the same action n times, there are two common ways of writing the loop:

`for (int i = 0; i < n; i++) { // do stuff}`

or

`for (int i = 1; i <= n; i++) { // do stuff}`

And both work, but why is the first one better? (besides the obvious fact that it matches with the iteration on zero-based array indices).

1. Counting from zero encourages us to use asymmetric ranges to express intervals. [0, rows) instead of [1, rows] and that’s easier to use because [m, n) has n-m…

# The Peter Principle in the Software Industry

Have you ever heard about the Peter Principle? Maybe not by its name, but you certainly know the concept:

The Peter Principle is a concept in management theory in which the selection of a candidate for a position is based on the candidate’s performance in his or her current role rather than on abilities relevant to the intended role. Thus, employees only stop being promoted once they can no longer perform effectively, and “managers rise to the level of their incompetence.” — Wikipedia

With the traditional career ladder proposed by most software companies, the next step in a Software Engineer…

# O programador brasileiro e as oportunidades no exterior

## Uma reflexão sobre os desafios e motivações de um brazuca no além-mar

Há quatro anos* deixei o Brasil para me aventurar no velho mundo.
Update: Esse artigo voltou a ser muito visitado, então atualizando: "Há seis anos…"

Fui embora assim que terminei a universidade e sequer tive a experiência de ter um emprego formal como desenvolvedor no Brasil. Mas mantenho contato com vários desenvolvedores brazucas e tenho uma noção de como está o mercado de TI no país.

Estive em entrevistas de trabalho com brasileiros, mas do outro lado da mesa, como entrevistador. …

## Felipe Ribeiro

Senior Software Engineer @ Netflix, previously Staff Engineer @ Spotify. Dad of two, road cyclist wannabe and citizen of the world.

Get the Medium app