Hacker News new | past | comments | ask | show | jobs | submit login
How to Become a Software Contractor (evanmiller.org)
219 points by darkxanthos on Dec 21, 2010 | hide | past | favorite | 33 comments



Convenient timing on this article - I'm strongly considering starting a contracting business in the new year and "How Do I Even Do That?" is at the top of my list of questions.

This article isn't as fully-featured as I might like (I mean, a step-by-step "Here's How Dan Hulton becomes an in-demand contractor" section would be ideal, but hey), but I really like the last section about: "In the chef's kitchen, the knife that can cut anything, cuts nothing."

One of the biggest pains I went through in my current job was setting up FileMaker databases to be read over the internet. I've developed extensive expertise in this area, and was forced to learn from scratch, since there really doesn't exist much in the way of helpful advice on the internet. Apparently, not many people do this.

I'll have to look into this as an avenue.


You might like this guide then:

http://unixwiz.net/techtips/be-consultant.html


jacquesm put together a pretty good guide last year as well: http://news.ycombinator.com/item?id=848370


That was an EXCELLENT read, thank-you.


Is it more involved than setting up filemaker server and publishing the link; plus adding a few ports in the firewall?

I am also curious about the benefits of filemaker over a standard sql database(mysql, postgresql, and sql server or oracle if you want to pay for it)?


My expertise lies more in what to do AFTER you've established this link.

Filemaker has a PHP API library, however the documentation is choppy, and the PHP itself is obfuscated. There's a lot of questions you'll run across that you have to figure out entirely for yourself. (Like how to differentiate between AND and OR in your queries, how to do IN-style queries, etc.) I've figured this all out the hard way.

FileMaker isn't designed to replace a standard SQL database - it's an entirely different beast. Think of FileMaker like Microsoft Access. You design your layouts and data in FileMaker and people in your organization connect to it USING the FileMaker Pro application.

However, eventually you want to be able to make some data in FileMaker available over the web. Perhaps you want to publish a schedule on your website and that schedule resides in FileMaker. Or maybe you want people to be able to submit contact requests from the web, and have that start a new project in your issue-tracking FileMaker database.

That's where I come in.


Ugh. FileMaker. I had my first exposure to FileMaker on this current contract. What a bunch of time wasted trying to get it to work.


I have to agree here, having worked with Filemaker previously. However, it really does shine for small business type applications where you need to set something up in a hurry, have only a handful of people using it and they're not very technical. Once that business grows though (eg. they need SQL/Web access) then you're better off migrating to something else.


<plug>My startup http://www.formlis.com (a hybrid wiki and database) is trying to compete in this area</plug>


Yep, that's basically my experience, too.

However, that seems to be EVERYONE's experience, which makes me think that it's a good spot to become an expert in, since nobody else wants to go through and learn it.


I'm a freelancer.. I develop stuff that interests me, facebook applications and integration. I love it because a lot of the time my friends get to see what i work on instead of me just doing some backend coding that they wouldnt know anything about, i can normally go.. "yes, that is my work"

Most of my business comes from agencies who outsource such skills, maybe design agencies who don't have coding skills or facebook expertise. But I do gather work from the odd startup.

How I landed into contracting? I downloaded wordpress, setup a trivial website and optimised the site for adwords.

Adwords has been my biggest source of work from the start but its only a starting point. I have built up relationships with guys who will pass me work over and over. I use twitter and facebook to connect with the agencies to constantly update changes within facebook and the new work that I do.

Most of the agencies that I work with have multiple clients from different sectors and what works for one of my clients may work for a client of theirs completely different to whom they originally contacted me about.


I don't suppose you can be more specific in terms of "optimized the site for adwords?"

Like, you mean SEO for contracting terms and such?


Optimised to convert.. would be a better way to put it. people waste lots of money on adwords by not having appropriate calls to action, or simple things like adding a number you can call, will also improve conversion rates


I think the question (or at least the question in my mind) was more along the lines of how you were using AdWords. Like, the way it's described, it sounds like this:

1. Set up a WordPress site consisting of a more long-winded version of "I'm awesome! Hire me!"

2. Buy a few AdWords listings for terms along the lines of "Awesome web developer in Tallahassee," linking to said WordPress site

3. People from agencies click on the AdWords links and hire you

Is that right? It sounds like I must be missing something somewhere, because I've never heard of legit agencies hiring through AdWords.


I have an interesting niche for contracting too: I'm pretty good at UI & back-end at the same time. So instead of a company needing to hire two different developers, they can communicate with one person about their overall product easily (having good communication skills is very important too).

Actually, I think to be a successful contractor your reputation is even more important than your skills (though they certainly can't lack either). Businesses appreciate clear writing, quick answers, politeness, prompt replies and humility when you break something (you will at some point).

If you respond more quickly and can communicate more clearly than the elite hacker next door... most businesses would prefer you. I think blogging also helps to sharpen your writing skills too.


> I have an interesting niche for contracting too: I'm pretty good at UI & back-end at the same time.

Don't mean to piss on your fireworks but any company that's going to be able to pay you worthwhile contractor fees is going to have budget to hire a UI guy and a backend guy, and probably a product manager in between them to manage communication.

If you were on the other hand a usability expert with blog posts, conference speeches having invented practices that are now 'best practices' (e.g. you were advocating CSS when tables were the norm) then you're the kind of thing the OP is talking about.

Likewise for security experts, SEO experts, front end performance experts etc. I can recall experts in those fields by name as the de facto canonical resource in their given fields, but I can't think of anyone who is known for being a jack of all trades, renaissance man type character.

Though to be fair, it is a lot of fun to dabble in lots of different technologies and fields, and is more or less a requirement for working as a full-time web developer.


Its ok, I wasn't really trying to set off fireworks... just to offer a little of my experience :)

I've found that there are quite a few companies that can pay me worthwhile contractor fees yet cannot budget to have a UI guy, a backend guy, and a product manager as employees.

I know the perspective of the post was from a specialist perspective, I'm just pointing out that there are also plenty of smaller companies that cannot afford 3 full-time employees, or perhaps don't even have enough work to keep 3 full-time employees busy.

This is typically handled by an "agency" of some sort (design agency, development house, etc.), but there is also a large market of small companies that prefer to just interact with one person for simplicity's sake.

Its kind of like serving the "long tail" of companies wanting some sort of software services but can't afford IBM's consulting fees, or a full-time employee to do what they need.


I agree totally that there is a big market for your friendly, do-it-all web developer for small businesses. And you're right in that they probably don't have the budget for hiring specialists in their respective fields. The vast majority of my freelance clients are in this market, so its one I know well.

The part where I have a difference of a opinion is here:

> I've found that there are quite a few companies that can pay me worthwhile contractor fees yet cannot budget to have a UI guy, a backend guy, and a product manager as employees.

Specifically, the definition of 'worthwhile contractor fee'.

The average ho-hum web developer with a few years of experience, the LAMP stack, JS/HTML/CSS who can tell the difference between an abstract factory and an anonymous function in London can easily pick up a £250-£350 ($380-$540) per day contract. I would fall (just about) into this category. This however is not the type of engagement I believe the OP was talking about, and not what I was referring to when I said 'worthwhile contractor fee'.

The sort of fees I was referring (and I believe the OP is referring to also) to are going to be about one order of magnitude higher than the amounts mentioned above. Hypothetically, imagine what sort of fees you'd be paying John Resig or David Crockford to consult on your organizations frontend code, or DHH to consult on Rails, or Steve Souders to consult on frontend performance, or Chris Shiflett to harden your PHP apps security.

While the examples I've given their sound like special cases of internet celebrities, there are really real people making a happy living doing this sort of work at very high (i.e. 'worthwhile') rates. I personally know of technical contractors who are paid more than £1k/day (specifically in database performance, and website conversion), and thats just within my immediate circle.

On the other side of the fence, at one one of my previous companies (which wasn't that big, 30-40 staff) we had a team of developers with QA, a separation between front/back/sysadmins, but no one with dedicated database performance experience/skills. We had budget for (and would have gladly paid) something like £10k for a database performance specialist with good references to come in for a week or two, show us what we could do to make our db perform better at scale and establish some best practices for doing things right going forward.


Ah, ok. Yes, you're right then I'm probably not making "worthwhile contractor fees" then. We're pretty frugal considering we're a family of four living in a very nice part of our city.

However we also live in one of the cheapest areas of the U.S. So my rates would probably be seen as a pittance in any globally relevant metropolitan area.

Also this is certainly not the type of engagement the OP was talking about, I just thought I'd offer up a counter-point that you can also make a decent living contracting and not have a niche.

Or rather, make a living in an economic niche instead of a technical one (but still with technical skills).


A competent generalist is a specialist too.


Revisit The Mythical Man-Month.

Having multiple developers and a manager means the project is going to get bogged down in meetings and communication.

Sure, he may be slightly cheaper than hiring a UI guy and a backend guy and a product manager, but I bet he's actually faster, too (at least in some situations).


Not applicable. The Mythical Man-Month says that if you have a library of 10 functions, getting 10 people to work on it will not get it done 10x faster than having one person work on it. If you have a team of three where one person does A/B UI testing, the second fixes memory leaks in the data storage backend, and the third sends bills to the customers and goes golfing with potential clients, well... that's not what the Mythical Man-Month is talking about. That's simply a well-run business.


I didn't really set out with the goal of being an open-source contractor. It just sort of happened, like sex with a much-older neighbor.

Can't really argue with that analogy.


I always like to think that analogies are supposed to make the point easier to understand by relating it to something familiar to the reader, sort of how people explain programming language features by comparing them to other programming languages. You want to give the reader the gist of the idea that they know nothing about by comparing it to something they know something about.

I'm not sure what purpose this analogy served in terms of clarity. It was a bit of a speed-bump in the reading. However, it was amusing and made me briefly wonder if being a contractor was similar to being promiscuous.


It is what's known as "subverting the form" or more simply "poetry" and it's a luxury afforded to those dealing with human-to-human language as opposed to human-to-computer language.

You're right, the analogy is not as near as the author could have come to an illuminating isomorphism between the two concepts. In many ways you're right, it could be taken in a way that makes the meaning less clear. However prompt illumination is not the only or even the most important purpose of analogy in language.

Interestingly, your own analogy (metaphor?) of a speed bump also transcends its immediate meaning as you intended it. By making you drive (read) more slowly, it also makes you drive (think) more carefully.


I actually think the best analogies are the ones that are close enough to make the point and far enough away to be funny. An amusing analogy is much more 'sticky' in the receivers mind than a highly accurate one. It's like the old memory technique of associating something mundane with something absurd.


The article is great, but one attempting to duplicate such achievement has to be aware of survivorship bias.

What I mean, author picked writing nginx extensions as his area of expertise. At the time of his first contract nginx was just gaining ground. If nginx didn't become popular, all that positive notoriety in nginx world would have been for naught.

Working on different projects with different toolchains, I have come across many people who are experts in their niche. They do not get contracted as experts often.


Did this part strike anyone else as strange, given he was dealing with a start-up?

When I went to pick up my check, the CTO said the company liked what I did so much they were giving me an extra 500 bucks just to say thanks.


I had a gig of iPad app development. It was from a company that wanted to do proof-of-concept and had a limited budget. Since I code during my free time anyway, I just took it up and learned a lot of business-related stuff like how to discuss requirements, quotations and invoicing along the way. I would say this is an eye-opening journey that worths much more than the money I earned. :)


For anyone who hasn't seen it, also check out Jacques' excellent guide on this subject as well:

http://jacquesmattheij.com/be-consultant


I didn't really set out with the goal of being an open-source contractor. It just sort of happened, like sex with a much-older neighbor.

I can't help wondering if there is a story there!


Oh god, so other people have to go to Code Detox as well. It feels so good, finding out you're not alone.


Incidentally, I am currently looking to hire a PHP or Ruby programmer who has experience building out SaaS-style web apps. You know -- account creation, forgot password, billing integration via PayPal or Recurly. I don't care if this is your first ever freelance gig, just that you have built web apps before, and can do so quickly (it's a practiced skill). Email's in profile if you're available.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: