Karma in 2014

by Damon Payne 19. February 2014 21:27

I believe in the concept of Karma. Not in the mystic sense, but more in the "Big Data" sense, the Chaos Theory sense, the Economists' "Unintended Consequences" sense, the Software Architect's "Action at a distance" design flaw. Given a sufficiently limiting scope of time ( say a human lifetime ) and a real or virtual community (the state of Texas, the Stack Exchange community, the Milwaukee Startup Scene) your actions will come back to you. It's never a good idea to make that hard sale, it's better to say to that customer "Listen, this is our value proposition, but it's starting to look like we may not be a fit right now." It's better to tell that potential employee "Listen, I'd love to have you, but I get a sense from the questions you're asking that we can't give you that kind of environment right now." Yes, there are many people out there who won't recognize what you've done for them with your honesty. Some will even hold you in contempt for it, "Moron! He almost got me to sign!" Generally speaking, though, people in America are generally good. Half of them are of above average intelligence. The next time that failed business deal needs to be sure they get an honest answer, they may remember the person who gave them the truth to their own detriment. The almost-employee refers their friends to you, the almost-client mentions you to their friends. It's a long term view in a world that focuses on short-horizon $200million startup exits. It's a view worth considering.


Business | Personal | Technical Community

That Conference – Wow!

by Damon Payne 16. September 2013 11:49

I've been back at work after That Conference 2013 for a while, so this is a month late, I have my reasons. Nonetheless I just have to say Wow! While there were lots of great sessions, it was the family aspect that really blew me away.

My session on machine learning was accepted so I got a few speaker emails that members of the general public did not. One of the suggestions from the organizers was to bring your family to the conference since there was a Family Ticket, but also to bring them to watch your session. My wife and kids sitting through an hour of Machine Learning code? Interesting.

See, I’ve been traveling and speaking for quite a few years now so my family is used to me being away at whatever technical community event is going on: TechEd, MIX (RIP), the Global MVP Summit, user groups, code camps, StartupMKE. It’s kind of a big part of my life that my family only had vague ideas of: Dad goes away for a few days, says he can’t talk on the phone tonight because the GitHub Drinkup is a really important part of the conference experience, family has no idea what that means.

So I brought my family with me and we all had a blast. Hosting the conference at The Kalahari helps, but the whole experience was great. Since I’ve been doing this for a while I couldn’t walk ten feet without running into someone I needed to catch up with, and I got to introduce them all to my family. There were tons of great family sessions. My daughter has already been doing some programming but being able to sit with her through some kid-oriented technical exercises was really great. And, yes, my wife and two children sat through an hour of statistics, C#, and my bad humor as recommended.

All in all it made me very happy to be able to show my family first-hand what happens at tech conferences. I’m glad they got to see me shaking hands with all the great people I’ve met over the years, at the podium talking about Machine Learning, and even making a fool of myself during Battle Decks. I’m not sure if this is a feature unique to That Conference, but in the future I think they should sell the hell out of it!


Personal | Technical Community

2013 Wisconsin Zombie Mud Run

by Damon Payne 24. April 2013 16:15

While my Taekwondo and Hapkido training are getting me close to my pre-children level of fitness, I have been avoiding running. TKD is hard on my shins and the sciatic nerve has been acting up again lately. Here's to hoping the chiropractor can work some magic because I'm entering my first race since the 2003 Al's Run:



 If you're interested in running with me or heckling, I'll be running at 11:30am.


Personal | Technical Community

Hard Work and the Golden Hours

by Damon Payne 19. April 2013 20:00

I’ve been reading Alex St. John’s blog for a while, and it’s just amazing. His stories of ancient Microsoft history, his tracing popular video game features to fundamental human behavior shaped by evolution, his insistence on the importance of hard work and commentary American Privilege. A couple of his articles lately, though, have kicked me right in the throat. If you have any entrepreneurial aspirations, I highly recommend:

Educated Idiots

Café Easy

I might also throw in this less recent one from Hanselman:

I’m a Phony. Are you?

Over Sharing Inbound

I sometimes feel like these articles were written directly to me, probably because I’ve internalized a lot of guilt. Guilt about not taking action on my ideas. After all, since software is eating the world it doesn’t seemed too far fetched that every competent software developer is sitting on a gold mine. The only thing between me and amazing success is the will to make it so. Yet, I have no idea what I did with my 20s (professionally) and despite often thinking about and working on business ideas, I’m still a wantrepreneur in my late 30s. The Saint’s comments on work-life balance are what really got to me. My week night schedule might be something like:

•    Get up at a questionably late hour, go to my good-paying job.
•    Come home, make an unnecessarily elaborate dinner.
•    Hang out with kids, clean up, etc.
•    Hang out with wife
•    Devote a few pre-bedtime brain cycles to open source projects, blogging, continuous learning, and modeling stuff for one of my business ideas.

Unsurprisingly, I can think of no successful business owners who share my story. Have you ever read an interview with a truly successful individual that sounded anything like “Yeah, we worked 10 hours a week or so on this, no big deal, until it was done and we hit it big.”

I’m doing better than I ever have before in my life, yet it’s still not enough. One of the reasons why I haven’t been participating in community as much is because I’ve been writing huge amounts of code. It’s not enough, it’s not getting done fast enough for my taste. There needs to be more hard work. Some people may find themselves in an existential dilemma trying to figure out what to cut out so there’s time for more productive work. In my case, this has been an evil exercise. I shouldn’t spend less time with my kids! Surely not less time with my wife! I need my sleep and exercise. I need my movies and video games to decompress from the “hard work” and “stress” of my day job. Yet I shed a tear when I think about how much time I played Diablo 3 last year. (Not really, but I should be ashamed!).

This is where The Saint’s words hit home. If you’re content with the overall trajectory of your life and career, there would be nothing wrong with seeking balance between work/sleep/games/movies/wife&children/hobbies.  If you’re not, though, you need to think really hard about how much down time and “balance” you actually need. If you’ve always wanted to be a blogger with a million followers or a successful Micro ISV writing phone apps, or to become an independent consultant,  what value will you place on ‘balance” when you look back and realize you are no closer to those goals than you were years ago?

Golden Hours

The real problem in insisting that a few days of productivity entitles one to some marathon gaming sessions or re-watching all of Battle Star Galactica is the value of the particular hours when most of us are doing our side work or learning projects. I call these the Golden Hours.

Many of us, in our day jobs, are not afforded much focus. We may be committing code on multiple projects, reviewing our peer’s code, and generally participating in various unfortunate unproductive activities. No so during the Golden Hours.

My home workstation setupis slightly better than what my employer gives me. There’s a door I can close and I can play music through my excellent Klipsch PC speakers. The house is quiet, my family is asleep, there’s some red wine on my desk, and the time of night where my mind is most awake and focus approaches. What to do with this time?

If you have the numbers available, take a look at your favorite PC games (or Xbox or PS3) and see how many hours you spent playing your favorite games. Suppose that number was 400 hours last year. (oh, if only it were a mere 400 hours last year) At your day job that 400 hours may represent a fiscal quarter worth of office hours and you may have built a major module or accomplished a similar cog-in-the-machine type of contribution. But now, you’re at home. You’re using only the tools you love, only the libraries and frameworks you love. No architect has told you what you can’t do and how you can’t do it, no scrum master has told you Boring Crud Screen must take priority over Interesting Problem from a later sprint. The Golden Hours where you are awake and in your most productive environment approach. Now what could you do in 400 hours?

This, for me, is the true tragedy of seeking balance with hobbies, entrepreneurial dreams, and the stuff that actually must get done. Many of us have ambitions and skills, but proceed to spend the most productive time we have available surfing hacker news, watching zombie movies, online gaming, engaging in meaningless debates on twitter, or re-connecting with people we hated in high school on Facebook.

You may in fact reach a point where your brain is Jell-O and you truly need some downtime in order to return to productivity. Most of us probably indulge ourselves way, way too early though. I suspect that, like training your body with a “couch to 5k” program, you can train your mind to expect a life of more and more productive work and less and less Archer or Game of Thrones.

It’s easy for a programmer to do incredibly well in America today. If you want more, though, If you want to be really disgustingly successful, you must evaluate every activity through a simple heuristic: is this simply indulging my entitlement to wealth and leisure, or is this moving a possible revenue stream forward?


Personal | Business | Technical Community

On Stock Options

by Damon Payne 13. February 2013 13:26

I have always considered stock options to be Monopoly Money. I came of age in the 80s and 90s and grew up watching the creation of Microsoft Millionairs and .Com millionairs but I never put much stock (pardon the pun) in this as a source of wealth. It's easy to look at successful companies like Microsoft whose stock split so many times and think of stock options as a path to wealth for the average worker bee.

I've spent my career up to this point in the midwest, and I saw some of my friends working heroic hours to make something happen for their company. Their motivation was going public and (at least) paying off their homes with stock sale proceeds. For a long time part of my fear of stock options was due to a bit of small-minded thinking: I couldn't envision any of these small Wisconsin companies making it big, and therefore viewed these stock options as essentially motivating a lot of free effort for the company by promising the moon to employees eager to cash out on a big deal.

My main issue, though, is that I find employees are generally woefully under-educated about exactly what kind of stock they are given and what they can do with their stock options. This Ars Technica article is just the latest in a long stream of examples. Stock Options, and Common Stock in general, often exist at the pleasure of the company. This is not to say that in-writing agreements are discarded at will when it's convienient, but rather that employees are not usually presented with the whole picture. You will happily sign something saying "We are granting you XXXX shares of Common Stock" without knowing there may be so much preferred stock that the likelihood of you getting any money out of a company sale is incredibly small. As Dell employees are now finding out, the bylaws of any company may also allow so many restrictions to be placed on stock options that only the narrowest sequences of events could even lead to an employee exercising & selling in a moderately profitable fashion.

As an aside: this also brings to light one of my personal biases. I'm extremely old-fashioned in that I greatly prefer stocks that regularly pay dividends out of profit. I find this a much more sound concept than the current practice of what essentially amounts to speculation on stock price. So many non-market forces (rumors, etc) can affect the market valuation of publicly-traded companies.

As the article about Dell points out, the higher you are on the food chain the more likely you are to do well with company stock. Call me cynical, but it's hard to look at this situation and call it anything but the top-decision makers fixing the game in their favor. Enron-style practices that allow executives to sell stock while employees are in a blackout period are common. Preferred stock agreements that gaurantee minimum share prices for executives even to the point of employees earning nothing from a sale are common.  The rules are complex and often hidden in secret company charters or in SEC filings that only employees with extremely deep financial knowledge can decipher. While the premise of encouraging the best employee actions by giving them a piece of the pie is a sound one, it's sometimes hard to look at these stories as anything but a case of fraud.



Business | Personal | Technical Community

Could We Promote Software Developers Like Nurses?

by Damon Payne 10. January 2013 14:45

The difficulties of finding, hiring, and retaining great software developers does not end with filtering out the non programming programmers during your interview process. Any career minded individual must also be constantly thinking about the future. Am I learning enough here? Am I being recognized for what I'm contributing? Is this organization actually incenting the kind of behavior it claims to value? Do I need to try to get a different title that represents my contributions in order to sell myself to my next employer?

Does your organization have a universal and transparent system for evaluating title changes? Is it clear to you what you'd need to do in order to Level Up ? Unfortunately, it's likely not the case where you work. In fact, many people may find themselves with titles (and therefore salary ranges, recognition, and opportunities) that are unhinged from their contribution relative to other employees. Why is that slacker over there a Senior Software Engineer III while I languish as a mere Entry Level Software Grunt II. Your may not have titles, as many titles, or such boring titles, but keep reading.

My wife is a Registered Nurse. The hospital system where she works uses the odd title of 'Staging' as a rough descriptor of skill and therefore salary bands. A nurse can be from Stage 1 through Stage 5. Leveling up is done through the process appropriately called "Staging". The organization has guidelines around staging. When you are a student nurse in training you should be a Stage 1. A nurse who's recently graduated and passed the state Boards (examinations) should be a Stage 1 or 2. Once you have some work experience you will be invited to Stage again, and after a year you ought to be about a Stage 3.

The requirements for successfully Staging at each level are published and transparent. While there is some subjective evaluation: talking to people who have observed your work, etc. there are also various objective requirements, written work, and an oral interview with a small panel that evaluates your fitness for whatever Staging level you are seeking. If you successfully Stage Up, you get a merit increase outside the annual cycle and are more or less considered more of a Senior nurse (in terms of ability, not age) than people of a lesser Staging level.

This carries appeal for a lot of reasons. For one, the process seeks to be evidence based rather than purely due to putting in your time, hanging out with the right people, or job hopping to get a new title. The fact that Staging to a new level requires a significant amount of effort on the part of the nurse also resonates with me: I'm not going to promote you just because it was time. Rather than wondering how your co-worker got to Stage 4, it should be very clear to you what you'd need to do in order to get to Stage 4. If you want to.

I'm not sure what the hospital would do if a nurse tried to stage three times in the same year, but presumably a failure would be accompanied by strong evidence of what was lacking.

In software development, one sought-after title by some is "Software Architect"; to some this is distinct from and superior to being a mere Developer. I happen to agree quite a bit with Joe Duffy on the role of the Software Architect, but in my own way I try to also provide an objective path to anyone who approaches me and says "I'd like to become more of an Architect..." There are things I think you should understand. There are seminal works I think you probably ought to have read. Ultimately, though, in our field, you become a Software Architect by hanging a sign outside your door that says "Damon Payne: Software Architect". (You may want to consider replacing my name with yours) You may succeed, you may fail, but if you're paying attention and you're open to thinking about why you've failed you will learn a lot. You'll keep those things in mind and ask better questions next time. One day you'll leave work and think to yourself "Hey, I really am a Software Architect".  Does "fake it till you make it" work sometimes?

In our world of fakers, pretenders, non-programming programmers, and job-hopping, could we promote software developers more like nurses?



Personal | Technical Community | Career

Can Windows Phone Survive?

by Damon Payne 3. January 2013 21:08

I recently traded in my Samsung Focus for a shiny new Nokia Lumia 920. I like the hardware very much, and generally Windows Phone 8 is nice. I appear to be among those afflicted with what appears to be a poor Bluetooth stack, but I’m hoping that gets patched soon so I’m willing to suspend judgment on that facet.

I continue to be frustrated by the adoption and market perception of Windows Phone. I mean, really frustrated.Nest

My wife got me a Nest learning thermostat for Christmas. Not only does this thing tickle my interest in machine learning but it’s wicked useful in its own right. One selling point, for her, was that “we” could control it remotely. Except the nest app is available for iPhone and Android only. Not only this, but IE10 is the black sheep of the mobile browser world and no amount of rotating or failed resizing makes the mobile version usable on my WP8.

Of course it’s not just Nest. Fitocracy, Pinterest, my bank, and nearly everything else I have interest in is an exclusive club where membership is available only to those who know the secret handshake of the Ancient Order of the Not-Microsofts. Of course it would be great if all these folks started making Windows Phone apps, but why should they? Android continues to sell one trillion phones per millisecond and the iPhone is still considered cool. I can’t even claim to be a part of the solution myself. I am involved in a side project/startup with some folks right now, and the question of a Windows Phone app has never come up. Although it’s entirely my decision and my time I simply cannot justify it. Maybe when absolutely everything else is done I’ll circle back and build one for the home team, but when I put my Business Owner hat on it’s easy to see why the decision to not build a Windows Phone app is so easy.

Microsoft has some of the smartest people in the world working for it. I have to wonder, though, if any of them are in marketing? I’m tired of not being able to participate in Mobile because I bet on the wrong platform. I’ve had well-meaning Microsoft folks ask me which apps are missing: the intent is to contact these companies and try to educate them on the opportunity. Sadly this merely kicks the can down the road a little. When the next new mobile app hotness comes out the overwhelming likelihood is that it will come to Windows Phone last, if at all.

Until it is a must that companies also release their software for Windows Phone, they won’t, and their users will feel the sting of second class citizenship.  Microsoft needs to Fix It, or lose mobile entirely.


Technical Community | Personal | Windows Phone

Braised Beef Short Ribs with Malbec Gravy

by Damon Payne 28. December 2012 12:13

As I continue my introspective end of the year thoughts I am reminded of a request from a buddy: start blogging my recipes. If you’ve ever looked at the Flickr stream over on the right hand side of the current blog layout, you may notice that a lot of the pictures are of food. I assure you I’m a much better cook than photographer. While many of the things I make come directly from Cook’s Illustrated or Food Network, some are my own creations. While this hardly fits with the technology focus of my blog, it’s who I am.
So, my amigo in Nashville, this is for you.

Braised Beef Short Ribs with Malbec Gravy

This recipe uses classic French techniques to produce tender meat and flavorful sauce.

* 4-7 beef ribs, trimmed of excess fat
* Two tablespoons of unsalted butter
* Two medium onions, diced
* Four cloves of fresh garlic, minced
* Fresh thyme
* 1 heaping tablespoon of unbleached all-purpose flour
* 1 tbsp tomato paste
* Kosher salt
* Fresh-cracked pepper
* 4 slices of thick cut bacon
* Two celery stalks, sliced thick
* Two large carrots, peeled and sliced thick
* Two bay leaves
* 14-20 ounces of crimini or button mushrooms
* 2 cups of beef broth
* 1 bottle of Malbec

Pre-heat your oven to 300.

Allow the beef ribs to come up to room temperature and sprinkle with Kosher salt. If possible, allow them to rest on a wire rack for up to 1 hour before cooking. While the beef rests, pour the Malbec into a saucepan and reduce until it’s about 1 cup; this may take around ten minutes.

 Cut the bacon into ¼” pieces and brown in an oven safe saucepan or searing pan, a Dutch oven will do in a pinch. If your culture forbids the eating of delicious swine, skip this step and use 2tbsp of vegetable oil instead. When the bacon is browned, remove it from the pan with a slotted spoon and set aside. Depending on how fatty the bacon was you may wish to remove some of the rendered fat from the pan at this point. Season the beef ribs with pepper and sear on each side for about 1 minute over high heat. Remove the ribs and set aside.

Add the onions and brown until soft and translucent, this make take up to 8 minutes. Add the garlic and briefly cook until fragrant, around 30 seconds, be careful not to burn the garlic. Now add the flour and mix with the onions. Cook until the flour is browned, maybe as long as 2 minutes or so.

Side note: Why add the flour at this point and brown it? Many soups & sauces start with a base mixture called a roux, pronounced “roo”. A roux is often as simple as vegetable oil and flour cooked until the flour is copper colored. When flour is manipulated in this manner it forms gluten proteins, and some of it will stick to your pan. This is the good stuff that will make for thick, hearty sauce later on. This will also mean you won’t have to add flour later or do as much reducing to get the sauce to the consistency you want. You can skip this step and use a little corn starch later to make this gluten free.

With the flour browned, pour in the beef broth to deglace the pan. Make sure to scrape the pan diligently to remove anything that’s stuck to it: that’s the goodness. Turn the heat to high and add the carrots, celery, bay leaves, thyme, reduced Malbec, bacon, tomato paste, and bay leaves. Once the mixture is simmering, nestle the beef ribs in the pan, cover with foil, put in the oven and cook for a long time. I suggest at least four hours, but you can check for desired tenderness at any point after an hour.

Once the ribs have reached the desired tenderness, remove them from the sauce, turn off the oven and let them rest in there on a pan. Pour the sauce mixture through a strainer into a bowl to remove all the solids. Wash the mushrooms, halve or quarter them, and sear them briefly in the original sauce pan.  Add the strained sauce back in and cook over high heat until the mushrooms are tender and the sauce is reduced to your desired consistency. Add the butter and whisk to combine. You can pour the sauce right over the ribs, I myself tend to serve this with mashed potatoes and parsnips.


Personal | Food

You can't not blog

by Damon Payne 20. August 2012 16:33

I have not taken the longest break I've ever taken from blogging since I started in 1998.  This is partly due to some fun things going on in my personal life. This is partly due to fatigue.  This is partly due to a sort of "Technology identity crisis" as I wondered what was next for me. I'm not apologizing for not blogging, but I'm happy to say I have a new direction I'm heading in and it's extremely exciting. I haven't had a lot to say lately, and I haven't been contributing noise because of that.


Blog | Personal

About the author

Damon Payne is a Microsoft MVP specializing in Smart Client solution architecture. 

INETA Community Speakers Program

Month List

Page List

flickr photostream