Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company

I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should look for in a developer when your company is at a critical, early stage. This is that follow-up ;)

Our company, MarkedUp, is still in the process of building out its early engineering team; however, we’ve had some success in finding the right type of people we want to work with – a process that wasn’t quick or easy, but will pay off massively in the long run.

When it comes to hiring developers for your early stage startup, here are the questions you need to think about:

1. What are you optimizing for?

At this stage in the evolution of MarkedUp, we optimize for changeability and reliability...

Read More

What It Takes to Actually Ship a Piece of Commercial Software

Last week our startup, MarkedUp, hit the first important milestone for an early stage technology: we shipped the first version of our analytics product and put it into the hands of actual end-users.

For those of you who don’t read my blog regularly (pretty much everybody, I suspect,) MarkedUp provides in-app analytics for desktop application developers. We’re focusing our company’s initial efforts on supporting Windows 8 and WinRT developers specifically.

Now, we still haven’t completely opened the doors to everybody – we’re capping registration for MarkedUp through the use of invite codes while we gather important UX feedback and reports on bugs we may have missed.

Nonetheless, we hit that important milestone and have live users! Yay!

However, here are some interesting facts about the timeline leading up to our ship date:

Thoughts on Recruiting Developers at Early Stage Startups: Understanding the Job Market

Shortly after leaving Microsoft to work on MarkedUp full time, my founding team and I joined an early stage accelerator here in Santa Monica. We’ve gotten a tremendous amount of value from it so far, and the directors of the accelerator have done a great job helping me prioritize and do all of the things I need to do in order to launch MarkedUp properly.

One of the things they’ve had us do is gradually step up our recruiting efforts, and for the little we’ve invested into the recruiting process so far the results look pretty good.

Most startups at this early stage are founded by 1-2 people who have unique insights and connections into a market, have done some work to validate a new business concept in said market, and are now trying to form a team to help them execute and eventually scale it. Usually the first...

Read More

Software Engineering Priorities for Early Stage Companies: Put the Team First

Team first.

Earlier this week I made a pilgrimage up to the Bay Area to visit some mentors – I came seeking advice from entrepreneurs who’ve done work relevant to our interests at MarkedUp, mostly to learn how to address some “known unknowns” that have been keeping us up at night.

One of the people I had a chance to speak to is an experienced CTO and we started talking about development priorities in early stage companies like ours. Mid-way through our meeting we had the following exchange (paraphrased:)

Me: so I’m trying to figure out my priorities in terms of what I personally spend my time working on – I have to juggle recruiting, product, fund-raising, customer development, project management, and working on the actual codebase all myself until we start expanding our team.

CTO: what have you been working on...

Read More

ASP.NET MVC4 Gotcha: Embedded Views and Razor Pre-Compilation

In the course of some of our work on MarkedUp, we discovered an interesting gotcha with MVC4, embedded views, and ASP.NET pre-compilation.

A little back-story:

One of the things we did as part of a major refactoring recently was to pull all of our email templates out of the main MarkedUp MVC4 project and stick them into their own independent assembly – we did this because we anticipated that these templates would have to be shared across multiple web distinct web applications running behind our firewall.

We use ActionMailer to generate our text and HTML emails from Razor templates, and one of the things that broke with MVC4 is the RazorEngine project which was used by ActionMailer.StandAlone to parse Razor templates in non-MVC4 assemblies.

So, what we did in this instance was embed our Razor views directly into the child assembly and wrote our own VirtualPathProvider...

Read More

Seven Unproductive Habits of Startup Founders

Now that I’m running my own company and no longer speak on behalf of Microsoft or anyone else, I feel like I can speak a little bit more freely about some of the things I’ve observed about people at startup companies over the past couple of years.

I worked with close to a hundred companies in some capacity as a Startup Developer Evangelist – some much more closely than others, but nonetheless had a chance to live vicariously a lot of different companies in different markets run by different types of teams with different types of people on them.

Regardless of all of those differences, there’s one thing that a lot of these founders had in common: the less disciplined and experienced founders manage to waste a lot of their time and energy on things that are counter-productive and others that are actively self-destructive.

Here’s seven really unproductive habits that...

Read More

How to Setup a Proper Python Environment on Windows

python-logo.pngOne of the things we have to do at MarkedUp on a routine basis is test the live HTTP endpoints for our data collection APIs, and some of the data structures we upload are multipart-form POSTs that contain some complex objects (log messages with nested exceptions, etc…)

The tool we decided to use to test our API, particularly as our API changes during this early stage of our company, is the amazing Requests library in Python – which makes the process of cobbling together these complex form-encoded objects and testing them against a live HTTP endpoint bearable. I developed an in-house command line tool using Requests, argparse, and a few other built-in Python libraries to make the process of performing endpoint testing easy and repeatable for myself and the rest of the team.

However, given that we...

Read More

New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed

I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would reblog this from the official MarkedUp blog.

original link: The MarkedUp Blog - New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed.

And here’s an excerpt for you:

So imagine our amusement today here at MarkedUp HQ when Erik reviewed the Windows Store “Before Your Sell Your App” guidelines and discovered this gem in the section regarding how to name your Win8 applications* (emphasis ours:)

Note  Make sure your app name doesn’t include the word metro. Apps with a name that includes the word metro will fail certification and won’t be listed in the Windows Store.

Looks like our friends at MetroTwit and other popular ported WP7 applications (many of which include the word...

Read More

Today I am Leaving Microsoft and Starting my Own Company

I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.

Microsoft recruited me off of Hacker News two years ago. In the Summer of 2010 I was still brushing off the ashes of my first failed startup when I wrote a blog post about some of the challenges the .NET community faces with respect to adoption among startups, which subsequently got a ton of attention on Hacker News and inside of Microsoft.

Ultimately, this was the start of an amazing two year journey at Microsoft as a Startup Developer Evangelist. I relocated from San Diego to Los Angeles and built a new life, met scores of wonderful people, worked with some of the absolute best startups on the planet, and honed my skills as a technologist and software entrepreneur exponentially further than they were when I attempted my last...

Read More

Why Front-End Web Development Makes Me Sad, Issue #1092145

I have an internal reporting interface for one of my Windows Phone 7 applications that shows me more or less how much of the app is getting used every day, and I developed the reports using the eternally awesome jqPlot charting plugin for jQuery.

I generate three line plots on my main reporting page by dispatching three AJAX queries on-page, all of which are just a {Start:#date, End:#date} set of arguments. The ASP.NET MVC controller action method that receives the query then builds a time-series for me spanning that range and returns the result set over JSON, which is used to finally render the charts. Basic stuff.

My charts render beautifully in Chrome and Safari, whereas they never displayed at all in IE. I figured it was just an issue with the jqPlot plugin, despite the fact that it boasts great backwards compatibility with IE.

But then I used...

Read More

P.S. Get the latest from Aaronontheweb

Have my most recent essays and articles delivered directly to your mailbox.