Hacking .NET and Startups

Brush the Dust Away

July 15, 2013 04:27 by Aaronontheweb in General // Tags: , // Comments (0)

This post is about stress.

It's been nearly a year since I started MarkedUp Analytics, and we've come a long way - I've raised money, won the business of some amazing customers, built the nucleus of a really talented team, and developed a product that people rave about. At the previous //BUILD conference, no one had ever heard of us - this time our logo was shown onstage during a keynote. Feels like progress; none of it was easy.

I took my first vacation in two years last week and had a chance to put some distance between myself and MarkedUp for the first time since inception, and I thought a lot about some of the assumptions I had about starting a company when I was just getting started, in particular this section from "The Seven Unproductive Habits of Startup Founders:"

7. Sacrificing nearly all social, physical, and personal needs in the name of “getting it done”

You can push yourself to a large volume of work over a short period of time – you can cram 80 hours into a work week if you can try. But you can’t do it forever.

You know what a successful entrepreneur needs?

They need to work out and get sleep so they can maintain their stamina and energy level. They need to go out with friends and blow off steam. They need to go out on dates. They need “me” time to collect themselves.

Creating a balanced life takes discipline – I dropped the ball on this epically at Microsoft. I starting changing my behavior before I left Microsoft and it’s made me more effective and productive.

Counter point: I've put three inches on my waistline since we went live with customers on September 29th, 2012. I stopped working out within a week of our product launch and burned the candle from both ends often since. It's been nearly 300 days since I last synced my Fitbit. My diet consists largely of whatever-I-can-get-in-5-minutes choices, which doesn't correspond well with healthy ones.

Why did I not heed my own advice?

Adding customers as stakeholders to your product produces an immediate and intense set of external pressures on your company. The timelines for delivering everything increase by an order of magnitude and the pressure can be so tremendous that it can crush some employees and founders like empty beer cans. Add investors and a fixed amount of operating capital to the mix and it intensifies the pressure and the timelines by another order of magnitude. Even if you don't panic, you have to move and act like you are.

The immediacy of it all never goes away; it's there waiting for you when you get home; when you sleep; when you're in the shower; when you're out with your friends; when you're in the car; when you're with your family; when you're alone. You are damned by the contents of your inbox; the social media mentions; the Github issues list; the sales inquiries; the status updates from your teammates; the error rate alerts from your monitoring systems; the bid alerts from AdWords; the investor email updates; accounts payable; quarterly taxes; insurance; rent; lawyers; accountants; interviewees; PR; fuck. Your life quickly becomes a list of things you failed to do when you intended to do them.

You can never distance yourself from the pressure; there's no one to cover for you. You are haunted. You are cursed. And if you don't stop running as hard as you can to keep up, your company dies, your hopes and confidence with it.

At least, that's how it's felt for the past 8 months.

Your salvation is in accepting that you can never do all of the things and everything always takes longer than you anticipate. In your role as a highly accountable person you have to give yourself permission to leave things in an incomplete state each and every day. The stress you experience throughout your life is an unconscious choice to self-flagellate and self-punish. It may feel real, but isn't.

You will always harbor doubts; you will always have deadlines; you will always have some negative outcomes; you will have disappointments; and you will always have the ability to choose your priorities and act accordingly.

The inflection point for me was when I spoke onstage at a conference recently and saw just how large I looked in the recording, like one of those retired NFL linebackers who forgot to change his dietary habits after leaving the football behind.

So I wage a campaign against demons of my own making in order to reclaim my time and life. I will not judge myself or my company so harshly. I will not deny myself a glass of red wine with my girlfriend because we have a deadline. And I will get my ass back in the gym, even if it means coming into the office later each morning. I will not beat myself up over unread emails in my inbox, because there's no value in it.

Your accountabilities will always be there for you; what's left of your life and youth will not.

You'll have a list of things to do that is temporally impossible to satisfy; accept it and don't let it slowly strangle the other parts of your life like weeds.

Give yourself permission to go home with a full to-do list each day. Give yourself the permission to enjoy the things that matter to you but don't cross anything off the list. Get used to having people bitch at you for not responding to their emails ("my free time belongs to my kids," as one of my investors put it.) Who cares? Those feelings of guilt and shame are an illusion. Keep your priorities organized, your head clear, and your chin up.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Live by “Fuck you, pay me;” Die by “Fuck you, pay me”

March 25, 2013 18:57 by Aaronontheweb in Development Teams, Hiring, Startup // Tags: , // Comments (0)

I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up.” As a fledging entrepreneur trying to attract senior engineering talent to my startup, his post bothered me immensely. I spent about a week mulling it over before I decided to write this.

Michael’s attitude in the post is abrasive, needlessly cynical, and mercenary, but well-argued on its pure economic merits. He describes himself on his own blog thusly:

I'm just this guy who used to enjoy tech, now I would rather build bicycles. I still work in the tech industry, for the money, but I no longer call myself a "technologist".

And he ends his blog post with this call to action for other senior technologists like himself:

To all of my colleagues with whom I have been in the trenches, please repeat after me, "Fuck you, pay me."

This paints a picture of someone who’s been burned before by startup flameouts; who’s put in 100 hour weeks without seeing any life-changing financial benefit; who has real financial obligations like children to put through school; and lastly, a little burned out with his career.

It wouldn’t have bothered me so much were it not for the boorish cheerleading from scores of Hacker News commenters, which indicated to me that this attitude may be more widely held than I would have believed (more on that in a second.)

I really appreciate Michael being so honest about it, because I suspect that this is an attitude that neither he nor any of the supportive Hacker News commenters have ever had the balls to actually express in a verbal salary negotiation with a flesh-and-blood human being like me sitting across the table.

What bothers me about Michael’s post and the Hacker News comments is the cynical view of founders and employers; it dehumanizes them to self-interested profiteers who don’t give a shit about the people who work for them. And the attitude I grok from Michael’s post is “developers: don’t give a shit about [your employer / the founders] either – tell them ‘fuck you, pay me.’”

Let me show you why this bothers me. Here is my honest to God list of things I care about with respect to MarkedUp in order of importance:

1. My personal integrity – because startups are not things of life or death themselves, but integrity is one of the few character traits that outlives the man or woman.

2. The financial health of the company – because a failing company isn’t in a position to serve anyone well, whether they be founders, customers, employees, or investors.

3. The well-being of MarkedUp’s employees – because they are present and future of the business, and I’m going to spend more time with them than my own family.

4. The experience of our customers – because our customers trust us with important information they need to run their own businesses, and we are our own customer.

5. My personal well-being – because I have I dreams of my own but I know that getting items 1-4 right on this list leads to the realization of #5.

I’m sure that if Michael or any of the Hacker News commenters read this list they’d scream “bullshit!”

I treat the growth and well-being of my employees as a non-negotiable requirement for my own happiness and satisfaction, but that conflicts with the Hacker News worldview of the VC-land profiteering dipshit douchebag 27 year old founder (I am, in fact, 27.)

I hire people whom I want to invest in – sure, like any startup we have short-term needs that have to be filled. But the long term health of any business that’s being built to last depends on a high trust culture – where employers and employees interdepend on each other.

I’d crawl over glass for the full time people on my team who take work off of my plate and enable the business to grow – I need them. They support me, so I’d better damn well support them when they need it. I’m making sure they get important benefits like healthcare and the best compensation that I can afford – everything within the bounds of what’s economically feasible for an early stage company of our size and funding level.

I’m invested in MarkedUp’s employees – and when we’re not able to support an employee’s needs I feel like I’ve personally failed as a manager and employer.

So this brings me back to “Fuck you, pay me.” I would never hire anyone who doesn’t want to invest in our product, the other people on the team, and in the company as a whole – because I can’t depend on them to be there for me and everyone else when things aren’t going perfectly. They’d be the first to bounce and the first ones to put the screws on me and their teammates in a bind. I’d never be able to make a person with this attitude happy, so I’d never try.

“Fuck you, pay me” is a self-fulfilling prophecy that will doom you to work for exactly the sort of employers this attitude is supposed to save you from – the kind who won’t invest in you and don’t care about you. When you open the conversation with an employer with “fuck you, pay me” you’re telling them that you don’t give a shit about the product or people, so why should they care about your well being again?

You’ll be passed over for every promotion, every project of any import, any conference or occasional perk, and your opinion will not be solicited or valued on anything that doesn’t pertain strictly to your role. Your teammates will resent you for being unavailable and disinterested. Your managers and executives will treat you with all of the mercenary courtesy and cynicism with which you’ve treated them.

A job is a lot more than a salary and benefits – it’s about enabling people to be happy, employers and employees both. Anyone who comes to work with the attitude of “fuck you, pay me” is miserable by default, an assertion you can validate with a single read over the front page of Michael’s blog. There is little I can do as an employer for someone who is innately miserable. And that makes me sad and frustrated.

Throughout the course of your career you will inevitably deal with shithead employers who don’t appreciate you – quit and move on. Don’t make the situation worse by deciding not to appreciate all employers regardless of who they are – you’ll just alienate the ones who actually want to help you even if they can’t match another employment offer you have on the table.

If money and benefits are literally the only thing that matters to an employee, then they’re worse than the self-interested greedy founder stereotype described earlier. At least the greedy self-interested founders had the balls to take some risks.

So look at your employment opportunities this way – there’s a lot more to working somewhere than just the tangibles. That’s why developers, sales people, and marketers regularly take below market salaries to work at startups – because they get the rare chance to shape the work environment into one that will make them happy.

Happiness is what matters, and benefits + salary shouldn’t be the only factor at the expense of culture, colleagues, creativity, and self-ownership.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Get a Grip

November 20, 2012 20:25 by Aaronontheweb in Startup // Tags: // Comments (0)

My regular source of entrepreneurial catharsis is watching Deadliest Catch.

If you've never seen it, it's a Discovery Channel show that follows four-six actual fishing vessels during two different Alaskan Crab fishing seasons a year (King and Snow.) “Bering Sea fisherman” is considered to be the most dangerous occupation in North America, hence the name.

Many of the crab boat captains are entrepreneurs themselves, being part or full owners of the boats. If the boat stops fishing, they go broke. If the boat breaks down, the fuel / parts / labor / time cost comes out of the crew and captain’s cut.

Deadliest Catch - fishing vessel coming down a 30-40 foot wave The captains are constantly put into situations that your average tech entrepreneur can relate to: dealing with emergencies, constant HR issues, having to make strategic bets on incomplete data, the emotional rollercoaster, you name it. The viewer watches the captains struggle with these decisions in every episode, and it’s as much of the experience and drama as the harsh nature of the Bering Sea itself.

What puts Deadliest Catch in perspective for me is this: people actually get maimed and even die on that show.

Boats get capsized by 60 foot rogue waves; deck-hands go overboard never to be found again during uneven seas; or get crushed by 1,200lb steel crab pots falling from a four-story tall stack. The fishermen’s lives, in addition to their livelihoods, are always at stake and are lost with regularity.

Back in the universe of technology entrepreneurship, the most danger I'm in everyday is getting carpal tunnel or eventually putting on weight due to poor diet and lack of exercise. No matter how hard things get, even if I fail epically, I’m not at risk of dying as a result of anything that can happen at any tech startup.

In one column: death, in another column: average health and with well above-average opportunities.

When I read maudlin stuff like today’s “The last day” short story on Pando Daily (with all due respect to Francisco Dao, a friend), I can’t really take it seriously.

I’ve failed a couple of times already in my short career thus far, including a big public flop in front of a number of my classmates when I was in college – and you know what?

You experience total humiliation and vulnerability when something you created falls apart, and that’s how you’re supposed to feel if you cared about what you did.

But dead startups aren’t things of life or death themselves – you’re not going to die; your stock will only rise as a result of what you did at your startup provided that you didn’t do anything unethical; most of your friends will admire you for having the balls to try something on your own in the first place; and you’re going to have a chance to try again.

It’s hard to ignore the self-critical things we all whisper to ourselves as entrepreneurs; they’re sometimes a healthy and necessary gut-check against reality, but more often than not they’re just self-destruction mistaken for self-motivation.

So don’t be so hard on yourselves and be the first in line to kick your own ass, because your market / customers / employees / investors / co-founders / competitors will all have plenty of chances to do it for you. Accept the occasional beating as an inevitability and recognize that the one thing you can always control is how you choose to react to things you cannot.

And now, I think it’s appropriate to share a little wisdom from Deadwood:

Deadwood: Al's Take on Misfortune

If you enjoyed this post, make sure you subscribe to my RSS feed!

College: Four Years Later

July 10, 2012 19:15 by Aaronontheweb in General // Tags: , // Comments (3)

This is intended for recent graduates who are finding themselves lost in the shuffle as they adjust to the real world, but has advice that is applicable to everyone. Your mileage may vary.

I graduated from Vanderbilt University with a B.S. in Computer Science in May of 2008. I was a Cum Laude student and a member of Sigma Nu (a fraternity.) I rebuilt the student embodiment of IEEE & ACM back up from scratch into a meaningful, attractive organization inside Vanderbilt’s engineering school, and did it alongside some really wonderful and amazing people. I helped rebuild Sigma Nu, lived in the house for a time, and met fantastic people who will be some of my lifelong friends.

The four years I spent in school were life-changing for me and completely reshaped me into a much more confident, balanced person than I was going in. I have few regrets.

The four years after I graduated have been disorienting – I’m not in a structured social environment anymore where everyone is new and eager to make friends. I have conference calls at nine in the morning. I need to renew my auto insurance. I have three weddings that I have to go to this Summer and I’m 90% sure I won’t fit into my old pair of dress pants.

I’m fortunate that I live in a country where I don’t have to worry about clean water or getting my head cut off, but that first world self-assurance doesn’t make the transition to adult life any less jarring.

The most bothersome part about being an adult is a moment that occurs 1-3 years after you don the cap and gown.

Here, I’ll set it up: you got your first job or two and have busted your ass nonstop trying to build a life, income, and home for yourself. You haven’t gotten blackout drunk with your friends “because it’s Tuesday night” since graduation. You haven’t done any travel beyond seeing family and maybe a small trip here and there. You’ve grown apart from many of your college friends as you all went your separate ways, both geographically and professionally. You’ve settled into some routines that give you some sense of control over things, but you still aren’t really cooking for yourself or exercising enough (as your mother will tell you.)

With that picture in mind, here’s the moment that brings it all home: during the course of a regular day, maybe when you’re at work or just coming home, you rediscover a piece of your personal history directly from the time when you were at college – and you start thinking about what’s elapsed between then and now. And a wave of private humiliation starts to well up inside you… my life is a lot smaller than what it used to be, isn’t it? Not going out there and changing the world yet exactly are am I? And my, what a boring person I’ve become!

It’s the moment where you realize that you’ve unknowingly started to cast a boring mold for your future – and you start to mourn all of the ambition and optimistic hopes you held when you were in college. You start to doubt the path you’re on and wonder, sometimes out loud, if you completely wasted the years of your life after college. You worry about sounding like an entitled, whiny bitch if you complain about it to anybody save your absolute closest friends, and thus deal with your torment in private.

Relax. Everyone goes through this – you’re not alone, and it’s scary for everyone too. It doesn’t mean you’ve screwed up or made poor choices, and there’s no point in worrying about that anyway since you only live once. Heed the moment for what it really is: your sub-conscious telling you “initiate adulthood, phase 2!”

Adjusting to adulthood isn’t easy – if it were there wouldn’t be any coming of age movies and Workaholics wouldn’t be hilarious.

College doesn’t prepare you for the ambiguity of real life – it gives you some of the tools and weapons to figure that out yourself in an economy where people are valued based on knowledge (rather than the ability to wield a shovel.) It takes a few years to figure out “where the bathroom is,” if you pardon the metaphor, before you can really go on to do the stuff that you were born to do.

The moment is a call to arms, crafted just for you. It means you’ve figured out what it takes to survive outside of the corner room in your parent’s house; you’ve got some money and some workplace experience; and you’ve a certainty that things are not where you want them to be. And you have no obligations to anyone or anything, save some manageable debt and a lease that expires in 7 months.

The moment means the time to make your life the way you imagined has come – don’t screw it up. Quit your job and start a company; go traveling; marry that girl you’ve been dating steadily for three years; take up surfing; whatever your dreams are, do what it takes to realize them.

This won’t be the last time you have a major moment of “oh shit what am I doing?” either – take them for what they are: indicators that you’re ready to advance and change. Go do what it takes to be interesting and optimistic again now that you’ve conquered the banalities of adulthood.

If you enjoyed this post, make sure you subscribe to my RSS feed!

8 Lessons Learned from Startup Weekend

I imagewanted to post this the morning after Startup Weekend Los Angeles concluded in late February, but due to the fact that I along with half my team (Minboxed) came down with the flu the following morning, I postponed this for long than I would have liked.

Startup Weekend Los Angeles stands out among other Startup Weekends in that each one of these events have produced real companies like Vol.ly, Foodme, Ming.ly, and Zaarly – who took first place in this very Startup Weekend and recently closed a $1m dollar round of funding and soft-launched at SXSW (great job, guys!)

The quality bar for talent is high and the judges are terrific – this year we were even treated to a surprise visit from Ashton Kutcher and Demi Moore, who judged my presentation along with 9 others.

This marked my third startup weekend, my second as a participant, and my first as a team lead.

I learn something new at each Startup Weekend; the ultimate value in these events isn’t really producing a product or a company – it’s learning how to work alongside a team of strangers to build something that didn’t exist 56 hours prior.

In that vein, I thought I would share what I learned.

1. You don’t need a functional product demo to win Startup Weekend

If I can point to one thing that I personally did wrong in this event, it was over-emphasis on building a functional prototype at the detriment of everything else. I can’t help it – I’m an engineer and a passionate geek.

I spent all of Saturday hammering out a prototype, figuring out how to connect to Gmail, how to use IMAP, how to write SQL queries to score achievements, how to batch everything from an ASP.NET MVC app on AppHarbor without worker roles, and so forth…

Minboxed didn’t place in the top three at the end of the judging, despite solid engineering and design efforts from our team – another startup, Eventify.me won 2nd place however.

In the course of Eventify.me’s demo of their live product, their entire thing came down and the team leader was forced to scramble onstage for the duration of her presentation. It’s the sort of nightmare scenario that every presenter worries about. In the end, it didn’t matter though – the judges were able to appreciate the quality of the idea and the future of the business without having to see it fully in action.

2. Sell the judges on the business, not the product

We were very focused on making Minboxed an awesome product – competitive social gaming built on top of email in order to make it more fun to be productive with your email. We had some innovative monetization strategies (in my opinion) and a good general strategy for acquiring customers; in other words, I think we made a good case for building a healthy business.

However, in our pitch to the judges those aspects of our work received a fraction of the attention that our product demo and our value proposition did. In hindsight, we made a great product pitch at the cost of a great business pitch.

3. Relate your business model to a proven one

In past Startup Weekends I’ve attended, the winners have always been companies who’ve modified a successful business model to either address a new problem or a new market; Zaarly took the Craigslist model and flipped it on its head, making it demand-driven instead of supply-driven. Hinty, the winner from the previous Startup Weekend LA, took a consumer-facing twist on TellMe’s business model.

I don’t want to make it sound like Startup Weekend judges punish innovative business models – it’s just easier to sell them on something that builds on the success of something else. I still can’t think of anybody who’s built a business doing something close to what Minboxed does; maybe that means it’s a bad fit for Startup Weekend or perhaps it means that we simply needed to go further to prove that there was a viable business behind it.

4. Talk to customers early

We did not talk to customers, a huge mistake. We talked to users, people who would be playing the Minboxed game, but not people who would be paying for it.

Had we talked to customers earlier we would have discovered just how far we needed to go in terms of privacy (one of the judges told me later that this was a big part of the reason why we didn’t make it.) In addition to discovering potential issues early and helping teams pivot on their business models and products, early customer commitments and testimonials are one of the best ways to sell judges on the future of your business.

We were focused on users of products, not customers of our business – a big mistake.

5. Do your pitch presentation with someone who isn’t on your team

Small lesson here – there were a number of things we did to make a good case for Minboxed, but we didn’t touch on them with either enough clarity or enough detail to convince the judges. Had we given our presentation to someone who wasn’t on our team before we ever showed it to the judges, we could have heard their “I don’t understand why…” questions and modified it earlier.

At the end of the day, your idea will be judged by how you communicate it as it will be on its own merits, if not more. Your team will take a myopic view of the business if you don’t include feedback from outsiders, thus why this lesson is important.

6. Cap the number of team members and pick people with specific skills

This is one thing that we did really, really well. We had a team of six, which is still a little large, but we made sure that we had the right people on it. Two engineers, one designer, and three marketing / business development folks.

I had to turn away a few people, and I’m glad that I did – when you get too many people, you spend too much time trying to make sure that everyone is included and trying to roll everybody’s work into the final product / presentation. You’re better off being mean on Friday night and saying “no thanks, we’re good” and paring down your team to the bare essentials.

7. Keep the engineering workflow tight

One problem I have yet to find a good solution to is how to manage the engineering workflow for product development at Startup Weekend.

Following my experience from this past Startup Weekend, it’s my new belief that if you have an appropriately tractable idea for Startup Weekend you should have two engineers: a back-end developer who owns 100% of the database + stack and a front-end developer who implements the JavaScript, CSS, and user-experience implementation. The two engineers and the designer (if there is one) need to hammer out on-paper designs for every page with a user interaction, and the back-end developer needs to create a set of dummy controllers for the front-end developer to build against.

I say this because my teammates and I have spent a lot of time trying to merge divergent bottom-up designs on Sunday on two different Startup Weekends, instead continuing to work on the product, and it’s a major productivity-killer.

If you have better ideas on how to do this and what’s worked for you historically, please leave a comment. I don’t have a perfect system for this.

8. As a team lead, your job is to evangelize

The team lead for any Startup Weekend project is usually going to be the person who pitched the idea before it was selected; as a team lead, your first job is to evangelize a vision to your team from the first second to the last.

If your teammates have a clear vision that they can buy into, it makes it easy for them to self-manage and work with minimal interruption.

Next are your potential customers –evangelize them on the idea and get early commitments and testimonials.

Last are your judges – your job is to evangelize them on the total vision for your team, business, vision, and product and earn their votes.

Stepping away to work on the product and talk to potential customers is still time well-spent, but ultimately your first priority is evangelism.

Thoughts for next time

I’m going to participate in the next Startup Weekend LA, and I’ll pitch a new idea, and even if I don’t win I’ll learn something new. Looking forward to it!

If you enjoyed this post, make sure you subscribe to my RSS feed!

Powered by Microsoft

September 2, 2010 14:22 by Aaronontheweb in General, Startup, Microsoft // Tags: , , // Comments (1)

I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel extremely comfortable making this information public.

My role is Developer Evangelist for the BizSpark program; Microsoft recruited me for this position after they read .NET Culture Shock: Why .NET Adoption Lags Among Startups and the rest, as they say, is history. I've relocated to the Santa Monica area and my immediate task is to work on increasing goodwill towards Microsoft and the .NET platform among the startups in southern California; it's a prospect that is exciting, daunting, challenging, and mind-blowingly awesome all at once.

If you're involved with startups in SoCal then I will make it my mission to meet you and find a way to help you should you require it. If there's anything I can do to help you, please feel free to contact me.

As for the blog - it's not going to change much :p . If anything, I'm going to have more content as a result and it'll be from a much higher altitude than it was before.


If you enjoyed this post, make sure you subscribe to my RSS feed!

How to Attract Ambitious Employees to Your Company

August 16, 2010 15:09 by Aaronontheweb in Startup // Tags: // Comments (3)

Today was my last official day at SmartDraw – I’ve worked for this great company for two years and saying all of my goodbyes was bittersweet.

Were it not for the fact that my new employer graciously dropped an irresistible opportunity at my feet1 I would have been happy putting in another couple of years there and I would have loved to watch it continue to grow into the large company that it will be some day.

You don’t expect to get trophies for leaving a company and moving onto a different job, but oddly enough that’s what literally happened today. My boss took it upon himself to host a happy hour at a local chain restaurant to wish me farewell along with my co-workers. Thirty minutes into the celebration he stood up next to myself and the CEO, gave a quick speech where he rolled off a list of things I had accomplished during my time, and handed me a glass trophy. Good times ensued.

A Culture of Achievement

My next job will plunge me neck-deep into the startup community, although I will not actually be working directly for one. My co-workers know this, so naturally they spent the next hour or so sharing stories with me about the startups they’ve worked for in the past: ProFlowers, Level 3, ADN, and the list goes on.

Not once during the course of these conversations did anybody brag about the money they brought home from the bank as a result of an IPO or an acquisition – what everyone talked about was the thrill of sharing success, of feeling like they’d helped leave some organization in a better shape than they found it.

Everybody who goes to work for a small, young company is an entrepreneur to some extent (the range is debatable, but not in the slightest bit relevant) – you have to be in order to tolerate the risks and lack of security that come with a firm of that size. And why do people do it?

The trophy is just an object and certainly not an ends in and of itself. What it represents, however, is that my peers and co-workers recognize that I left SmartDraw a better place than when I found it. The external validation and praise from my peers is more than welcome too, but it’s not something you can or should expect – SmartDraw just happens to be a truly exceptional place to work with exceptional people.

The reason why people with talent and ambition work for anybody else is this – because we want to be needed as much as we need the job, and we want to have the opportunity to make something better than we found it even if that something wasn’t an idea born of our own imaginations. Creative control doesn’t matter half as much as the knowledge that we can and will make a difference.

For every blog post I read like this one,2 where the author basically states that if you recognize your own talent then it’s time for you to become your own boss, I would like to answer it with this:

Being involved with a startup isn’t about a glorious exit, getting rich quick, or being your own boss. It’s about accomplishment, and doing it with a group of people who are really fun to work with. If you start something yourself, then more power to you.

I’m going to work for a great employer, and I couldn’t be happier about it. And one day I’m going to decide to start my own company and I’ll venture off to do that. But ultimately I want the same thing from both opportunities: I want to accomplish things of significance.

If you’re running a company and ever want to attract ambitious people like me, make a case for why you need us, not the other way around.

1I'll make a public announcement about it after I start, which is soon.

2Props to the author, however, for starting a company successfully while raising a family. That takes balls.

If you enjoyed this post, make sure you subscribe to my RSS feed!

My Talk at BarCamp San Diego: How to Create Applications People Love

July 11, 2010 14:24 by Aaronontheweb in General // Tags: , , , // Comments (2)

I showed up at BarCamp7 this morning and saw that absolutely no presentations were up on the board whatsoever, so me being me I spent most of the day putting together a presentation at the last minute.

I spoke for an hour about How to Design Applications People Love. I’ll add more to this post later after I decompress with some TV, but here’s my PowerPoint:

All in all, it turned out really well – I’ll try to update this post with some more detail tomorrow.

Update 7/13/2010

Ok, here’s the run-down of my talk:

  1. We all begin with ideas for new applications or products, but in order to determine if it’s worth actually pursuing any given idea we have to determine who the product’s core user group actually is and whether or not they’d actually use it enough to merit its production.
  2. We begin this determination using “the onion process,” a name I invented on Sunday morning, which elegantly formalizes the process I’ve been using for my latest group of projects.
  3. During our execution of the onion process, we inevitably make a number of assumptions about our application / product’s users – therefore we have to map out those assumptions explicitly so we can systematically test them when we start our customer / user engagement process. I find that it’s best to use a mind map for this, but a simple outline can work too.
  4. Once we have our assumptions outlined, we have to test them by interviewing potential users and determine if and where we are on/off-target.
  5. Let the process of churning begin.

If you enjoyed this post, make sure you subscribe to my RSS feed!

.NET Culture Shock: Why .NET Adoption Lags Among Startups

July 3, 2010 11:48 by Aaronontheweb in .NET, Startup // Tags: , , // Comments (108)

One of the other things I took away from Code Camp was a bit of .NET culture shock. As you can tell by glimpsing around on this blog, I am somewhat enamored with the idea of starting my own business. I’m a natural entrepreneur and it is my wont to think about startups constantly.

That being said, I’ve always wondered why a platform as widely adopted and supported as .NET isn’t more visible in startup culture. Many major open source  platforms and languages have very visible and vocal presences in the startup community, everything from mainstays like Python and PHP to even the more obscure and specialized ones like Clojure and Hadoop.

.NET on the other hand is conspicuously absent from the startup conversation despite the fact that it is a singularly larger platform than any of the others.

It’s like there’s a silent majority among the development community that just tinkers away on its own projects without even occasionally raising its hands and saying “here’s something clever and unique we did with this platform that no one else has done before.”

It’s somewhat tragic for the .NET community too – because the perceived lack of sex-appeal on the surface doesn’t match the reality of what the platform is capable of.

Just take a brief moment to peruse through CodePlex for more than a couple minutes and you’ll find thousands upon thousands of examples creative open source projects all built in .NET.

And in the startup space there actually are a number of .NET-based startups making it big, including this week’s Hacker News / Social Media darling Woot. But why oh why isn’t there a louder .NET voice in the startup community? Why aren’t there developers from Woot working with developers from StackOverFlow (also implemented in .NET) to encourage more startups to use the extensive .NET stack to create new and exciting products and services?

And most importantly, why aren’t there more startups adopting .NET?

It’s All about the Enterprise

I’ve heard all sorts of lame answers to this question before: “platform lock-in,” “no open standards,” “licensing costs,” and none of them pass the test of objective reality – yes, those are issues that might prevent some developers from adopting .NET in the startup space, but not enough to bar virtually all of them from using .NET, arguably the most comprehensive and versatile platform with the best tools and the best support.1

At Code Camp I think I finally figured out why this is: it’s the culture of the .NET community itself, not anything specific to the platform or the architecture which supports it.

.NET culture is centered around the concerns of  the enterprise – the large already-established businesses in the economy, not plucky up-and-coming startups. The Promotion PitAnd when I say “culture,” I’m not talking about the development tools – I’m talking about where the hearts and minds of the developers who use the .NET platform are. I’m talking about the blogs and media sources .NET developers read. I’m talking about the networks where .NET developers contribute and the substance of their conversations.

Most of the developers I met developed portals for giant healthcare providers with thousands of employees, worked on legacy code whose lifespan could be measured in decades, worked in teams with hundreds and even thousands of programmers, and lived in ecosystems ruled by large bureaucracies. These are problems to which few if any developers for startups can relate.

That’s why so many of the talks at Code Camp were staked around RAD methodologies for developing internal projects, coding standards, enterprise architecture, and other things that matter to developers who work in giant ecosystems.

And who can blame Microsoft for catering to the enterprise market – that’s where the money is! No one ever became rich selling high-end development tools to a handful of capital-starved, small companies.

However, the consequences of the .NET community’s enterprise-centric culture is that the startup community and the .NET community don’t overlap as much as they do for other technologies.

As a result, developers working for startups and even the startup founders themselves don’t get much exposure to .NET and don’t think of it as an applicable tool for their purposes.

The flipside is that many .NET developers who want to work for hot startups don’t have as many opportunities to do so unless they abandon the platform for a more “startup-friendly” one or start a company themselves.

So what do the members of the .NET community fuss over? They worry about supporting legacy systems, building enterprise architectures which can service multiple departments, they worry about large systems for supporting in-house business processes, and they worry about satisfying the needs of stakeholders throughout their companies.

.NET developers in general, worry about architecture in order to support systems.

Members of the startup community fuss over a very different set of issues – they’re their own stakeholders, they worry about concurrency, they worry about scalability, they worry about user experience design, they worry about supporting multiple clients and browsers, and they worry about how their designs will impact their bottom line.

Startup developers in general, worry about architecture in order to support products.

See the difference? .NET is perfectly capable of fulfilling the needs of product designers and startups, but comparatively little2 of the .NET culture, literature, and conversation is product-centric – instead the majority of it is structured around using .NET to support the needs of the business, not building the business’ products itself!

But It Doesn’t Have to Be

One thing that should be clear here is that any platform, not just .NET, can be used as a platform for building enterprise technology and for building new products. The platforms don’t often dictate their use – that’s the work of the people who develop on them.

If Microsoft wants to make a splash in the startup scene with .NET, and I have every reason to believe they do, then they need to do a better job evangelizing .NET’s capacity from a holistic new service / new product / new business perspective and not just for the enterprise.

Enterprise and startups aren’t mutually exclusive – they’re just different stages in the evolution of software, and there’s no reason why the startup community shouldn’t look at .NET as an attractive starting point for a new business.

The next article I’m going to write on this subject will cover why it’s a good idea for Microsoft to have .NET adopted more readily by the startup community.

1I realize “best” is a subjective term, but please do your best to just stick with me here. I’m not trying to trash Eclipse, XCode, NetBeans, or EMACS, but just face it: Visual Studio destroys those in any feature set-to-feature set comparison.

2Again, this is an observation based on my experience with the .NET community thus far. I'm always on the lookout for any exposure to people who use .NET in a startup setting.

If you enjoyed this post, make sure you subscribe to my RSS feed!

Learning When It's Time to Walk Away from a Project

June 25, 2010 08:53 by Aaronontheweb in Startup // Tags: // Comments (3)

I wanted to take the time to follow up on some of the additional lessons I learned from my May startup project, some of which I already shared in The Myth of the Single-Person Startup.

This week I decided to indefinitely postpone my startup project, the same project I spent a month of unpaid leave working on sixteen hours a day. The decision wasn't at all painful, and I came away from it feeling oddly successful and much wiser for it. The project taught me a lot of hard-earned lessons, the kind you only learn experientially, and all it cost me was a couple of paychecks - not bad considering that I don't have any obligations outside of paying my rent on the first of the month at this stage in my life.

But back to the point of this article: learning when it's time to walk away from a project. I have no idea how hard it is for other people to dump something into which they've invested a lot of emotional energy, time, and even money, but for me all it took was recognizing the following things:

  1. The effort needed to actually implement the project's MVP (minimum viable product) grows explosively even though you're not adding any new features or functionality.

    I suspect that anyone who reads this is going to think "well, why don't you reduce the complexity of your MVP then?" to which I reply "the point of an MVP is that that's as simple as it gets - you can't reduce it." Reducing my initial feature set wasn't an option given the competition in my space as it would forgo requiring my product's differentiation - although I had plans for something much more grandiose down the road, my vision of an MVP was assuredly realistic and modest on paper.

    However, when it came time for implementation I came to appreciate just how complicated some of the mundane details of the project truly were. It wasn't over-engineering, it wasn't poor design, and it wasn't any of the usual suspects - it was that I was unable to realize the full scope of the project's complexity without getting into the guts of it.

  2. The competitive space and surrounding ecosystem is changing more rapidly than you can keep pace with.

    My idea (a social media analytics tool for marketers) is in a domain with lots of fast-moving competitors. Although none of the present competitors have built anything that truly captures the value or essence of my idea, they're rolling out innovations and new products at a pace I cannot maintain, and they're better suited than I am to adapt to rapid changes in the surrounding environment, such as Facebook's rapid changes to its APIs.

    I'm a one-man startup trying to compete with well-funded companies in an explosively innovative space - without quitting my day job, finding funding, and building a team, things I'm not suited to do presently, it's a battle that would have been difficult for me to fight.

  3. The technical depth of the product goes beyond your technical expertise.

    This is also called "getting in over your head." As you can probably tell by looking around this website, my real world experience in software development is wanting not for lack of intellectual effort mind you. It's largely because I've been out of a computer science program for two years working full-time as a marketer.

    Nevertheless, I'm enthusiastic about getting back into it and I was excited to take on a big project like this. Unfortunately, I learned quickly that an MVP for a startup is a terrible place to catch up on programming techniques and technologies.

It's was really the combination of all three of these that drove me to ultimately shelve the project, rather than any single one. I'm sure with enough ingenuity and effort one could find the resources and methods to overcome at least one of these problems, but all three at once was too daunting for a young solo entrepreneur who was still working full time.

If you enjoyed this post, make sure you subscribe to my RSS feed!



My name is Aaron, I'm an entrepreneur and a .NET developer who develops web, cloud, and mobile applications.

I left Microsoft recently to start my own company, MarkedUp - we provide analytics for desktop developers, focusing initially on Windows 8 developers.

You can find me on Twitter or on Github!

Recent Comments

Comment RSS

Sign in