Are you really burnt out?

Are you really burnt out?
Kings and Pawns

The harder I work, the sooner I get to be king!
(source)

I recently read John Sonmez’s post on The Hacker News Generation.  I find articles like this interesting.  As I read it, the same thought comes screaming through:  WHY?

I wrote to John privately asking him this:  Why write an article like that?  What is the intention?

Regardless if you agree or not, I find articles like this either confirm or infuriate your point of view.  For me, it’s the same as arguments for Gun Control.  Both sides can argue all the reasons to (increase / decrease / whatever) guns, but who’s opinion are you trying to convert?

How many times have you seen a person walk away from a discussion saying “Wow!  I never thought of it that way, you are right!  We really should _______”.

It just doesn’t happen.

 

For me, the real problem with discussions like this is that they can be taken the wrong way.  Take this comment.  The author’s point is that burn out is real.  And his proof is a link to an articles of horrible consequences.

In John’s article, Iris Classon posted a response with a similar point of view.  I don’t have a science background, and I accept that “burn out” is a condition.  But when I read comments such as:

After two devastating meetings with potential partners, I remember coming home one day, climbing to bed. And not getting up for 6 months.

 

I am blatantly paraphrasing, in the preceding paragraphs Iris describes she is in a career that she is passionate about, but there isn’t enough work.

But I have to push back – two devastating meetings?  Two?

Then she continues:

But without my background in therapy, both as a patient and medical professional, I wouldn’t have made it out alive from the burnout- and found the dream I am leaving today. That I am 100% sure of. And my hat goes off to those that also dared to follow their heart and passion, even if failing miserable once or twice. I believe in choosing to make something a part of your life, without it being your whole life, and loving what you do and the people involved as much as you can allow yourself to do. For some people it’s what they do that is most important (in software development the task itself is considered the number one motivation, with social aspect being second), for others it’s purely the human interaction. And some just want to work 8-17 and go home. The second group is at a significant higher risk of being burned out, when intrinsic and extrinsic factors are there.

The choice is theirs. Ours.

And we shouldn’t judge people on those choices, because:

1. We do not have all the facts

2.One day you will be standing there

3.Generally I don’t recommend giving people a push when they might be standing on the edge

 

Failing miserably once or twice?

But here’s the real problem with her argument:  We shouldn’t judge because we don’t have all the facts.

Fair point, but:

  • You’ve put yourself out there (you wrote the article)
  • You have said we don’t have all the facts – but again, it’s your article.  Why not give us all the facts?
  • Maybe we shouldn’t judge, but people do.  That’s reality

 

Where is the personal responsibility?  There’s plenty of examples of many many “miserable” fails.

 

What Iris didn’t mention (and I’d love to know!):

  • Why did you choose to work in the dietetics industry in the first place?
  • I’m sure you felt “burnt out”.   But at what point in time did you notice things weren’t working out the way you had hoped?  Was it really after the second devastating meeting?  Was there really no warning signs earlier?

 

To be fair, and answer my own question – why write this?

  • Accountability is very important to me.  I don’t care what you say you will do, but once you’ve said it, you need an fantastic excuse / reason for not doing it.
  • The discussion to date feels awfully one sided.  I’m suggesting an alternative.

But that’s just me.  What do you think?

Why I won’t be singing your NDA…

A few months ago, I posted my profile on Tech Cofounder.  It’s an interesting concept, where no technical people with a business idea can find like minded technical folk interested in developing something unique.

I had a few (minor) successes – Rugby Rank & My Club Manager.

But I’ve also had some quite unusual requests.  One in particular, is when a person starts the conversation with “Ok, before we start, I just need you to sign an NDA.”

 

So what is an NDA?

A Non Disclosure Agreement is a legal contract between two parties outlining certain knowledge or information that the parties wish to share with one another for certain purposes, but to restrict access to or by third parties.

 

Basically, I’m going to tell you my idea but you promise not to go away and take that idea and beat me to it.

How do I enforce an NDA?

A well written NDA will include jurisdiction.  Ie if we take this to court, that court will be in:  Sydney, Melbourne, New York, London etc…

Here’s a bonus question:  How many people do you know have 1) breached their NDA  2) have gone to court over it & 3) won some sort of compensation? (financial or otherwise)

When should an NDA have been used?

I found this interesting question on Quora.  Basically, what should have the Winklevoss twins done to protect them against Mark Zuckerberg pinching their idea and developing Facebook.

 

But instead of enforcement or when to sign an NDA, the more important question is:

What’s your value (in the Joint Venture) and what are you trying to protect?

Here’s the value I provide:

  • I’ll take the concept from idea to market very quickly!
  • I’ll develop the web, mobile (Apple / Android / Windows Phone)
  • I’ll put the metrics in place.  Ie  Number of trials, number of new users, number of paying users etc. etc.

What I’m expecting you to do:

  • You need to market this.  This is your idea, your insight.  You are the one with the knowledge of the customer pain point
  • You know who the customer is and how to reach them
  • You know the value this is is worth to the customer
  • You know who the competitors are and why your idea is far better than theirs

 

That being said, take one of my existing products – Rugby Rank

  • It’s statistical analysis for Rugby Coaches providing them unique insights on player performance
  • It works on the web and tablets (Android & iPad)
  • It’s a tool that shows you how a particular player (or your competition) perform on match day and how that performance compares over time

 

If you think you have enough information above to copy Rugby Rank then go for it!  What I haven’t told you is:

  • How do you get in front of the 1,000’s of Rugby Coaches
  • What’s the sale cycle – from trial to payment
  • What specific statistics are being recorded and why they were chosen

 

But honestly, the real reason is this:  If you have time to pursue an NDA, then you should be able to answer the following:

  • Where will the first 100 customers come from (once you go past friends & family, who is going to use this?)
  • Where’s the next 1,000 customers?  (Are you relying on going *viral*?)
  • How do we make out first $10,000?

 

If you can’t answer the above, then why are you spending time “protecting” your NDA?

Recovering lost disk space on Windows 7

A colleague at work suggested I download Team Fortress 2 since it’s now free on Steam.

It requires about 10 gig disk space – I only had about 3.5gig. Scott Hanselman recently wrote a blog post on how to Freeing up Disk Space under Windows 7.

I’m normally quite skeptical on these suggestions. 9 times out of 10 they are common sense.

Long story short, I did the first 4 steps (he has about 10 more) and I got back almost 20 gig back!

Who’d have thought?

Setting Entity State in Dynamics CRM 2011

Setting Entity State in Dynamics CRM 2011
I had an interesting challenge recently.

As part of a Credit Card Payment Solution we are working on, I was trying to set the Invoice State.

According to the MSDN documentation, all you need to do is set the Status Code = 100001 and the State Code = 2.

Eg:


Guid invoiceID = new Guid("Existing Invoice Guid");
IOrganizationService orgService = OrgServiceFactory.GetInstance();

orgService.BeginRetrieve("invoice", invoiceID, new ColumnSet(new string[] { "invoiceid", "statecode", "statuscode" }), (result) =>
{
    var fetchResp = orgService.EndRetrieve(result);

    var statecodeAttrib = fetchResp.Attributes.Single(a => a.Key == "statecode");
    OptionSetValue statecode = (OptionSetValue)statecodeAttrib.Value;
    statecode.Value = 2; 


    var statuscodeAttrib = fetchResp.Attributes.Single(a => a.Key == "statuscode");
    OptionSetValue statuscode = (OptionSetValue)statuscodeAttrib.Value;
    statuscode.Value = 100001;

    orgService.BeginUpdate(fetchResp, (updateResult) =>
    {
        /* Web Exception thrown here */
        orgService.EndUpdate(updateResult);
        Console.Write("");
    }, orgService);

}, orgService);

When I did this, I was getting a “NotFound” exception.

So I asked this on Stackoverflow.  Turns out in CRM 2011, you need to use the SetState message.

Digging a little further, the SDK has a good example of how to take an Opportunity to a Won Order, to a Sales Order to an Invoice.

Illustration courtesy of Jon Watson.

Retrieving the Text of an OptionSet in Silverlight

I’ve been pulling my hair out over this.

 

If you look at the Dynamics CRM 2011 SDK, you can see how to get an Entity using FetchXML:

Using FetchXML, you can get to an entity like this:


string fetchXML = "<fetch mapping='logical'>";
fetchXML += "<entity name='account'><all-attributes/>";
fetchXML += "</entity></fetch>";

IOrganizationService orgService = OrgServiceFactory.GetInstance();
orgService.BeginRetrieveMultiple(new FetchExpression() { Query = fetchXML }, EntityGet_callback, orgService);

And the callback:


public void EntityGet_callback(IAsyncResult ar)
{
   IOrganizationService orgservice = ar.AsyncState as IOrganizationService;
   var fetchResp = orgservice.EndRetrieveMultiple(ar);
    var entities = fetchResp.Entities;
    foreach (var entity in entities)
    {
        var email = helper.GetValue(entity, "email");
    }
}

 

Nothing fancy in the helper method:


public static object GetValue(Entity entity, string name)
{
    if (entity.Attributes.ContainsKey(name))
    {
        return entity.GetAttributeValue
&amp;nbsp;
    }
    return null;
}

 

If I wanted to get the Address 1 Type, I would use:


helper.GetValue(entity, "address1_addresstypecode");

Unfortunately this returns the value (0, 1, 2…) Not the string.

The answer is the Entity.FormattedValues.

Eg


entity.GetAttributeValue

With thanks to a post on Sayantan Samanta’s blog.