DaedTech

Stories about Software

By

Don’t Be a Human Resource

It’s easy to wince when someone uses the term “resource” to describe a human being.  At least, it is until you’re desensitized to the word being thrown around in a business context.  After that, I think it’s a subtle form of signaling.  But I’ll get back to that in a minute.  Let’s do a thought exercise, first.

Imagine if one day you received a call from your friend who, after a bit of small talk, said, “I’ve been having something of a rough time since the breakup, but I think I’m turning a corner.”  Fair enough, but then things got weird.  “I’ve decided to get into the dating market to find a companionship resource.”  Wait, what?  “Yeah, and it’d obviously be great if they could also supply nice-to-haves like sex, dinners out, and small vacations, but I think companionship is a good starter offering.”  Holy crap, what?!

TooMuchConfidence

At that point, you’d probably be reconsidering the friendship and wondering when this person morphed into a sociopath.  Context is king, it would appear.

Read More

By

Use These 7 Tricks to Win Meetings and Get Promoted

Rest assured, there is a list of tricks that you can use in meetings later in this post.  But, before you get to the buzzfeed portion, please indulge me for a few paragraphs that will help determine whether you’re the sort of person that really wants to take this advice.

A while back, I took some material from my in-progress book and turned it into a post in which I offered a different set of names for the MacLeod hierarchy.  For the sake of expediency, here’s the pyramid I created with those terms.

GervaisRenamed

In any company that scales beyond just a few people and starts to include overhead roles, it becomes nearly impossible to assess the impact of any individual on the company’s revenue (if anyone’s interested in hearing me expand on that assertion, let me know, and I’ll add a draft for that).  But we don’t let that stop us from manufacturing performance evaluations to the best of our abilities.  Interestingly enough, performance evaluations of opportunists at the very top and of line level pragmatists at the very bottom tend to be the most straightforward.

Top level opportunists (C-suite folks) are evaluated in the same way as head football coaches.  Company does well?  Accolades and bonuses.  Company does poorly?  Golden parachutes.  It’s not as though C*Os are singly responsible for all aspects of performance, but they are the one neck for shareholders or board members to choke.

Line level pragmatists are folks responsible for cranking out widgets, so they tend to be evaluated with metrics, such as “widgets per hour.”  Speciously, we assume that moar widgets == moar revenue == moar good, and thus are content to conduct evaluations of widgeteer performance with reductionist proxies.  At least, we do that for widgeteers not on the middle management (idealist) “track.”  When they get on that track, we evaluate them differently, as I’ll describe a little later. Read More

By

Ship Something for Yourself, Even if you Only Earn A Dollar

On the heels of the product kata post, I’m going to double down on the “ship something for money” advice.

There’s no time to lose. Valuable, profitable seconds of your life are ticking by, and you’re missing out. Surely you’re aware of the concept of compound interest? In case you’re not, suffice it to say that long-term investment depends a lot more on when you invest than how much. The same is true with you using the Internet to earn yourself some money.

AnnoyingFireAlarm

Okay, at this point I probably sound a bit like a huckster. I get that. The sense of urgency might have been just a wee bit for dramatic effect, but I think the underlying message is nevertheless valid. You really ought to acquire for yourself the experience of making money via the Internet. I’m not trying to convince you to quit your job and earn your living this way, and I’m not even trying to convince you to attempt to make serious money. All I’m trying to do is encouraging you to make something.

What should you make? You could go any number of routes. You could start a blog and put advertising on it or use affiliate links. Writing a book or making videos for youtube would count. You could hook up with a content creation outfit, like Pluralsight, and do it that way. Building apps and selling them either standalone or through an app store is probably an option that appeals uniquely to software developers. Or you could always build a web-based product or start a company, if you really want to go all in.

If I’m not peddling a get rich quick scheme and I’m not even suggesting that you try to get rich, it’s certainly fair to wonder what my angle is. Why am I so eager to offer this advice? My reasoning is multi-faceted.

Opens Up New Possibilities

The most likely outcome to you starting a blog and advertising or building a little mobile app and selling it is that you’ll put in a lot of time and effort and get a little bit of profit back out. Hey, if you thought I was a huckster at first, hopefully I’m bringing it back from the ledge a little here by telling you that you’re pretty unlikely to get rich quick. The reality is that you’re almost certainly not going to retire from your first foray into entrepreneurship.

This type of bootstrapping is modest in aim and scope, for the most part. But it is an opportunity. And, it’s one with virtually no barriers to entry and not much limit to the possibilities if it takes off. Look at Life Hacker.

You probably won’t be Life Hacker, but maybe your blog/site/app/channel will become a fun hobby for you – a hobby that brings in a few hundred or maybe even a thousand dollars per month. And, over the long haul, it will also help you get your name and information out there to pry open the door to some networking and consulting opportunities as well. You’d be surprised at how many things come up when you just put yourself out there: job offers, consulting opportunities, speaking invitations, and more.

Introduces a New Earning Model

Most white collar workers spend an entire career working 40 (okay, who are we kidding, 45+) hours per week in exchanged for a fixed number of dollars. Wage labor is clearly the dominant model for income in our society, since traditional entrepreneurship tends to be a high risk venture. It’s all well and good for hungry kids just starting out on their career path, but a harder sell for folks with families and mortgages.

Building something small in your spare time with the aim of earning a little money, however, is not high risk. It’s the kind of thing you can do instead of watching a few TV shows. And, while the stakes may be small, the lessons learned aren’t. You’ll develop a sense of what it’s like to earn in a model where income is decoupled from time, which can be a valuable skill that you may use in your day job or, at some point, to start your own venture.

And There’s More

I originally wrote this post for the Infragistics blog.  Here it is on their site.  To read the second part of the post, check it out on their site here.

By

Code Kata? How About Product Kata?

When I was a kid, I spent a bunch of years doing karate. As best I can recall, there were three main types of activities around which we’d focus: kihon, kata, and kumite.  I listed these roughly in order of sophistication.

  • Kihon translates to something like “basics” and it involved executing the same punches, blocks, or kicks repeatedly, going for correct technique.
  • Kata was something like “form” and this involved stringing together moves into more complex sequences and practicing those, presumably to emphasize rote practice of sequential movements.
  • Kumite was sparring, and this was meant to be in-situ, improvisational practice, using the first two activities as building blocks.

There’s a lot of spiritual type stuff that goes on around martial arts, and it’s not my intention to rag on that in any way. You get out of things what you put into them and you find value that makes sense to you.

But, at its core, these activities are really all about learning how to punch and kick other people and win fights. So you practice the basics, string those together into sequential movements and then have dress rehearsal sparring matches.

This is all done so that when the time comes to actually punch and kick people in real life, you’re good at it. You don’t flinch when someone throws a punch because your countless hours of practice have made stepping into the blow, deflecting it and countering as second nature to you as cringing and protecting the head are for most people.

Learning to Punch People with Our Code

When I first heard of the martial arts concept of “kata” being applied to software development, I found it sort of interesting and weird. There’s intense marketing power in appropriation of this nature, and it can really make a concept take off.

And, there are parallels between the two beyond the simple notion that deliberate practice improves technique. One of the main benefits to code katas is the practice of techniques like refactoring, TDD, etc. when the pressure is off.

When in coaching/mentoring roles, it’s pretty common to see people try new techniques, only to abandon them when delivery pressure is perceived. To have “stickiness” for a software development technique, it’s essential that it hit a tipping point where the practitioner finds it less efficient to skip it than to do it. And doing a lot of code katas is a way to work toward that tipping point.

NinjaAssassain

Of course, as with any cross-disciplinary metaphor, there are gaps and those gaps can be problematic. Again, putting aside the spiritual overtones, karate is about learning to punch and kick people effectively. This is pursuit heavy on instinct and muscle memory and relatively light on cerebral cortex activity.

A fight also spans seconds or, at most, minutes, where programming is a pursuit of hours, days, weeks, months, or years. I believe it was this sort of information gap that led John Sonmez to post about code katas. He heard the term “code kata” and mapped the martial art version onto it — one where you practice precisely executing the exact same movements until you can do them in your sleep.

That’s not the intent of the code kata, but recall that we’ve been over what happens when you recycle terms with baggage for marketing purposes.

Read More

By

Who Accepts Your Team’s Academy Awards?

I was listening to the Smart Passive Income podcast the other night. Yeah, I wasn’t kidding. I’m really trying to figure out how to do this stuff. Anyway, it was an episode with “User Stories” in the title, so I was intrigued. What I actually thought to myself was, “I’m a lot more inclined to hear stories about passive income than about Scrum, but this could be interesting!” And, it actually was interesting. I mean that earnestly. The episode was about Pat commissioning an IOS app for his podcast, so anyone making a living in our industry would be somewhat intrigued.

The episode started, and I listened. Admittedly, beyond Pat, I don’t exactly know who the players are, but I can tell you what I inferred as I was jogging (I frequently listen to podcasts when I jog). The interview started, and Pat was talking to someone that seemed to have a project-manager-y role. Pat asked about the app, and the guest talked about communication, interactions, and the concepts of “user story” and “product backlog.” He didn’t actually label this process Scrum until much, much later in the interview, and I get that – he’s talking to a huge audience of potential clients, so it’s a lot more compelling to describe Scrum as if it were something he thought of than it is to say, “oh yeah, we do Scrum – go google it!”

LeaderSpeaker

I don’t begrudge him that in the slightest. It’s a savvy approach. But it did strike me as interesting that this conversation about an app started with and centered around communication and planning. The technical decisions, data, and general nuts and bolts were all saved for later, delegated to a programmer underling, and framed as details that were definitely less relevant. In the development of this app, the important thing was the project manager, who he talked to, and when he talked to them. The development of the app was a distant second.

My reaction to this, as I jogged, was sad familiarity. I didn’t think, “how dare that project manager steal the show!” I thought, “oh, naturally, that’s a project manager stealing the show – that’s more or less their job. Developer code, not know talk human. Project manager harness, make use developer, real brains operation!”

Read More