Skip to content

I wanna be like my Roomba

Dear Reader,

I wanna be like my Roomba.

My Roomba kicks off every morning at 8:00 Am ET sharp and sets out to accomplish the day’s mission.

My Roomba does not feel like a failure if does not complete it’s given task in the allotted time.

My Roomba does not take into consideration that it failed yesterday before starting today.

My Roomba does not doubt itself and wonder if it is really qualified to clean the floor.

My Roomba faces each day knowing that it will do it’s job to the best of it’s ability and that’s good enough.

I wanna be like my Roomba.

Until next time,

I <3 |<

It’s OK to walk away

Dear Reader,

In teaching a student recently, I was pulled aside and told “This is not fun, I don’t want to be here”.

I smiled. I helped the student to the edge of the pool, lifted the gear out, disassembled it myself, and called an instructor over to discuss ‘Next steps’.

I understand the student’s frustration. In this particular case, several small things had gone wrong and they just were not getting it.  I am a firm believer that if it does not bring joy, get rid of it; at least when it comes to hobbies. :)

I feel the same way with professional relationships.  If a relationship is not working for both parties, it’s OK to shake hands and walk away.  I don’t feel it is necessary to try and salvage it, or work on it, or any of the other things we sometimes do with more personal relationships.

If it does not bring joy, if it’s no fun for you being a part of a professional relationship, it’s ok, to walk away.

Oh the student arranged for one-on-one training. I hope it works out and they can find the joy in diving. I know I do. :)

Until next time,
I <3 |<
=C=

Who do you trust?

Dear Reader,

There are people I trust, and others I do not. Who I trust largely depends on the context of the conversation. For example, if we are talking crypto-currencies, I trust my friend Luke Stokes. He has proven to me time and time again that he understands the domain-space and has earned my trust.

When it comes to programming, Robert (Uncle Bob) Martin is a trusted source for me. You are welcome to espouse any opinion on programming that you may have but if you disagree with Uncle Bob (and you are not someone like James Gosling) then no, I will not trust you. If you do it often enough I’ll learn not to trust you at all.

Our world increases it’s dependency on software each and every year. I trust those who have studied it, who have learned it, and who have a proven track record of doing it right over someone who  has not; experience matters. If I am having open heart surgery, I want the most experienced doctor doing it. Not someone who has 5 years experience and has developed a new way of doing it. (Let them experiment on someone else) :)

It’s not a matter of respect – I can be respectful to both parties, even the one I disagree with – it’s a matter of earned trust.

Until next time,
I <3 |<
=C=

 

p.s. if probably goes without saying but if you dn’t trust me, ignore this blog post. :)

Dive with 3 computers

Dear Reader,

Free advice is worth every penny you you pay for it.

I recently had a good friend of mine run an idea by me. It sounded solid so I told him so. I thought it was a great idea.

He ran it by another friend and they told him it was a worthless idea. This friend had nothing good to say about the idea. This discouraged friend 1 to the point where he was seriously considering giving up on it totally. Hearing this from friend 2 was demoralizing.

 

Dive with 3 computers

In scuba diving, many professional divers carry three dive computers on each dive, their primary and two backups. Part of this is because you never want to be underwater at depth and have your computer fail. Trust me, it’s happened twice to me. No, the main reason they do it is because If, when they get back to the surface, their primary gives them a reading they don’t expect, they have  backup. Having one backup though doesn’t really help. At that point you have to decide which one you want to go with. In some cases that might make the difference of being able to dive again today and not. That can be dangerous on the life-n-death level. That’s where the third computer comes in. Now you have 3 “opinions”. You can take a consensus and go with the majority. If your primary was giving you a reading you didn’t like (e.g. you went into Deco) but the other two did not, you can feel safe about diving the next dive.

However, if two of the three computers tell you you went Deco, listen to them. It doesn’t matter if you don’t want to hear that. It doesn’t matter if you don’t believe them. You bought the computers – you sought their advice – so heed the advice. 

 

Applying the rule of 3 to free advice

  • Don’t just ask one person, they may lie to you to not hurt your feelings.
  • Don’t just ask two because then you don’t know which one to believe and you end up going with the one that you agree with.
  • Ask three people. And even if you don’t like the answer, listen to them.

Until next time,
I <3 |<
=C=

Stop chasing the shiny!

Dear Reader,

Developers love shiny things. We love to play with new toys, try out new APIs, and libraries. If it was featured on Hacker News, we will find a way to shoe-horn it into a project, just to say we used it.

Therein lies one of the problems with developers.  In our race to implement the shiny, we rarely stop and answer the question “Just because you can, should you?” The answer is obvious to us, “Yes, I should BECAUSE I can!” This is a perfectly acceptable answer for personal projects. Heck, that is what personal projects are for.

In production systems though, careful thought should be put into each and every library you bring into the system.

  • Is it absolutely necessary?
  • Is it the best tool for the job?
  • Do we have a reasonable level of confidence in the code?

Look at why the library or project was created? Was it created for systems like yours? Was it created for systems that operate on a similar scale as you? This is commonly known as “You are not Facebook.” If a project or library was created for Facebook so that facebook can solve a problem at the scale they operate, it is most likely a very bad fit for your project unless you operate new the same levels of scale.

Sometimes, the shiny is the right answer and you use it and everybody is happy. That’s great, as long as you’ve done the research to prove that it is the right answer.

Spending more time thinking about the goals of your project will help you spend less time chasing the shiny.

Until next time,
I <3 |<
=C=