As I transition now into a new job I’ve been reflecting about the people I’ve met and the things I’ve learned. I’ve met a lot of smart people, and also met a lot of terrible people.

I promised myself to learn not just software engineering principles and programming, but the process by which we create these great things on what has come to be known as the Internet of Things. To reflect on the things I’ve learned I will do a blog series on my time there called “A Culture of Incompetence.” This is Part 1.

Hiring and Mentoring New Developers

This issue is particularly interesting to me – the idea of building a team is exciting! You know that scene in the movies where a guy gets a difficult mission and he says, “I’ll do it on one condition: I get to use my own team. These are people I trust.” Building a team isn’t about slapping people together with the right resumes. People will likely need to grow to fill the position you’re hiring them for. This means a lot of checking in, mentoring, and training them to do things the way a well-oiled machine does.

“I’m looking for people who are willing to work long hours – basically for free.”– A Previous Manager

There I was thinking about new team members when one of my managers says to me, “I’m looking for people who are willing to work long hours basically for free.” … yeah, he just said that to my face. It’s true, anyone building a team has constraints, a budget, and I get that, but telling members of your team that you’re looking for indentured servants is not a good look. The funny thing was, he wasn’t kidding. That particular company hired many foreign nationals and sponsored their H1B visas. By being the sponsor company, there’s a certain power dynamic at play when these employees ask for time off, a salary or performance review, or even when asking not to work overtime.

I do believe there’s an untapped pool of very talented individuals who need sponsorship. Turning over every rock to build a team is commendable, but it’s all in how you go about it. In my opinion this approach was unethical. It was the deliberate choice of a lazy management team that wanted to lower costs by hiring cheaper labor instead of developing an efficient process.

Ok, we’ve assembled a team of wage slaves, who have little choice but to come to work every day. Now what do we do? Well, naturally we let them do whatever they want and do nothing about it. One issue in particular that I came into contact with: some teams were not even committing their code to our version control system.

We have whole teams of people, working on client projects that aren’t in version control. Before we get into the cost of a “mishap” related to losing code, let’s discuss what could have caused this situation. Have we made it clear that committing working code regularly is an operational priority? Yes. Do we have hundreds of projects already under version control? Yes. Do we have people available to help if someone doesn’t know what they’re doing? Well, kind of.

I have my own team, we discuss software engineering as a practice. I strive to identify weaknesses in my team and to eradicate them through mentoring and training. This type of mentoring is different for every team member – some need hands-on, some need to see code samples, some you need to light a fire under their ass. Why do I do all this… because I decided I was tired of working with a bunch of apathetic new hires, who really don’t care about anything but lunch and going home. It’s also rewarding to see these people turn into up-and-comers.

When I found out that other teams and their members didn’t bother committing code and were positively cavalier about it, I approached my manager. “Well, it’s ok, that’s just how that person works.” Really? REALLY?! Is that how you build a strong team? This is exactly the type of attitude that has pervaded my places of work in the past. It’s disgusting.

Here we have a management team that is assembling resources as cheaply as it can, and then not taking the time or energy to train them up. I believe this culture of incompetence comes from the top and has trickled its way down. It’s exhausting to deal with, it’s exhausting to work against.

Anyway, those are some observations of my current employer’s hiring and training practices. These are things I need to think about and learn from. That’s it for Part 1… until next time.

I had the idea for a character in the Walking Dead. The idea struck me while playing Dead Rising 2 again, and fighting the psychopaths. The psychopaths represent a normal person who snapped under the immense pressure of abnormal situations, they become detached from the full reality of the situation. My particular character is not quite a psychopath in that sense, but a strong character within the Walking Dead universe.

Rick’s group crosses this character spinning his home-made polearm, a machete on one end, and a sledge hammer on the other. He was slicing and smashing walkers to bits, like a giant blender the way he spun his weapon. Heads and chests exploding, limbs and torsos flying this way and that. Finally, he’s pinning down the last live zombie, removing its thyroid gland from it’s still twitching body. He stabs the zombie in the side of the head and takes a few steps to a creek, rinsing the meat. He then hangs the small piece of meat alongside a few others to dry in the sun. You see, he has to remove them while the zombie is still “alive” for it to retain it’s effects on the human body.

Satisfied, the man produces a small pouch, dipping his knife inside to stir the powder around. Carefully balancing the knife while pulling it out, he snorts the powder along its blade. Rick, Darryl, and gang creep up on the man, weapons raised. “What the hell are you doing?” Darryl asks, genuinely confused by a man doing drugs all by himself outdoors.

“Eh?” the man says, standing up now. You could see the muscles on his arms pulsing, the veins along his arms throbbing like he’s been lifting weights. He stands tall and half smiles. “What do you want?”

Rick, content to let Darryl take this one, doesn’t move an inch. “What’s with the meat? What are you curing it for? Don’t you know they’re walkers?”

“Of course I know,” the man replies, “where do you think I get my strength?”

Darryl, Rick, Michonne, none of them knowing what to say, stand there unblinking. The man continues, “We’re all just like them anyway, at least, as soon as we die. I’m just borrowing their strength now before I turn.” His listeners, don’t even twitch, even Judith is quiet. “You see how much strength they have even though they’re dead, how long they can last without eating? That’s what I mean. So long as I take this stuff, I’m stronger than I ever was before all this happened. I won’t lie, I’ve never been this hungry, but I don’t need to eat.”

“I used to be with this group that had a doctor. He was experimenting on the biters, and I offered to be a guinea pig. At first I was eating their thyroid, that’s what he called it. But to make the thyroid last, so I could take it with me, I started drying it, grinding it up into a fine powder so I could snort it quick, or rub it against my gums.” The man now was scratching himself and playing with his fingers the way an addict would. He clasped his hands, a reflex he’d developed to keep his busy hands in order….

Overall, the character is stronger than any regular man, his wounds can heal, he can survive without water or food, but he has a few characteristics of an addict. Anyway, that was my idea for a character in the Walking Dead universe.

sfa-psx-longbox In high school I lived down the street from two brothers who were smart enough to invest early into a Playstation. They had the long box versions of all those early games: Ridge Racer, Street Fighter Alpha, Air Combat, Battle Arena Toshinden, etc. An early favorite of mine was Ridge Racer, but far and away the one we played the most was Street Fighter Alpha. I played it in the arcades of course, but sitting down next to someone and playing for hours was a sort of practice I hadn’t gotten since playing SF2 on the SNES. That’s when the brothers had the bright idea to host a tournament.

I was reluctant to enter because, well, first was the $10 entry fee, and secondly because I wasn’t confident in my ability to win so I joined to be part of the fun. If memory serves, the tournament had 8 players and was set up as double elimination. I remember not doing too well and getting knocked into losers early on. My first fight in losers though I did pretty well and I specifically remember picking Ken and doing a jumping HP, crouching HP, HP shoryuken combo. The guy gave me hell for my one button combo, but it didn’t bother me too much. Later on I got knocked out of the tournament anyway.

The most memorable part of the tournament was what happened during grand finals. First, it’s important to know that for this tournament, the person hosting it set the rules for no throws. The host won the first round, but lost the second round to a throw. The host claimed it was his right to a free hit at the beginning of the third round, and it was agreed upon by everyone since the only rule was no throwing. Instead of throwing the second player for equal damage, or just punching him he does a level 3 Shinkuu Tatsumaki Senpuukyaku. Insane! He took the rest of the round easily. The guy who lost got his $10 for second prize and it didn’t cost him anything overall, but I couldn’t help but feel like it was a shitty win. We found out later he actually hosted the tournament to collect money for some target purchase of his – probably more games.

Needless to say, that kind of ruined the pay-to-enter tournaments for us and we never did it again. As someone that grew up on games and Street Fighter it has always been a dark memory for me. Years later I went back to their house and played them, but they couldn’t touch me, haha. Those were very satisfying wins.

194212-RXYU_20141030_235959_CGP Over the years I’ve been able to meet and correspond with people from all over the world thanks to the Internet. It began in middle and high school in the mid to late nineties when I would chat on IRC. Learning about different people and cultures has always interested me, especially at a time when I hated my own existence.

The Philippines struck me as a country with big-hearted people. Even when struck by disasters and widespread poverty, they seem devout, generous and loving. I was thinking if I can support a young kid, someone that never asked to be part of this world, to give them even one more chance I could sleep. Enter Fatima. I’m hoping to connect and support her, to be a friendly face. I received her photo and video from the humanitarian organization and have been writing to her for the past few months. I don’t get a chance to update my blog very often, and I thought writing one for her might be a good idea.

She comes from Camarines Norte – a province in the Bicol region of Luzon, an island in the Philippines. I’ve never been to the Philippines, but it looks like a beautiful tropical archipelago. It’s probably covered with pineapple and mango trees.

Philippines Map

Included in her introduction is a short video describing her favorite things and what she wants to be when she grows up. A friend was kind enough to translate the video and I’ve included the transcription below as well.

My name is Fatima. My favorite food is fried chicken. My favorite color is red. My favorite school subject is Filipino. I want to be a teacher someday!

It happens all the time, someone deleted an item by mistake. Whether it’s your content author, your customer, or yourself, you’ll need to undelete or recover a deleted item. Here’s how it’s done. If you’re a Sitecore 6 or 7 user, scroll down to that section.

Sitecore 8

Sitecore 8’s Launchpad provides a new way to access the Recycle Bin. From the launchpad just click the Recycle Bin app to access it.


If instead you’re already in the Desktop mode or are used to that, hit the Sitecore menu and click the Recycle Bin app from the right hand side.


Once you’ve launched the Sitecore Recycle Bin, navigate to your item, select it, and choose “Restore” from the top.


Still on Sitecore 6 or 7?

When logging in select the Desktop view.


From the Sitecore menu select the recycle bin from the right side.


Navigate to the item you wish to recover, select it, and hit “Recover” at the top of the app. Your item is now recovered.