When We Get Stuck

good advice, learning, programming | Comments comments

Have you ever been in that position where your code does not progress?

Don’t worry! That’s one of hardest things to overcome while writing code. Being such a common problem in our daily work, I have been able to collect some helpful tips that help to overcome this state, which prevents us from keeping our usual flow.

Now that you know that these drawbacks are a common thing, follow me as we discuss these tips that will help you in those difficult times.

What Does “No Bosses” Mean

agile, culture, lean, organization | Comments comments

Para ver el post en español, hacé click acá

This week an Argentinian newspaper published an article about the way we organize ourselves here at 10Pines.

Summarizing the article a little bit:

  1. The company has no bosses, no CEOs, no hierarchy.
  2. 10Pines builds Software (it seems pretty obvious, but ¯\_(ツ)_/¯ )
  3. There is a group, called Roots, where all the decisions are taken — from “which computer should we use to work?” to “Should we work with this client?”.
  4. There is a monthly Roots Meeting, were we review the company status and take strategic decisions.
  5. All the Roots have access to the company numbers — how much do we charge to the clients, how much do we all earn, how much do we pay for different services, etc.
  6. Periodically, a smaller group of Roots reviews all salaries, according to an internal scale we have.
  7. Once the fiscal year is closed, we share the company earnings between every Pine. If the company does well, everyone gets more money.

¿Qué Signfica “Sin Jefes”?

agile, culture, lean, organization | Comments comments

To see this article in English, click here.

Esta semana, un diario argentino publicó un artículo sobre la forma en la que nos organizamos en 10Pines.

Resumiéndolo un poco:

  1. La compañía no tiene jefes, ni CEOs, ni jerarquía.
  2. 10Pines desarrolla software (parece obvio, pero ¯\_(ツ)_/¯ )
  3. Hay un grupo, llamado Roots, donde todas las decisiones son tomadas; desde “qué computadora deberíamos usar para trabajar?” hasta “deberíamos trabajar con este cliente?”
  4. Hay una Reunión de Roots mensual, donde revisamos el estado de la compañía y tomamos decisiones estratégicas.
  5. Todos los Roots tienen acceso a los números de la compañía: cuánto le cobramos a los clientes, cuánto ganamos, cuánto pagamos por los diferentes servicios, etc.
  6. Periódicamente, un grupo pequeño de Roots revisa todos los salarios, de acuerdo a la escala interna que tenemos.
  7. Al cierre del año fiscal, dividimos las ganancias de la compañía entre todos los Pinos. Si a la compañía le va bien, todos obtienen más dinero.

Technical Debt: The Most Forgotten (and Hated) Feature

good advice, ing, methodologies, programming, sofware-engineer, technical-debt | Comments comments

Is technical debt an issue that only appears in an ongoing project or it is something that starts at the beginning? Let’s say I believe it’s the latter. I’m going to try to convince you of how I arrived to that conclusion, or at least give you some ideas on how to avoid or deal with Technical Debt (TD).

Why is TD generated?

Dissecting a Fresh Elixir Application

actors, elixir, erlang, fp, functional, immutability, macros, otp | Comments comments

Introduction

In this post we will explaining some key concepts of the Elixir language using the code generated by the Phoenix project template and some handpicked examples.

The only previous knowledge assumed is basic Ruby. Elixir was designed to look like Ruby so most of Ruby’s datatypes are supported, there is one extra basic datatype that Elixir supports: tuples, basically a list of elements and it’s written just like lists but with curly braces eg: {:user, "Joe", "Doe"}.

CSS: From I Hate It, to I Actually Like This Thing

css, frontend | Comments comments

I remember on my early days as a web developer I’d get a task that sounded so simple “Hey Ignacio, we need to add a small red button bellow this form. It has to be aligned to the right. Oh, and btw vertically centered too”. I was doomed. A few hours spent breaking the site, fixing it and breaking it again with every CSS change I made. We have all been there…

Hopefully, after reading this post you’ll learn some tips to help you on your path to mastering CSS.

The Many Facets of Quality

development | Comments comments

Some time ago, in a talk, someone asked “What is software quality, what gives quality to software?”. My immediate half-joking answer was “Software shouldn’t get in my way, that’s quality!”. It was a half-truth, or a quarter-truth, because really, software quality is something with far too many sides.

We all want quality, but how can we tell what quality is?

Trapped by Transparency or Trapped by Culture?

agile, business, culture, transparency | Comments comments

Transparency has become one of the most popular demands in the recent years and for good reasons. Not so far ago, we went through one of the biggest global financial crisis, caused by large investment groups and credit rating firms hiding the real risk of financial products to their clients. Another example closer in time, just a few months before this article being written the ICIJ has revealed the Panama Papers scandal, exposing hundreds of world leaders, celebrities and businessmen’s dirty secrets.

Despite society’s urge for transparency, I believe there isn’t a clear understanding of what we mean and expect from it, specially when we discuss transparency outside of the public sphere: things turn more complex when we try to apply the same principles to the management of private corporations. Although some essays have been written on management theory regarding transparency on the organization, there is still a vague understanding of what exactly it implies and how it can be put into practice. When neither transparency, nor the conditions required for applying it, are properly understood, the expected benefits of increased productivity and more commitment from employees are not met. An interesting example of this misunderstanding is an article published a couple of years ago on the Harvard Business Review called The Transparency Trap.

From a Newbie, to a Newbie

best practices, learning | Comments comments

It’s been less than a year since I joined 10Pines, and a little more than two since I started working officialy as a programmer. I don’t like calling myself a junior developer because seniorities can be easily misused, as their meanings depend on what the person using these terms is looking for in a programmer and the context where they work at. What I can assure you is that I feel like a newbie developer. Maybe it’s all in my head, since my fellow team members treat me as an equal at all times, but sometimes the lack of experience in some scenarios just gets me as frustrated as a kid learning to ride a bike. To fight this, I have gathered a couple of life-savers that help me keep on track when I’m about to call it quits.