Ninja Tools Ep 0.1 – Intro

“Technology and tools are useful and powerful when they are your servant and not your master.” ~ Steven R. Covey

Every good ninja needs an equally good set of tools to tackle the daily barrage of tasks and issues they deal with. This is true for any profession. A police officer for example. I’m sure as soon as you read “police officer” you thought of gun, handcuffs, taser, police car, etc… These are all “tools” a police officer uses to do their job.

Obvious or Not?

What tools can you think of for the following professions?

  • Doctor
  • Lawyer
  • Salesperson
  • Landscaper
  • Mechanic

In each case, I’m sure you thought of the very obvious and common tools, and maybe some of you thought of a few less common ones. Take the salesperson for example, some obvious tools might be a computer, a calculator, the “sales” material like a pamphlet or brochure, and of course the object they’re selling, like a car, or a house. But what about some less obvious ones? Like their shoes, suit and tie or blouse and skirt? How a salesperson looks can affect the customers perception, so this is a vital tool, and one that shouldn’t be ignored. Similarly, “soft” skills like communication, observation, problem solving and adaptability are all essential tools of this trade. And you can probably recall an experience with a salesperson whose tools were… shall we say “rusty”.

Keep ’em Sharp!

This brings me to my next point. You have to take care of your tools if you want them to last. For a physical tool, like a computer, this might mean having a good antivirus program, doing regular cleanups and backups, updating software, etc… But what about “soft” tools as mentioned earlier? How can you take care of those? Well, for starters, don’t stop using them! Practice makes perfect right? Well… sort of. If you keep practicing the wrong thing, then you’ll end up doing it perfectly wrong every time! So with practice also needs to come learning, and relearning. Read books, observe your coworkers, both the good and the bad ones, you can learn a lot from other peoples mistakes. Go to seminars, watch YouTube videos (TEDtalks are pretty great). Basically, do anything and everything you can to continuously learn and continuously improve the tools of your trade.

What’s Next?

Over the next several posts I’ll write about some of the tools of my trade, how I use them, and more importantly why I use them. And even if you’re not a software engineer like me, I think the concepts all still apply and I hope you’ll find something useful.

Advertisements

Nabi Car Seat Clip

Nabi

I know this is a bit off track, but as a parent, and someone who gets sick to the stomach every time I hear stories on the news, I wanted to share. The Nabi (expected to be available holiday season 2015) was demoed at the recent IDF15 (Intel Developer Forum).

What is it?

It’s a simple enough device (click the image for more details), that detects when the clip is locked, and it connects to your smart phone via bluetooth. If the clip is locked and you walk away (assuming you have your phone with you), your phone will start screaming at you.

I love it.

On one hand I LOVE this. It’s simple, expected to be relatively cheap (sub $50 bucks), and it’s the first good attempt at trying to solve the problems in this area.

But…

As someone who works in automation, I’ve learned that the more “human” involvement you can remove from the equation, the more likely it is that your system will actually work. So I have two issues:

One

The user has to buy it. Sure it will be relatively inexpensive, but the responsibility is on the human instead of the system. And although millions will probably buy this thing, twice as many millions probably wont. And I tend to think that those who have the forethought to buy a device like this, are also those that are actually less likely to leave their child in the car. Note: That last sentence is my opinion and not based on scientific research, although there may be some out there.

Two

It connects to your phone, via bluetooth. While this is a great primary device to connect to, how many times have you left your phone in the car? Or have you ever disabled bluetooth to conserve battery? I’m not 100% sure how, or if the device handles these use cases (product details are pretty slim right now), but I still don’t like that it is ONLY connecting to a smart phone.

Make it a part of the “system”

Buying a device like this is OPTIONAL. As awesome as it is, not everyone will buy it. However, buying a car seat is a different story. Required by law in most, if not all states for children within a certain criteria. I think it would be a whole lot better if the manufactures of the Nabi, could work with the car seat manufactures and make this the standard clip. of course there would still be the “old” car seats out in the world, so the “direct to consumer” product would be needed for a while, but those will phase out over time.

Second, connecting to a device like your phone is nice, but if you watch the new, most of these stories involve a stranger who just happened to see the child in the car and smashes the window. As almost all cars today are coming standard with built in bluetooth and/or wifi, I think it would be much more effective to connect the car seat directly to the car and have a much more conspicuous alert to the environment instead of just a chime on your phone. You also avoid the issues of accidentally leaving your phone in the car or disabling the bluetooth. And the people passing by would be alerted to the problem much quicker while the child is still in good health.

Final thoughts

I don’t mean to dog on the Nabi. I love the idea, I love the people who are spending time developing solutions like this! The number of children who die from this problem is less than 100 ever year, which seems small in comparison to a lot of other things in the world. But any number greater than 0 (ZERO) is absolutely UNACCEPTABLE if you ask me!

So thank you Intel, Nabi, and Marcie Miller (creator) for all your hard work!

Learn, Be Resourceful and Waste Not

A good ninja is resourceful, avoids excessive waste and never stops learning so he (or she) can be at the top of their game. Likewise, I find that it’s incredibly important apply these principles in the environment of a build engineer. The build is complex, and at the center of every project. It’s like a hub with all kinds of inputs and outputs. A really smart guy once said:

“The build is a piece of software and should be treated as such. The build is among the most heavily used and complex pieces of software in the development group and should be treated as such.”

~Danny Glasser (1991)

So it’s kind of important that this “thing” is strong, stable, consistent, reliable and any other positive attributes you’d want in a boyfriend or girlfriend. Similarly, the team that develops and maintains the build should have these qualities in spades. So the first three principles I mentioned (resourcefulness, avoiding waste, and constant learning) are really key to a build team and the quality of the build system they produce.

I read a good article the other day that really inspired this post in the first place. I’ll let you read it but wanted to highlight a few points that I think really affect build teams today:

(Too Much) Work in Progress


“Completed work in the hands of our customers is valuable. Until then, it isn’t” – LINK

This is one of the biggest struggles for a build team. like a software team, you have new features, bugs, and customer requests all coming in at the same time. The difference is that usually, a software team only has these things coming from one or two directions. The build team has them coming from every input and output stream of the build (developers, validators, program managers, release teams, debug, analytics, etc…).

Be resourceful. Stop complaining about what you don’t have and figure out what you can do with what you do have! A stick is just a stick to the untrained eye, but broken in half and tied together with twine and you’ve got yourself some nunchucks!  I’m not implying that you should duct tape and “Jimmy rig” everything because that would be counter productive. But by spending more time in a positive, constructive space and thinking outside the box, you might be able to complete tasks faster, or remove them altogether.

And why is it that every developer who writes a script to zip or unzip a package, thinks they’re the first ones in the history of humans to write that script?  Reuse can dramatically trim down that “to do” list. Also, look for solutions in “out of the box” places!

Technical Debt


“Sure, I can do that tomorrow.”

While the article focuses on the quality of work in this area, I’d like to take a moment to talk about the procrastination of work. I can’t count the number of times I’ve heard a build engineer say they can do something “tomorrow” when requested to do something that takes less than 5 minutes. Do it NOW! or at least TODAY!

While the next topic (Task Switching) may somewhat contradict this, your schedule is only as good as the next build break or other critical issue. You wouldn’t drive at rush-hour speeds if you weren’t stuck in traffic right? Handling a simple five minute request immediately, or at least within the same day will delight your customer and save you the hassle of remembering to do it “later” and making that assumption that you’ll even have time to do it whenever “later” was supposed to be. Seriously! You have enough post-its on your monitor already, put the pad down and just do it!

Secondly, learn! But more importantly, learn often and in your “off” time.  Spending time learning something new during a task can often push that task out more than you think. While it is sometimes unavoidable to have a learning curve or “ramp up” phase as apart of an assigned task, this is not necessarily the best time to learn (unless the task itself is about learning, then you’re good!). your brain is in “task” mode and not necessarily primed for learning. you’re looking specifically for the answer to your problem rather than absorbing information in a more holistic manner. This can lead to a poor or even incorrect solution because you did not have the full context of what you were trying to learn.

The “off” time mentioned above does not necessarily mean you have homework to do that you’re not getting paid for, but it is your career after all and some light reading on the weekends probably wouldn’t hurt. More generally what I mean is, don’t wait until your in the middle of a task to start learning. most “healthy” teams don’t schedule their work at 100% capacity, there is usually a decent buffer to account for technical debt, meetings, and wait for… learning!! Use your time wisely!

Task Switching


“An overwhelming abundance of research shows that the more people have on their plates, the more they lose productivity” – LINK

This requires A LOT of diligence and mastery for the build ninja. Sometimes you need your nunchucks in one hand and your throwing stars in the other. I get it! I really do! And it looks freaking awesome when you’re in your ninja suit (Less so in your graphic tee and converse, but still, awesome!!). It can be tempting to show off all your sweet ninja moves, but remember all those Chuck Norris films? As soon as the ninja starts showing off, they get punched in the face!

Ninja’s do their best work when focused on a single task at a time. And generally try to complete this task before moving on. Don’t get this confused with “tunnel vision”. It’s super important, especially for a ninja to be aware of their surroundings and to be able to adapt to them as they change.

In other words, don’t waste a bunch time in “overhead” activities like setup and breakdown of tasks! I know this seems like common sense to most, but if we all took stock of our day to day routine, you might find out your wasting a lot more time than you think!

Moral of the story

Be flexible, but don’t break your back. Be fast, but don’t let quality suffer. And only juggle when you have to, and never with sharp objects! It’s a balancing act, but that’s okay! You’re a ninja and you have those funny shoes that split your toes apart so you can climb trees and balance narrow ledges and stuff!

When you fall…. Get back Up!

Skaters are slackers, potheads, trouble makers, miscreants, and/or drop outs… right?

Below is a video of my childhood hero Rodney Mullen, Iconic skater and godfather of technical skating, on the community of skating and what skaters do better than almost anyone else on the planet, getting back up!!

So lets try that again:

Skaters are committed, innovative, free thinkers, creative, passionate, determined, contributors, collaborators…

Wait… Aren’t those all qualities employers are looking for?

How biased are you really?

Seriously.

Sometimes we are more biased about something than we think. and sometimes it’s happening when we least expect it.

How biased are you being throughout your day? The below video shows how difficult it really is to “un-train” something that’s been hard-coded into us.

The Backwards Brain Bicycle

ALWAYS check your pockets!!!

Sorry it’s been a while since my last post. We went on a little family vacation last week and the internet access was not what I had hoped, and then I had a little mishap that left me phoneless for nearly a week! And I think I almost died!

Anyway, You know how the activity of swimming has always been surrounded by rules?

  • No running
  • No diving in the shallow end
  • No rough housing
  • Wait 30 minutes after eating

Well, I’d like to add a new rule to that list:

ALWAYS check your pockets!!!

After getting my two girls ready, and being distracted by an eager 1 year old to jump straight in, I descended the pool stairs and enjoyed an hour or so of relaxing, splashing, laughing, and general pool fun. And then my wife bumped into me and that’s when I noticed I had something in my pocket… (Play dramatic “dunt dunt done”)

My 6 month old iPhone 6 (64GB)!!!!!

Thankfully I have phone insurance and it is being replaced, but the loss of pictures and videos I had taken during our trip is the really agonizing part. I had cloud backup enabled, but only over wifi, which unfortunately the place we were staying did not have.

While I wait for the replacement device, the dead phone is resting in some rice, in hopes of being able to get enough functionality to retrieve my data, but  I don’t have very high hopes.

LESSON LEARNED!

And the winner is…

Well the hunt is over… For now at least, and of course it wasn’t even one of the three I was considering! 

  This is the Ogio “Renegade RSS 17”. It is the most feature packed bag I’ve ever seen! This is what it looks like on the inside:
  
This thing has 10 different pockets so you’ll never remember where you put stuff! But it is extremely comfortable and has a really sturdy feel to it! 

I’m going to try it out for a week or so before giving my final verdict but after load it with all my stuff I have high hopes!

Ninja out!