Seattle Angel Conference

The Seattle Angel Conference event will be May 31st. Over the last two months, the investors and the applying companies have been in a due diligence and filtering process.

We would like to ask for your help to spread the word about this project and invite you to the event.

As I’ve written previously, a primary mission of the Seattle Angel Conference is to help people learn about the Angel investing process by engaging in a group based angel investment process.

We have 19 investors contributing. At the final event on May 31st, each of the finalists will present and the investors will vote on which of the finalists will receive the aggregate investment (roughly $100K).

Out of the 26 startups that applied this year, we are now down to the six finalists:

Homeschool Snowboarding

www.homeschoolsnowboarding.com@HMSCHL

Homeschool creates the most durable highly breathable snowboard outerwear available. Keeping you warm and dry from the inside out.

Illumagear

www.illumagear.com@illumagear

A safety company working to impact the construction market by illuminating those who work and  recreate in low light environments.

Stockbox Grocers

www.stockboxgrocers.com@stockboxgrocers

Stockbox Grocers improves access to fresh produce and  grocery staples in urban food deserts to promote healthy  and thriving communities.

Buddy Platform

www.buddy.com@buddyplatform

Buddy provides a cloud services backend for app developers on any OS platform, and incredibly high fidelity analytics for app publishers.

Apptentive

www.apptentive.com@apptentive

GetSatisfaction + Salesforce.com for app developers. In less than 15 minutes, developers can get better ratings & direct customer relationships.

Empower.me

www.empower.me@BryanStarbuck

We are a B2C startup in the TechEd space for parents and their students in high school and middle school.

We view the Seattle Angel Conference as a long term investment in the Seattle startup community and you can still get involved in the following ways:

  • Join us at the gala event on May 31st. It is going to be a lot of fun with great speakers and pitches from the startups.

    You can register for the event on Eventbrite here.

  • If you are an accredited investor you can still join the investor pool. Contact John Sechrest if you are interested.
  • Check out the websites of our finalists and learn more about them.
  • Spread the word on Twitter: @nwangelconf (some example tweets below)
  • Like us on Facebook (www.facebook.com/SeattleAngelConference)

Hope to see you there!

© 2012 Charlie Kindel. All Rights Reserved.

The Job Decision Matrix

573 - Matrix Falling Text - TextureChanging jobs can be scary and confusing. Everybody has things that are important to them at a particular point in their career. Thinking clearly about what is important to you can be hard, but without clarity on what is important to you making a job decision is fraught with danger. As I have traveled along my personal career trajectory I created a tool that has helped me with this. I call it the Job Decision Matrix.

(Cool! GeekWire published this as a guest post!)

The Job Decision Matrix is one of those tools where you get enormous benefit from the exercise of using the tool as well as the result the tool generates.

The goal the Job Decision Matrix is to identify what is actually important to you at a particular point in your career. Gaining clarity on what is important to you will help you identify new job opportunities, avoid wasting time on job opportunities that are not right for you, and to make a job decision with conviction.

The three goals of the Job Decision Matrix

  • Identify new job opportunities
  • Avoid wasting yours and others’ time.
  • Make job decisions with conviction.

If you have not already done so, take a moment to read You Are Thinking About Your Career Trajectory Wrong. Once you view your career trajectory as a non-linear progression akin to a series of inter-planetary space missions you will realize that your perspective changes over time. At each stage of your career the things you care about will be different.

When I was graduating from University of Arizona (Go Cats!) I couldn’t even spell “family”. The concept of caring about feeding a family was simply irrelevant to me. All I really cared about was the technical domain (GUI applications) I’d be working in and the stage of the company (established, but not big). Later in my career I was married with children. Suddenly feeding a family was something I cared deeplyabout.

As you work through your Job Decision Matrix recognize that you should focus on what is important to you NOW, not what you imagine might be important to you in the future, or what you used to care about. (This goes along with another career belief I have: you should change jobs at least every 3 years; but that’s a topic for another day).

Buckets

Buckets are simply groupings of similar things that you can stack-rank.It seems like most people end up with something like 6 to 8 buckets.

In my experience helping others with this tool, buckets are very personal. Everybody has their own perspective on life.  There are some that resonate with most people though, such as: “Company Size/Stage”, “Location”, and “Money”.

Let’s use a fictional character to illustrate. Ralph is right out of a masters degree in Comp Sci and looking for his first real job. He hooked up with his high-school girlfriend in college and is already married. He believes he wants to be a professional software developer.  His wife has family in Seattle and she really loves it here. They currently live near downtown Seattle. They don’t have kids yet and love to travel. Ralph’s wife has a job and makes an OK amount of coin.

Here’s what the top-left portion of Ralph’s Job Decision Matrix might look like:

Company SizeLocationTechnical DomainMoney
Big CompanySeattle (Downtown)Cloud servicesLiving expenses
Mid-sized CompanySeattle (Eastside)Developer toolsTwo big trips a year
StartupPortlandMobile appsHealthcare

Ralph’s not an entrepreneur. He really just wants to start his career off with a solid job.  So he’s identified that getting a job with an established company is the most important thing for him right now.  Company Size is his most important bucket, and within that bucket Big Company comes first.

Ralph’s smart enough to know he won’t be happy unless his wife is happy; living in Seattle is super important. He’d prefer not to have to commute to the Eastside (what we call the suburbs here), so he stack-ranks Seattle (Downtown) above an Eastside job, but push-come to shove, he’d take a job on the Eastside. And if a really great job came up in Portland they’d take it.

Because Ralph’s wife works, Ralph has the luxury of being able to prioritize what he works on, the Technical Domain, above money. As you can see, he’s a back-end kind of guy, but if he found a job building mobile apps he’d seriously consider it.

This example is a good start. I encourage people to have 6 or 7 buckets though because there a few buckets I find people don’t normally think about that prove helpful. More on these other buckets below.

Stack-Ranking

Order your buckets from left to right. The buckets on the left should be more important to you than those to the right. If you can’t decide if one bucket is more important to you than another don’t worry about it. Move on. But ponder it in the shower tomorrow morning and come back and re-order if you’ve gotten clarity. The key thing is to really try to decide which bucket is MOST important and which is LEAST important.

For me, right now, Company Stage is the bucket that is most important for me. Technical Domain is least important.

Within each buckets make sure the items are ORDERED by what is most important to you. The thing you care most about right now should be at the top and the thing you care least about should be at the bottom.

Tools for the Tool

I used to use an Excel spreadsheet for this tool. Each bucket was a column. Now I use a Trello board where I have List for each bucket and each item is a Card.

You can find my current Job Decision Matrix on this Trello Board:

CEK Job Description Matrix (on Trello)

This really is my own personal Job Decision Matrix. I updated it as I wrote this post. I may have changed it again since this post was written. Hopefully it can provide a real-world example. But, do not read too much into it as it is MY matrix and only I really understand it (I reserve the right to call you an idiot if you attempt to extract some deep meaning from it).

The nice thing about Trello is it makes moving things around super easy. If it doesn’t feel right to have “Money” to the left of “People” simply drag & drop it.  And items within the buckets can be ordered likewise. You can also attach notes to Cards which can be useful.

I run Trello full screen so I can see all of my buckets in one view. I find visualizing it this way is helpful.

Screenshot

More Buckets

To further illustrate here are some more examples taken from my own personal matrix. I’m taking the time to include these because I want you to explore some buckets you may not have thought about.

The upper-left of my matrix looks like this:

Company Size / Stage

I’m at a place in my career where the most important thing is to focus on startups. That’s why I left Microsoft; I want to spend the next 5-7 years living & breathing startups.  Clearly the things in the top-left of my matrix better be startup related or I’m not really being clear in my thinking. But I’m somewhat flexible in what stage the startup is in.  Ideally I’d be starting my own company (which is what I’m doing). If there was an opportunity to join a funded startup I would consider it.  I put “Large Companies” last in this bucket only to illustrate these lists must be prioritized.  The LAST thing I want to do right now is work for a large company.

Customer

I have always cared deeply what customer I’m focused on. I know I am not happy in jobs where I have to think about certain customers. I’ve served IT Pros, but, frankly, their problems bore me to death. Thus my customer bucket is ranked pretty highly (3rd) and I have a stack-ranked list of customer types I care about/want to serve. Right now consumer end-users are at the top of that list, but I do love building products for developers too. It is OK for you to not like a particular customer segment. It is NOT ok for you to hate your job because you can’t find empathy for your customer.

People

I’m regularly surprised when a mentee hasn’t thought about what kind of people he/she wants to work with. I’ve had points in my career where the previous “space mission” was so fraught with a-holes and soul-sucking ladder climbers that my most important bucket was “People” and the very top item in the People bucket was “Work with people I know & trust”.

Right now my “People” bucket has (in order) “work with new people”, “work with experienced entrepreneurs”, “work with non-MS affiliated people”, “work with people I know & trust”.  In other words, I’m willing to take some risks on who I work with right now because it’s more important that I “un-learn Microsoft” than to “feel safe”.  Being around people I’ve worked with for 21 years will not help me grow.

Stripes

I love this one. I have Chris Phillips, the best manager I ever had to thank for this concept.

As you go through your career you earn stripes. Like sergeant stripes or merit badges. Stripes are the things you are able to say “I really, actually, proved that I could do that.”  You can get a stripe multiple-times. Some people love getting the same stripe over and over. I am wired such that I want as many stripes as I can possibly get.

You only get a stripe for FINISHING. Don’t cheat yourself by claiming a stripe where you didn’t really achieve it.

What stripes are on your radar for this phase of your career? Have you hired someone? Have you fired someone? Have you created an open source project that others have voluntarily contributed to?

At Microsoft I sought funding for a startup: Windows Home Server. I was successful in getting that startup funded. That’s a pretty cool stripe that not many others can claim. I also claim a stripe for turning that startup into a brand new business at Microsoft (a very rare thing indeed). But I’ve never done it in the real world (Microsoft is not the real world). So at the top of my “Stripe” bucket now is “Seek & get seed funding in the real world”.

I’ve also never sold a company. I sure would love to have the experience of doing so though. Which is why it’s in my stripe bucket; stack-ranked below getting funding (duh, logical).

Role

Very much related to Stripes is the Role bucket. Role is literally what role you want to play within the organization. For example, do you want to be an individual contributor or a lead?

In my case, being focused on startups, I care about having a role where I’m driving the technical and product direction for the company. This is important to me. So I have “Founder (CTO)” listed first. But I’ve decided that ensuring I can pay for my kid’s college, the people I work with, the customer I’m focused on, the location where I live/work, and the company stage are all more important that being a Founder/CTO. Having that kind of clarity is super liberating! It means that if an opportunity came along that met those other criteria I would be happy even if it wasn’t at CTO type role!

Some people care about titles. That’s OK (it can be important to be given a title because, like it or not, titles impact people’s perception). I can’t imagine ever having a Title bucket that is anywhere near the left side of my matrix, but I do know other people who would. To each his or her own.

Money

I encourage people to have a “money” bucket. Items in that bucket might be things like “get rich”, “maintain”, “slow growth”. Decide what is important to you in terms of your financial situation and stack-rank/prioritize (e.g. What is MOST important to you RIGHT NOW in your career).

Do not forget to factor your spouse or significant other into your thinking here!

Summary

If you are seeking a new job, then I highly recommend you give the Job Decision Matrix a try. Even if you are not actively seeking a new “space mission” in your career right now, you can use the Job Decision Matrix to gain clarity on what is important to you.

The tool is pretty simple.  Create a matrix where the columns are a stack-ranked set of related things you care about (Buckets). The rows are stack-ranked things you care about.

When you are looking a job descriptions use your Job Decision Matrix to select interesting jobs and to filter out ones you shouldn’t waste time on.

When you have been offered a choice in jobs use the Job Decision Matrix to help you decide which one to take.

Over the years I’ve shared the Job Decision Matrix tool with dozens of mentees and have gotten the feedback that it was super-useful. An email from some random dude asking me for career advice (ha!) incented me to actually write this tool down for the first time. I hope you find it useful and would love to see some conversation about it in comments.

© 2012 Charlie Kindel. All Rights Reserved.

You Want to Buy my ’78 Toyota FJ40

UPDATE: Uglina is NO LONGER FOR SALE. I changed my mind.

1978 Toyota FJ40 Land Cruiser ‘Uglina’

One of the nicest, original Land Cruisers you will find on the planet. Rust free. Almost all mechanical components replaced or refurbished.

Head to http://www.uglina.comfor details.

 

Head to http://www.uglina.com for details.

© 2012 Charlie Kindel. All Rights Reserved.

Don’t Build APIs…

My first job at Microsoft was providing developer support for the early Windows SDKs. To do my job well, I spent hours studying the Windows SDK documentation, the Windows source code, and writing sample applications. I then spent hours poring over customers’ (such as Lotus, WordPerfect, and Computer Associates) code helping them figure out what was not working.

This gave me a deep appreciation for API design early in my career. I saw clear examples of elegant APIs as well as horrific monstrosities.  I once created a sample for selecting a font in GDI that I called “ReallyCreateFont” because both of the built-in Windows APIs (CreateFont() and CreateFontEx()) were basically broken.  

The CreateFont case taught me first hand the pain resulting from exposing an API publicly, having customers use it in ways not expected, and then having to do unnatural acts to avoid breaking backwards compatibility.

I was supporting WordPerfect’s development of WordPerfect for Windows. This was sometime in early 1991 if I remember correctly. I had the WordPerfect engineer on the phone. He had given me access to the WordPerfect source code, but I couldn’t give him access to the Windows code.  So we were each stepping through WordPerfect in the debugger, him in Utah and me in Bellevue. I could see what his code was doing and what Windows was doing, but he could only see disassembly for Windows.

The problem he was seeing had to do with font rendering. In the debugger we stepped into CreateFontEx(), which calls into CreateFont(), which calls into some internal GDI function, which calls into the device driver’s Escape() function (I can’t believe I actually remember all this crap like it was yesterday). Somewhere in this call stack I came across a block of code in Windows with comments that read something like

// This is a hack to deal with Adobe’s Type Manager.
// ATM *injects code* into GDI replacing our code with their own.
// In order to retain backwards compatability we detect
// ATM’s attempt to do this, let it do it, and then trick it
// into thinking it actually hacked us this way.

I am not making this up (although that comment is paraphrased from my memory).

It turns out that the way WordPerfect was using CreateFontEx() was reasonable, but pushing the envelope of what anyone had done before, effectively exposing a bug caused not by the original API design or implementation, but something the API provider had to do to ensure app compatibility because of something another 3rd party had done!

Holy-shit! Let me get this straight:

  1. A 3rd party app (Adobe Type Manager) used CreateFontEx() in a way the API designer failed to anticipate.
  2. The API designer needed to retain backwards compatibility so it had to resort to putting 3rd party app specific code in the API implementation.
  3. Another 3rd party comes along and the complexity of the ‘fix’ caused another bug to surface.

This is a pretty extreme example, given that what Adobe had done in injecting code into Windows was pretty over the top.  But I think it really helps reinforce several principles I have on API design:

  • Principle 1: All successful APIs will be abused in ways you cannot anticipate.
  • Principle 2: You will support a successful API forever.

The only way to ensure an API does not get abused is to ensure it is not successful. But if it is successful you will have to support it forever.

Of course if you don’t really want your API to be successful then you can ignore these principles.

I recently came across an excellent presentation by Joshua Bloch titled “How to Design a Good API and Why it Matters.” Anyone designing APIs should take the time to read and understand it.

My only gripe is that he does not put enough emphasis on the point he makes in bullet #3 on slide 2:

    • Public APIs are forever – one chance to get it right

I believe early stage ventures should avoid creating APIs at all (unless they are purely a dev tool or framework). They certainly should not try to “be a platform”.  You can read my deep and insightful (ha!) thoughts on this here:

But if you are going to ignore my advice and start exposing APIs, take this to heart:

You will do them wrong. Callers will use them in ways you don’t expect. And you will waste huge amounts of energy supporting them in the future.

When exposing APIs be absolutely certain the value you get from doing so is worth it. If you do design APIs, Joshua’s guidelines are good.



Update 4/19/12 – I added “unless they are purely a dev tool or framework” above.

© 2012 Charlie Kindel. All Rights Reserved.