How to find a technical co-founder

Nerdfinger

Photo by Bayat

A non-technical friend of mine recently asked for my advice as a card-carrying geek: If he doesn't have the right person in his immediate network, how can he find a technical co-founder?

When you're searching, there are two things a good engineer won't care about:

Job title
Job description

Here's three things the engineer should be passionate about:

Your big vision
Getting things done
Being the alpha geek

The job title one is almost a cliche, but if there's one
thing that drives most engineers crazy it's 'office politics', by which
they mean any status system that's not based around pure technical
ability. Caring about fancy job titles is seen as a sign you can't win
respect by the sheer awesomeness of your code. 'Founder' should be
enough if you need one to throw around.

All you should write for the job description is 'Create the
next X', or 'Build the Y-killer', or some other world-changing goal.
You don't want an employee waiting to be told what to do, you need an owner who takes the company's mission and figures out technical steps
it will take to achieve it. You should have enough familiarity with the
likely tools to weed out people without some relevant experience before
you talk to them, but I would keep that mental list away from
candidates, since the standard HR checklist of '5 years PHP experience'
is a sign of clueless-ness, and will put off people with equally good
alternative qualifications (eg Ruby on Rails instead of PHP).

So, without a job description, how do you find someone? Mailing
lists, blogs and web forums are a fantastic way to find undiscovered talent.
Find a few open-source projects that are related to the area you're
interested in. Dig out their developer mailing lists, and look at who's
posting frequently. Look through their messages and you'll get a better
sense of who they are than any interview could give you. They're
already passionate about the area if they're on the list, and
you can easily see who's rude, who can communicate, who's willing to go
out of their way to help others, who's super-smart, and who bites the bullet and implements things
rather than just talking about them. You'll also get to see code
samples, and even if you're not technical a quick scan can show you if
they're writing vaguely intelligible code. Their interaction with the
group also shows who's hungry to stay on top of the technical issues,
and so can remain alpha geek and keep the respect of engineering subordinates.

Technical conferences and user groups are great hunting grounds
too, the nerdier the better. I've worked with so many people who are
amazing engineers but interview like Rainman. If you can catch us in
our natural habitat, talking about things we love, you've got a much
better chance of seeing us in a true light.

Once you have someone in your sights, it's like dating, I'm not
sure there's any formula. The goal is to convince them you're someone
they can trust, and that you add value yourself. Demonstrating
things like your ability to get press coverage, how you can increase
the chances of being funded, and bringing in revenue are essential.
It's also tricky because engineers often discount the value of those
skills, so bringing them down to concrete results helps, eg 'Blogger
Joe wrote about my last three releases, he'll write about this
project', 'I raised x with my last company, the same investors are
interested in my new venture'. Bringing on previous technical partners
who can talk engineer is vital to help gain trust too, sort of like
duck decoys.

I've worked with so many great engineers who would make fantastic co-founders, but they're uncomfortable with traditional networking and self-promotion. You'll be doing them a favor if you hunt them down yourself!

Reasons to be cheerful

Piercingsmile

Photo by bdebaca

There's a lot of depressing posts floating around the startup blogosphere. Here's why I'm still a happy camper:

We're the luckiest people on the planet

If you're reading this, you're almost certainly a well-educated inhabitant of a developed country, with strong computer skills and enough time on your hands to browse the internet. Times may get tougher in a relative sense, but the options and resources we have make us part of the world's upper class.

Family and friends aren't going anywhere

There's no stock index for the value people bring to your life. No matter what happens, I can still go home to my family and friends.

My competitors are in the same boat

The barriers to entry have been raised for everyone. It's going to be harder for me to raise new funding and make sales, but that's true for everyone around me. Even funded startups will have a tougher time meeting their targets and getting follow-on rounds. The upside of being early-stage is that adaption is far less painful. If I can't raise enough funding to attack the enterprise market directly, I can go lean, and get revenue and domain knowledge by selling the business tools directly to individuals.

Tough times favor trying new things

There are a lot more pressing reasons to change the way you do things when businesses are under pressure. As Nat Torkington says, depressions force technologists away from iterating on existing solutions, and onto radically new approaches. The sudden increase in painful problems means lots of new opportunities to solve them.

There will be a lot less noise

A lot fewer businesses will get started. That means my startup will find it a lot easier to get noticed, rather than competing with the latest toothpick collector social network for coverage.

I'm still building something I value

The one thing I can truly control is what I'm working towards. As long as I'm able to keep making progress towards my goals for Mailana, I'll be happy. As an engineer I always have the option of continuing in complete Ramen Noodle mode to keep development progressing, so I can last a long time.

What’s the big picture?

Largepainting
Photo by Eytonz

So why did I quit my job and start a business?

I’m convinced technology can help big companies execute far better than they do today. Every day when I was at Apple I could see ways to improve how I did my job, if only I had the right tools. The crux is communicating needs. I knew there were colleagues out there willing to share the expertise, resources or external contacts we needed, but there was no way to find them. Equally, I had no way of spotting situations outside our team where we could help.

Everyone there lived on email, almost every decision, statistic, question, answer, and connection was held on the mail server. That was exactly the data we all needed to do our jobs, but the only way we could interact with it was through a primitive client-side keyword search on whatever email we happened to have on our local machine. It felt like the web before Google, the information was out there but effectively dead, since we’d never be able to find it.

I’m building Mailana to solve the problems I ran into in my daily work. The technology’s out there to locate experts, contacts, and documents, once you can break into the antiquated silos that hold all the messages captive. It’s an itch I have to scratch.

How to insert inline images in Gmail

Polaroids
Photo by kk+

One thing I really miss when I’m using Gmail compared to Apple’s Mail.app or Outlook is the ability to include inline images. Whenever I’m trying to explain almost anything I rely on pictures, and if you can’t insert them in the flow of the text they lose their context. It’s tough telling a story if you can’t illustrate it.

There isn’t a technical reason behind their lack of inline images, you can actually insert your own if you’re willing to jump through some hoops:

– First upload the image to a website, using ImageShack if you don’t have your own
– Open up that image in a new browser window
– Do a ‘Select All’ in Firefox to copy the HTML for that image
– Paste the HTML into the email composition box within Gmail

Having to upload images a big pain, and still doesn’t allow the simple insertion of a desktop app. If there’s any Gmail programmers reading, here’s what you need to do to enable inline image attachments:

– Set the Content-Disposition header of the image attachment to ‘inline’
– Set the Content-ID header to a unique identifier (the cid)
– In the HTML body of the message, reference it as <img src="cid:<that identifier>"/>

Gmail even displays messages created like this correctly, so there’s obviously the internal know-how within Google to implement it. The lack of this widely-requested feature several years after launch is a real shame, and part of the reason I’ve become worried about Gmail’s lack of progress. Here’s hoping they’re busy behind the scenes!

OpenMapi makes an Exchange-killer possible

Openmapilogo

Scott Chaslin just alerted me to the launch of OpenMapi.org. MAPI/RPC is the proprietary protocol that Outlook uses to talk to Exchange. Unlike open standards like IMAP, it deals with the full spectrum of tasks, appointments and contacts, not just mail messages. If you want to write a drop-in replacement for an Exchange server that supports Outlook, it needs to talk MAPI/RPC.

MAPI/RPC was traditionally both secret and very hard to reverse engineer, so solutions like Zimbra required you to install a connector add-in on every PC running Outlook, to communicate in some other protocol. This was a big barrier to adoption, since it means supporting and maintaining all those client installations. The barrier started to crack as companies like PostPath started offering their own emulations, and Microsoft themselves released documentation on the protocol.

What's exciting about OpenMapi is that it offers an open-source implementation of the MAPI/RPC protocol. Now this is in the wild, it's possible to develop your own server that looks exactly like Exchange to the outside world! Potentially, you could deploy a new solution silently, without all the Outlook clients even knowing anything has changed. This could be the first step in turning enterprise mail servers into a commodity. The actual transport technology behind email servers is a well-understood problem, and if you look at the history of Samba you can see what happens when you free up a core Windows service to talk to any back-end. I'm hoping this will lead to a lot more alternatives to Exchange popping up, it should dramatically lower the barrier to entry.

Personally the most interesting part is the proxy server, which should let me write a component that sits between the real Exchange server and all the Outlook clients, pulling out information I want like attachments, but passing on the rest of the work to Exchange. The real test will be how complete and robust the MAPI emulation is in practice, I'll let you know once I've put it through its paces.

[Update- I was getting confused, this description actually applies more to OpenChange. OpenMapi is not focused on the binary network protocol, and more on the actual programming interface offered by MAPI. See the comment below from Thomas]

How you can build trails by shopping at REI

Reilogo

As a rabid hiker and mountain biker, I love REI. They’ve also been long-term supporters of the Santa Monica Mountains Trails Council’s volunteer trail building, for years giving us grants for equipment and publicizing our events, often even bringing their own staff along.

Last Saturday I was chatting to Jennifer Day, the outreach officer at their Santa Monica store. She’d not only brought along a crew of volunteers to work on the trails, she also supplied free t-shirts, juice and raffle prizes. She mentioned that REI ran an online affiliation program we might be interested in. It’s a generous 7% of any purchase someone makes through the website after clicking on the ad. Since most of our members are already heavy REI shoppers, and there’s free shipping to the local stores, this was money for nothing we could spend on keeping the trails open.

There’s no catches, all you have to do is click on the ad here or in the sidebar, and for the next 30 days any purchase you make online will mean a 7% donation to the SMMTC, for the same price you would have paid anyway. If you have an organization you’d like to help instead, signing up for their affiliate program yourself is easy too.

Click here to start donating

Bike the Las Llajas/Rocky Peak/Chumash loop in Simi Valley

Lasllajasoilwell

There’s miles of wild hills north of Simi Valley, but few marked trails since the area’s mostly still owned by oil and gas companies. We did some exploration on our bikes yesterday, and found a challenging 9.5 mile loop that heads through there. It starts off near the north end of Yosemite Avenue, winds up along the Los Lllajas fire road, switchbacks up a hillside, connects with Rocky Peak fire road, and you can then take Chumash single-track back to your car. Here’s the map.

View Larger Map

From the 118, take the Yosemite Avenue exit and drive north for about 1.5 miles. Turn right onto Evening Sky drive and go about another half-mile until you see a gate across a fire road on your left, together with a small information sign. Park on the road, there is usually plenty of room.

Take the fire road for a short distance until it joins the main Las Llajas route. At this point it’s paved, though inaccessible to vehicles. Turn right and head down the hill. You’ll now stay on this road for around 3 miles, as it winds along by the creek. It climbs gently, and there’s some good shade from oaks along the way when you need to rest. About 2 miles in there’s a first gate, which should be unlocked but kept closed.

At the 3.5 mile point, you should see another dirt road heading off to the right. If you miss that, you’ll come to a second gate festooned with ‘Keep Out’ signs, the entrance to Las Llajas ranch, and you’ll need to head back a few hundred feet.

This dirt road climbs up the hillside and links up with Rocky Peak fire road. A little way up you should see an old oil pump. Checking the gauges it seemed like there was still pressure underground, and it seems in good shape. It’s around a mile up to Rocky Peak road, and I found it a pretty brutal climb, especially in the sun.

When you reach the top of the ridge 4.5 miles in, the road connects with the Rocky Peak trail. It looks like you could head towards Oat Mountain if you turned left, but to loop back to the trailhead turn right. There’s a short climb and drop, and then a long, tough slog to the summit.

Chumash single-track starts on the right side of the Rocky Peak fire road a ways after the summit, around 6.2 miles from your start. There isn’t a sign, but there is a large charred post with some illegible blue paint on it, and the trailhead itself is fairly obvious. It’s about 2.5 miles long, and the first half is fairly technical, with some tricky rocks to hop around. You’ll drop down into Chumash Park, and there’s lots of different variants on the main trail in there. Most of them take the same basic route, but you should watch out for a small side-trail heading to the right when you’re nearly back to the main Chumash trail head at the end of Flanagan Drive. Take the side-trail over to Evening Sky Drive and head half a mile back to your car.

 

The strange transformation of Bradford and Bingley

Bradfordandbingley

Amongst all the other dire news today, I heard that Bradford and Bingley had failed. This brought the crisis close to home, since I’d had an account there since I was a toddler. My parents had set it up for me when it was still a ‘Building Society’ (a customer-owned organization like a credit union). Back then, the only way you had a chance at a mortgage was if you had been banking with someone for decades, so starting an account early was essential.

By the time I was a teenager, things had changed. The loan process had started to become automated, and the loan officers were given less and less say in the decision. A decade ago, the mortgage business had become so profitable that B&B gave up its mutual structure, distributed shares to its customers and jumped into high-risk, high-profit areas like liars loans and buy-to-let mortgages.

I don’t have the expertise to enlighten anyone on what’s happening in the markets, and as Megan McArdle says, it’s amazing how all the things you were against before the crisis, caused it. What does astonish me is how far we came in three decades. When I was born, you had to have a massive deposit, glowing references, a long history with the firm and the personal approval of your local bank manager to get a mortgage from B&B. A year ago all you needed was to turn up and pass the ‘fog a mirror with your breath’ test.

What your mother didn’t tell you about game programming

Irmother
Photo by Cobalt123

Out of nostalgia I was looking through an article I wrote for Gamasutra back in 2001. I still stand my focus on "actually getting the damn game shipped", and it was fun to see how my thinking was moving towards agile programming methods, though I’ve never worked in a team that embraced it 100%. My favorite part was rediscovering the classic essay How to write unmaintainable code by Roedy Green.

"In the interests of creating employment opportunities in the Java programming
field, I am passing on these tips from the masters on how to write code that is
so difficult to maintain, that the people who come after you will take years to
make even the simplest changes. Further, if you follow all these rules
religiously, you will even guarantee yourself a lifetime of employment,
since no one but you has a hope in hell of maintaining the code."

Everyone writing code should read it if they want to avoid killing their projects with toxic code.