Thursday, January 28, 2016

We could be moving so much faster

A few years ago in a public presentation on the Arduino Day I asked the audience a simple question:

"What is the best Database Management System (DBMS)?"

"Is it Oracle? SyBase? MySQL?". Can YOU answer this?
Some yielded Oracle, others MySQL and so on. However, the really good answer, like almost anything in the software industry, is "it depends". Just like that. Take a look at the list of currently available Relational DBMS. And this is ignoring other Database Types like NoSQL. So, based only on the question I asked it would be hard to say which one is the best. If I added that "cost is a priority factor" or "it must guarantee ACID properties" or "must be relational", than you could narrow down the answer.

Nevertheless, keep your focus on that list I linked about Relational DBMS. Can you identify the main problem with that list?

Well yes: It's HUGE!

It's basically a lot of software that, in essence, solves the same problem. And here goes the "speed block". So many engineers developing "the same idea" just in different flavours. We live in a competitive world instead of being in a cooperative world. And this is scattered everywhere: Android, iOS, Windows Phone... You name it! On top of this, so many engineers having to know lots of different ways of working with the same basic concepts. Sometimes it's just syntax. All this reminds me of the cables every single phone manufacturer had years ago. If you had a Nokia, the connector of the charger was one. If you had a Sony, another.
"Hey, there's micro USB!"

Technology is just a means to an end.
Humankind could be moving so much faster.

Cooperative VS Competitive

Wednesday, January 20, 2016

The one essential task in my calendar

I recently changed functions inside the company. That's good news for me, new challenge! Excited to embrace a new challenge, I want to outperform myself. I want to make the people that gave me the opportunity proud of their decision. I want them to look back and feel good, thinking "great decision, that was THE man for the job". However, there's a problem: the project is rolling and on an important phase, so, what that means is I have to catch a train that already left the station.

How to manage the gigantic amount of new information coming in every second and still be productive? In these first weeks it's not easy. So, nowadays, the most important meeting in my calendar was created by me and I'm the only participant in the room:

Google Calendar Refocus

Daily refocus. After just two days, I realized that in this initial phase on a rolling project I would have to "refocus" on a daily basis. With so much information scattered around, not stopping for a moment would imply something would get lost. No can do! Every day from 19h to 20h it's my time. I revisit the day, reorganize notes, review documents, review my personal notes and reorganize thoughts. Some of the information is not that important. Some is crucial. Never loose focus on what you really need.

(Ignore the brand - the message is just brilliant)