Categories
Monocategorized

Billionaire on a Budget

It is really easy to look at Facebook and Google and Netflix and think “Yeah I could have built that.” Every one of us has one or two or possibly even three ten-billion-dollar-ideas. All you really need is a programmer right? This startup thing does not look all that hard.

I just happen to be a programmer. It is kind of frustrating to talk with people and see the hunger in their eyes because I am their path to Zuckness. They haven’t even busted out the unilateral NDA for their amazing idea and I feel dirty and used. It breaks my little heart.

The good news though, is that I am kind of crazy. All my non-crazy programmer friends send me lots of people to talk to; for some reason they are not interested in talking to idea people. I like talking to the idea people quite a bit, honestly. Does that mean there is something wrong with me? Maybe I should seek help. Maybe not.

Through these conversations I have learned that people do not have any idea how hard it is to make a startup, nor do they have any idea how big numbers work. A good friend of mine lamented that they have been doing high tech startups for twenty years and they were not yet abundantly wealthy. It does not work that way. There is no reward for time served.

In the process of trying to help people to build their startups I have learned some interesting things. I am going to share some of the more obvious things you can do in order to help increase your odds of long term success.

The first thing is that there is never enough money to do everything you want. You are going to have to make sacrifices to get to the starting line. Deciding what you can and cannot have is crucial, and will test your limits mightily. Most of the time that someone comes to me with an idea, it is generally a five hundred thousand dollar startup. Usually they have about fifty thousand. That is not a giant gap in Carl Sagan terms. There are ways you can save money in getting out the door; we will go through them.

Students – You can generally get away with a more junior programmer than you think you need. The challenge is that you likely will need to give them some kind of direction, or else be prepared for a more expensive rewrite later once you have de-risked your research in development. It is gut wrenching to be on a phone call with someone who has their cost per user climbing 3% or higher for every five hundred users they are adding, when they have found a solid product market fit.

Part Time Programmers – In addition to students, you might find someone who already has a steady job and is willing to help you on some kind of equitable basis. They may love your idea, they may need your product, and they might even be willing to work for revenue share on the backend. Be wary of the person who wants to work entirely for free; you often get what you pay for.

Overseas Operations – You can generally find less expensive developers outside of Silicon Valley, as shocking as that sounds. You can get some pretty good bang for the buck by going overseas, or even to Canada. Sometimes you might find a marginally more expensive outsourcing firm that has a local handler to work with you on getting your idea built. There are risks here too. It is hard to know if you are funding an eventual competitor, or even if you are going to get everything built according to the letter versus the spirit of the agreement. Many of these companies are building products as a work-for-hire mercenary business to get to some goal as an organization; either they are looking for bigger contracts, or they are just idling along profitably as a think tank looking for product market fit.

The Crazy Full Stack Veteran – This is the person who has done this dance before and generally works at a 10x pace. Usually they are a lone wolf and have enough of everything you need to get something stood up. There are some interesting trade-offs to consider with the full stack veteran to get your idea to market.

These all have their pros and cons. There are approaches that are cheaper, that will take more time. There are approaches that have less risk, but will cost more money. Balancing this all will be hard, especially since most people are very adamant about the role of cash in all of this.

When you are cash poor for a good idea, it is worth trying to understand what you can and cannot give up in order to get the burn rate down. Are you willing to give up revenue share to get out of the gate? Are you willing to give respectable amounts of pre-funding equity to your developer? Do you have to own the technology developed? All of these things can be used to bring your up front costs down.

When I talk with people about their ideas, I tend to size them up like an investor would. Have they managed businesses before? What level of experience do they have with success? If a person has a nice idea and is fresh out of school, the ROI on equity for your first shot out of the gate is essentially unmeasurable for upside. If you are speaking with an executive with twenty years of experience with hundred-million-dollar enterprises, that is a safer bet that their equity will be worth something. You can generally set your own expectation on returns after spending time talking to people and looking at the marketplace.

If you are able to front some of the development cash, and then pay the rest out of revenue share, that is also an option. If the work costs fifty thousand dollars worth of time, and you can only pay twenty up front, it is reasonable to offer twice the amount of the gap on an accelerated revenue share until that gap is paid up. I like this model. I have been partially paid out on it in the past, although it is a calculated risk. When I do these things for myself, I generally cap it at twice the amount. It is not fair to burden someone with perpetual accounting for revenue share on a pure cost basis.

Finally, do you need to own all of the technology? I like to own my frameworks and I have built about half a dozen projects over the past decade where I retained the rights to research and development work. I am always willing to sign a time limited “non-compete” on that technology, usually six months to a year after the completion or termination of the agreement, depending on the product space, the size of the deal, and the people involved.

These are great tools to align the costs of your product. You can mix and match them too. I think that there is good value in having a part time technical executive spending a few hours with your students or overseas developers to make sure that you are getting the right things done. Be prepared to make it worth everyone’s time. For me, I like to have a slice of equity and a slice of cash for helping people; it is never fully worth it to do one or the other.

Now that you have gotten past the benjamins, let’s discuss some things to help you make sure you are getting your money’s worth, and building value. Let’s talk about legal agreements and what you should make sure you have access to.

Regardless where you found your happy little worker bees, make sure you have a proper agreement in place; what you pay in lawyer fees now will save your business in exorbitant costs and pain later on. Make sure you have a reasonable jurisdiction in the agreement. Make sure the terms for confidentiality, termination and breach are all mutually acceptable. Understand if you are going overseas that the intellectual property laws may differ. Also, please do not just ask people to sign a unilateral NDA just to discuss the idea. It makes sense when you get into specifics to have a mutual non-disclosure agreement in place. You probably think your idea is priceless. The average programmer will tell you without execution it is worthless. The real answer is somewhere in the middle.

As you get your agreement set up, try to establish incremental milestones; this should be pretty common. Be afraid of large lump-sum payments. It is fair to put a milestone on contract execution, and to add milestones for feature completion, QA completion, and final product acceptance. Make sure there is language in the agreement to discuss “out-of-scope change requests”. When milestones are submitted for acceptance, you should commit to a “yes/no” within a reasonable period of time. When I ask people to build projects by milestone and I am unable to get to it within ten business days, I commit to approving the milestone For Billing Purposes Only to keep the cash flow going. It is only fair to all parties.

Make sure you are getting access to the things you are paying to have built. If people are building you a product, it makes sense to have source level access to the code repository at all times. I am saddened when I hear about people holding source code hostage in startup situations, regardless of the circumstances. If you are working with someone who is nervous about giving you access to the things you are paying for, you should consider that a warning. A good technologist will rebuild a second version of something from scratch better anyway. If they are not comfortable giving you repo access to code for the product, you should walk away. This should also mostly be true where you are sublicensing code from them instead of buying it outright. The only exception is if they have something in escrow, or clearly being used as a provably-successful revenue-generating enterprise they wish to protect. If this is the case, make sure you bake in a year of time into any termination for them to keep your business running as a moral part of your agreement, so you do not get shut off and left completely in the cold.

There are some things to think about as you are building your billion dollar business. There are always ways to get stuff built; there are always tradeoffs to be made to get in front of customers. These steps will not greatly enhance your incredibly low odds of success, but will help make an already difficult journey more reasonable and manageable.

As always, feel free to like and/or comment. I have done my best to help some people live their startup dream. I am always happy to answer questions!

Categories
Monocategorized

Choking On Fish

One of the best things about being in management is dispensing wisdom, especially to very unwise people who despise the fact that your job is really necessary. I take some painful joy in helping people like this. I know the instant they have extracted what they needed from me to help them be more successful, they immediately go back to the watercooler and talk crap about me. I hope you all enjoy it, you ungrateful monsters. 

When people come and ask for help there are a lot of different tools in the chest to provide them with help. I prefer to teach people how to get themselves out of their own messes than doing all their work for them. I am very fond of the fisherman metaphor and have used it to explain why I, as a teacher, do not just give all the answers to the test immediately.

“If you give a man a fish, you feed him for a day. If you teach a man to fish you feed him for a lifetime.”

Everyone agrees this is profound and clever. There is often an aha moment for some people when they realize that what they are trying to do is analogous to fishing; dripping bits of wisdom like this onto people helps augment the mystery and power of leadership. It probably buys me about five minutes a week of reprieve from crap talking by my detractors at the watercooler. Even if it does not, it is still a “go to” for me.

The problem is that I really have it slightly wrong. I came to that realization after watching other people’s behaviors on the topic of hungry people and fishing.

It is sometimes too easy to shove someone away from work and just take it over. It is pretty brutal to do that to one of your own direct reports honestly, and it should be a tool of last resort when there is urgent business need. Generally you want to coach people to find the nuggets of wisdom they need to identify that the monster driving people out of the amusement park is really just Old Man Jenkins the Janitor. Scooby Doo mysteries have nothing to do with fishing; let me get back to my point.

The challenge with teaching people how to solve their own problems is that it is hard and time consuming. It requires skill. It requires tools. It requires super duper serious patience.

All of those things are hard to come by, plus they are usually not the things that got you into your leadership-and-or-management position to begin with.

What the hell though, you are knowledge workers, right? Figure it out.

So I want to give you my restatement of the fisherman’s parable.

“As someone who is responsible for feeding others, if you don’t teach people to fish as fast as possible you will both choke to a super stupid death on fish.”

I admit, it is not that elegant. It is rather poignant. I see people choking themselves and their teams to death quite a bit. My sage-like advice on this subject is pretty basic: 

“Hey! Stop doing that!”

You have to invest some time in learning skills to teach people in a leadership or management role. Everyone has different methods that make sense for them, and there are different methods beyond those that may make more sense for the person trying to learn. I do not have a degree in teach-ology to give some advice here. I know what works for me and I know when I have to adapt those tools because someone else is choking to death on fish.

Similarly, you have to build, buy or steal tools to help with teaching. This can be collaborative documents, repos, code-along tools, or just standing behind someone with a clipboard asking smart questions. That works for some people, astonishing as that may sound.

If you do not make time to do those two things then invariably the people you are not teaching well are not going to learn well, and also they are not going to get their jobs done.

If they are not getting their jobs done and things get serious, you are going to have to do some of their work when no one is looking. Hint: This is addicting, some people like getting paid to let other people do their work for them, be very very careful of this kind of behavior and avoid making it a default.

If you create a situation where you are not teaching people the skills they need, and additionally you are carrying them over the finish line, then you will have a problem come End Of Year Review. Even if you are a 10x engineer and capable of doing amazing amounts of super cool work, the suits and bean counters will sniff you out; breaking your back does not scale. Plus, the shareholders resent the hefty carry.

Eventually the day will arrive and you will get “gently told” to be an IC, or perhaps “less gently told” the company is going in a different direction (that does not include you). At that horrific moment, you will realize that you have just choked yourself, and probably a few other people, to death on fish.

PS: I really like fish. I also like the clicks and the likes and the hashtags and the socials. Eventually I will figure out the Magic Words To Be The Viral!

Categories
Monocategorized

Please waste my time

I conducted my second twitter poll to determine what to write about this week, and today’s subject was our winner. It was only a handful of votes. I must say I am not a very good Twit. It is still a work in progress.

Of all the things that I do, prospecting for leads is probably one of the things that makes my wife the craziest. I confess that I spend a lot of time doing this. They call it prospecting for a reason and if you ever tried one of those hokey panning for gold camps the futility of the process stares you in the face with the withering intensity of the Eye of Sauron.

It is also one of the things that I do that differs the most compared to my engineering leadership peers. I have tried to teach people to do more prospecting. I have tried various and multitudinous ways to encourage it. For a few years I even personally hosted expensive dinners trying to shock some sort of Frankenstinian habit to life in some people. Once you have one rough year, that becomes a harder expense to justify. I do not recommend the dinner party tactic as the person who foots the bill.

I am still trying to unpack why so few engineering leaders effectively network; especially some of the really really talented ones. I think it is because many of them feel it is a waste of time.

Let’s unpack this a little bit.

Engineers are in demand. Engineering leadership, doubly so. There is an ebb and flow of peers, past colleagues, and complete strangers constantly trying to lure you into their unmarked white van with bags of delicious smelling candy. There is so much unmet need to build stuff. It is very easy to stay afloat on the flow of opportunity without having to expend any effort. I have succumbed to this siren song too.

The challenge is that most of the time that you stay in a reactive mode to opportunities, it limits your upside. By the time someone wants to pay the ransom you demand in exchange for staring at their git repos, there are already ten people in line in front of you being sprayed with the equity hose.

Certainly, your downside gets drowned in an ocean of free coffee and your favorite flavor of sparkling water, but it does limit your ability to buy a different vehicle for every color of the rainbow. I am not saying this is how I would spend my misspent winnings should I ever cash out, but I will concede that it does at least have a place on my fancy imaginary list of ‘ways to flaunt extravagant wealth’. For now, I am lucky to own a week’s worth of clean 100% cotton t-shirts.

The “average” above-average engineering leader does not have to lean too far out of their comfort zone to participate in some level of hashtag winning. In fact, most are likely to get least one offer before they could even finish uttering the sentence “I need a new- ” House? Car? Laptop? Flavor of Sparkling Water? So many choices.

The amount of solicitation is somewhat of a misleading signal. I do not have to go very far in my own search to understand why.

I have been close enough to unicorn makers and unicorn riders to get into their social graph from observable distance. I am still too poor to get to go to some of their cooler parties, however I do get to see the photos online after the fact.

The truth is, most of the folks who have “made it” in high tech with exits tend to self-select out of normal society; there is some clumpiness to newfound wealth, and I have catalogued the emotional reactions of people who have transcended out of normalcy into the monocle-wearing cloud-people wealth of the World Of Tomorrow.

What is clear to me is that most will have a tightly knit tribe where they meet up and have an exchange of ideas and probably an exchange of opportunities. Some of this was a habit that they developed on the way up, and now it is a tool that is useful for taking a big pile of money and making it a bigger pile of money. It also has a nice smell to it, like the purest cocaine. Chasing unicorns this way is fun. There is so little downside to accelerating away from normal living with a group of really cool people.

So why doesn’t everyone do this?

Let’s talk about engineering mindset. Engineers like to make things. Engineers like to fix things. Engineers like to improve things. I would say without any gubbermint studies that the majority of engineers do not like to just talk about things. You do not get anything done. There is some fun in a booze-ey group-huddle where people explore the possible, but the calculus is also inescapable that maybe one-in-one-hundred of these really pays off well, if at all. This is an accepted number in the prospecting funnel for many people but it falls so far below the threshold of acceptable for our hypothetical engineer that it likely interferes with good digestion. I also say without evidence that the farther away you are from the pinnacle of the en-wealth-en-ed, the less the odds are that it is worth anything at all. The first rule of inexpensive supper clubs is that most of them lead to more inexpensive supper clubs. It smells like a downward spiral.

Which brings us completely anti-circle to the next question: Why would anyone do this?

Most engineers are working for startups in some capacity. Even if they are a profitable unicorn, they were likely a startup in a past life; you can Google this. The making of the things is desirable, rewarding, fun. This is the mindset of the a-star mental athlete. Firing the “ship it” gun in random directions for a high performer is difficult. The hit-or-miss rates of seeking MVP is confusing to someone who gets sprayed with a money hose on most weekdays, and whose boss has a calendar entry to remind themselves to tell their star performers what a great job they are doing. This is an anti-pattern to the average engineering leader whose wall no longer has any room for “Outstanding Work!” certificates.

That being said, I have watched this pattern repeat itself a dozen times now over the years. It is interesting to watch people transcend on the fruits of ideation; I will repeat that it is the purest of cocaine smells. It is a fun process and starting things and trying to see what works can be glorious. The hit-or-miss rates means that it is hard to be very successful at it. Those failures have a real “licked the hot stove” feel to them. Thus, it gets harder to make a number of tries at it for a successful builder; most will fail Because Reasons.

I am at least grateful that I get a lot of people calling me with their ideas. I like to think of myself as a good filter. I have heard some pretty good ideas. I have heard some pretty bad ideas. I have helped to create some good products when possible, and I have missed a few ships that are now on their way towards faster than light travel while I flap my arms furiously and pretend to be on them while running through muddy puddles. This is actually a statement of appreciation, not a statement of regret.

I consider it very important to try to do new things and to participate in ideation. And this requires a lot more attempts than your average baseball player’s three strikes. I envy those thirty percent success rates for the Most Successful Batters Of All Time. Accordingly, I will continue to try to encourage my peers to break their moderately successful habits for some significantly crazier ones. It makes sense to spend an hour at lunch reconnecting with people to see what they are doing. It makes sense to get on the phone for thirty minutes to learn what someone did at their last job before leaving, or what they should have done, or wanted to do. It makes sense to get together with people who are moderately compensated by much more successful people to figure out how to work together and be more successful. Individually our ancestors snatched rotting meat not fit for the jaws of better predators. As a group, they feasted on mastodons.

Our conversations will likely wind up being nothing more than the proverbial sound and fury of Shakespeare. But it is really important to develop this habit, even if the vast majority of them are just a waste of time.

I am very eager to discuss the possibilities of the future with you. So as I said at the tippity top of the article:

Please waste my time.

And while you are at it, why not click on a compelling Socials button or two for me? Retweet. Like. Comment. Snipsnap it.

Categories
Monocategorized

Where do you want to be in five years?

I am assuming by the time you have gotten into this article, you have clicked on my profile. I am very sorry about that, I will admit that some of my professional experience looks like a train wreck.

At this point I am in my forties, a parent, and back to doing what I started 20 years ago, building products. In the span of that time, I have run my own company, been a part of a team as a builder, been a part of a team as a manager, and managed managers.

Through this all I have always been a very active participant in the hiring process at any company I worked at.

I want to speak to everyone on the most important question that I ask people, and I have already asked it in the title of this article.

Where do you want to be in five years?

I want to write about this subject because it seems like this is a question that you cannot really get wrong. I am writing because I seldom hear an answer that is right. Generally, I hire the people who have a good answer to that question, and especially if hiring them means that I can help them get to their five year goal.

It is really important to have a five year professional goal.

It is also really important that your goal changes based on new information.

My five year goal has generally changed every two years. Often based on new technology, existing professional experience, and advice from mentors.

When you are examining your career choices, you should figure out whether or not what you are doing is going to put you on the path to your five year goal.

You should also make sure your boss is aware of your five year goal. It will help you get more out of your current professional role. Also, it will give a good boss some homework to do. Every second that he can help you reach your five year goal is another second he doesn’t have to replace you.

Every second that your boss is not helping you, is another second you should spend finding a new job where you will find a boss who will.

Thank you for reading. I hope you found this helpful and constructive.

Please feel free to reach out to me if you have questions about your own five year goals. I wish early on in my professional career that someone was around to help me with mine.

Categories
Monocategorized

Hello world

Yes, that is really how all software developers test things.