I’m going to tell you two stories about recruiting and its process.
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.
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?
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.
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.
I believe that most of us are familiar with the concept of “Test Pyramid”, a simple heuristic originally described by Mike Cohn, that is that a project should aim to have a larger number of unit tests than end-to-end tests. But after working on a project suffering from an inverted pyramid, I think it’s worth mentioning some of the downsides that relying solely on end-to-end tests might have.
Note: acknowledgements (and thanks!) to Máximo Prieto (our OOP guru) who had this idea and he implemented it on Smalltalk.
We want to have a collection that filters its elements as we add them using a given condition. For instance, we can
Array that only allows even numbers.
First, and important, is to understand what a filter is. “filter” is a very overloaded word, and sometimes used in a technical way. Let’s say that a filter is someone with the single responsibility of deciding if something has to pass over or not.
How to create a great palette for your app/web
You may have never paid close attention to the colors you pick for your web or app, but having a good palette helps organizinge information in your site.The idea behind this post is not to give an introduction to color theory but to offer a simple guide to help you create an harmonious and useful palette.
Svn to git, full migration
Finally you decided that git is more suitable than svn for your work. But, what happens when you have projects that where using svn for a while? All of that information represented in thousand of svn revisions is something that normally you don’t want to lose. For these cases I wrote this step by step guide to successfully migrate all the history stored in svn on a git repository, included all branches and tags no matter svn repository size. The only drawback is, more revisions you have more time you need to wait to get migration finished.
“Facebook is as much sociology and psychology as it is technology” – Mark Zuckerberg
In my previous article, Unitary vs Integral Understanding, I delved into how we understand a part of a system in terms of how it relates to the rest of the system. To recap, Unitary Understanding is understanding the part by itself, abstracting the rest of the system, e.g. “i = i + 1” understood as a unit means nothing more than “increment i by one”. Integral Understanding would require us to see how that sentences interacts witht the rest of the code, so for example that sentence could “move a loop forward”.
“How”, “What”, “Why” are three questions that are also helpful to see different facets of a system. A lot of what follows in this article might seem obvious to seasoned developers, but in my experience, these dimensions, because they’re intuitive, are often not adecuately explained to junior developers.