Protecting clients from themselves

I've always thought that is my responsibility to protect clients from themselves. If not specifically mine as an engineer, then it's definitively my team's job to help them achieve their goals.


At Levatas, I've always worked with very talented people, so I'm not just honored but incredibly blessed for having a great team trusting me with such an important role.

Sometimes is not just about more time

Of course, the difference between finishing a 4-hour task early or being late is usually about time. "If I can only get another extra hour, I'll wrap it up for sure!"

I'm voting for America

I'm not going to tell you for whom I will vote for on 2016. But maybe you can infer that from this post.

The more you have, the more you should protect it

If you have tons and tons of money, you probably spend it less carefully than somebody who lives paycheck to paycheck. Water is more valued in California than in Florida where it rains all the time. Scarcity makes everyone think twice.

Statecharts and wireframes

I've always relied on wireframes to communicate the user interface requirements of a system. This is definitively a good approach that helps everyone understand how an application is supposed to work.


Some people don't always like to jump from project to project. Sometimes I don't either. I guess you get tired of switching context; of having to learn everything again without the satisfaction of resting on past accomplishments.

Preparing for the future

Even the more detailed and well-thought plan to finish your project can go awry at the very first turn. At that point is when all of us realize how bad we are at predicting the future, send a rant to our boss by email, and demand clients to stop asking questions we can't answer.

Estimation is not about accuracy

Here is one thing I know about estimation in software development: It's not only hard, but it's also not about how accurate you can get.

Thoughts about OCL - The Object Constraint Language

Right now I'm taking the Software Architecture and Design class (CS6310) for my graduate degree. Specifically for the last couple of weeks, we have been looking into OCL (Object Constraint Language).

Don't do functional teams

There are multiple ways to organize a development team. You need to take into account your business and the type of work you are doing. Every company is different so is every manager.

Back to school if you can

I spent a lot of time over the last few weeks studying for the class I was taking this semester: Advanced Operating Systems. The class, albeit fascinating, was extremely challenging.


We are trying to get more "remote" than what we currently are. I think it's a very sound strategy for anyone that's part of the software industry, specially if you'd like access to the best team out there you can get.

Shifted Up

I thought it was time to make the move and name by blog something different than my own personal name. People always had a hard time spelling the URL which is the one I've been using forever.

About multi-functional teams

Some people really like the idea of having multi-functional teams. (Anyone from the agile work will probably tell you this is, as much as possible, the way to go.) A team where everyone knows how to do anything that needs to get done in order to build a product.

Developers, testers, and the communication between them

You know something that developers are really good at? Blaming other developers. Another thing? Fighting with quality assurance people.

Computer Science Courses that Don't Exist, But Should

Really enjoyed this short post from James. He nailed it with his 5 courses that don't exist but should. I wanted to add another three to the list:

To manage technical debt all we need is discipline

I've written before about technical debt. I'd like to write some more about it, but this time about the way we try to keep it in line.

Better to look after the product, not my time

Sometimes I feel the urge to go back and negotiate more favorable terms for me or my team. (I'm talking about features in a software system, not money.)

If you don't know what else to do to contribute

Sometimes it's hard to know what to do to contribute to your company. Of course, besides coding all day long.

There are more questions, but here you've got 15

Does my team have the hardware they need to do their jobs? Is this hardware functioning in an optimal way? Is there anything that will make them more efficient?

My team

I'm really picky with my team. It's not only about who gets in it, but about responsibilities in general.

There's always something else you can do

Here is something I'm focusing on lately: determining what's good enough, and then doing something else; just enough to delight.


Sometimes I’m an old fashioned guy and spend too long doing the same things the same way. I like to fight this, albeit sometimes it makes me feel uncomfortable. I keep trying though.

How to determine last 5 business days in BigQuery

This was for the same project I was working on when I wrote How to determine last Monday's date in BigQuery. This time I needed to determine the date of the last 5 business days.