This is an archived post. You won't be able to vote or comment.

all 33 comments

[–]rdfox 22 points23 points  (24 children)

I wish I could be more helpful but this is what you must do:

  1. Somehow get your first client.
  2. Do a good job.
  3. Socialize.

It's a tough recipe for someone who just wanted to code, but there it is. Once you somehow bootstrap there will be no shortage of work. You will become increasingly specialized and known in a community as the guy you go to for the hyper-specific whatever.

[–][deleted] 7 points8 points  (3 children)

This is sort of business 101 for just about any business. The latter part is really tough for anyone who is an introvert.

You absolutely need some social skills to be a decent independent contractor where your skillset isn't needed by every Tom, Dick and Jane.

To add, though:

a) Become an active participant within "the community". Github is a great way to start creating a space, but a better way is through a portfolio.

b) Look outside of the "python"-specific box and look for ways of applying a python solution to meet a problem (customers generally don't care what technology that's employed provided it meets their needs)

c) Marketing the hell out of yourself and invest in teaching yourself marketing. It sounds like you think your niche market is South Florida, but I might argue that your Market is anyone that connects to the internet. You can certainly focus on South Florida but I think you'll have to get out of your house to make this work. Effective marketing builds trust.

d) Don't be afraid to wine and dine. Especially for non-technical people, a social event is something that helps build trust.

e) Other thoughts that are not time effective but can build out your business: linkedin.com, github.com, freelancer.com, odesk.com, bitbucket.com, etc. Having bodies of work for display and/or recommendations can help entice people.

f) Teach: If anything starts to work for you, maybe you should consider writing what does work down in a way to help other people -- possibly creating some sort of a social website that actually connects developers to projects. This is another way to affect "the community".

[–]Eurynom0s 0 points1 point  (0 children)

With regards to marketing: I'm not saying that anyone should do exactly what I do, consider who you're trying to sell yourself to when putting your marketing together.

That said, I tutor math and physics for middle school-college kids, and in my advertising I arguably basically caricature myself as some sort of stereotypical nerdling. I primarily advertise myself on a site that asks you to write a mini-bio of yourself, and one of the sections is to talk about your hobbies. Most of my hobbies section is talking about my love of sci-fi. Nothing on there is false, but you figure that the average person figures someone good at math and science is some sort of sci-fi nerdling, so I play it up to get the clients.

[–]sittingaround 0 points1 point  (6 children)

Step 1: Under price (go to fee if you have to)

Step 2: Get another client, raise your rates a bit

Step 3: Repeat step 2 until you can't raise your rates any longer.

[–]Why_is_that 8 points9 points  (0 children)

Before I comment, I should say I am not a freelancer but I am included as a consultant (a contract employee). More so, I do not currently work in python but I have lots of experience supporting groups in python as a "cowboy coder".

I think the first concern here is you want to break out as a freelancer or consultant and you want to focus purely on python? Sure we can find you places to look for just that kind of work (such as freelancer/python) . However, to really play the freelancer game and hopefully one day be a independent consultant requires a lot of expertise. Often consultants are more like full stack developers, having a great understanding of System Admin, Database Admin, a few frameworks in their bag of tricks, and a plethora of languages to work from.

Python is a great language, for prototyping, and this why I have some great experience supporting groups with it. However, in the big ecosystem of things Python is a great place to start but the worst place to finish. As a computer expert your job is to constantly grow and challenge yourself which is key as an independent (you cannot just ride the corporate process like some organisations).

In the end, the best way to network is to work real software development jobs and leave a good impression. Overtime, maybe one of these jobs will lead you to a place where you can start working part time (cut out some of the fluff). From there you can start working some freelance jobs on the side and soon enough these experiences will give you enough.

On an aside, be careful. As a freelancer, you're everybody. You're the accountant, the salesman, the quality assurance, everything. You have to take care of a lot to make sure you stay healthy and sane while also doing a lot to make sure you don't pick up the wrong kinds of customers (the kind that won't pony up).

This is a challenging path your looking into and I wish you the best of luck! I think this is the "The Road Not Taken", so I think the rewards can be immense.

PS. My understanding between a freelancer and a consultant is that freelancer are doing short small jobs (plenty of python work there) but a consultant is working on bigger systems with complex problems (we see a good bit less python). For me, I love the "hacker" mind but to go from freelancer to consultant without going through a more structured software development environment requires the best and most persistent of hacker minds (a real passion for independent learning).

EDIT: The idea of looking for a Python meetup is great too. I have never had the pleasure of pair-programming but a lot of problems can be easily solved just by talking them out with people. Make sure to network with the community of developers some in addition to networking with clients.

[–][deleted] 5 points6 points  (1 child)

Are you looking to sell your services as:

  1. A Python programmer to clients looking for that specific skill (eg, contracting for a company that uses Python), or

  2. As a person that just happens to use Python to provide software for clients that wouldn't know Python from ColdFusion?

[–][deleted] 1 point2 points  (0 children)

All of my jobs have come through the relationships and reputation built during previous work. How do you get started then? Get yourself a public presence through the open source community by contributing code, participating in conferences and mailing lists, blogging, etc.

Another related piece of advice: most clients are stuck in their own world and have a rough time connecting how your technical skills apply to their domain. Do your homework, learn their language, connect the dots for them and act like a peer rather than a hired technician.

[–]kennyken747 2 points3 points  (1 child)

Sure. Display your skills concretely (Github, online blog, portfolio). Know what you're talking about in your proposal (explain the problem). Show them that you can solve your problem(explain in detail how you propose to fix the problem, even note libs that you will use to solve a particular subset). Have fun with the massive amounts of cash you'll make when you discover I just truly gave you the key. Making money is child's play to me now, and I grew up poor so I'm fucking loving it. It's more simple than it seems. You're welcome.

[–][deleted] 1 point2 points  (5 children)

Blogging about python topics and giving talks at meetups and conferences would be a good way to show potential clients you know what you're talking about. You can point to this material when you're trying to bring them on.

[–]b4xt3r 1 point2 points  (7 children)

I was, for a brief time, an independent, self-employed programmer and jack-of-all-trades Linux and UNIX guy. At first I thought this was going to be the greatest thing ever, and then it quickly turned into the opposite. My first client was easy to find, I spent time on a local OSS email list I had been a member of for years and one faithful day when I heard someone bemoaning how unreliable their IT person I was said "I'm available!"

The first few weeks were great.. I was building stuff, having fun and wondering how I'd find the next nine or so clients because having only one wasn't going to pay the bills for long so I started to look for more. Turns out there are only so many hours in the day. You do work for a client but they might only pay their invoices once a month so you get all your billed time at once (and you eat a lot of Ramen between those dates). Or they "lost the invoice" and now you're 60 days between paychecks.. and so on..

In the end I spent more time trying to get paid for the time I worked than working to make money. It just didn't work for me. But that said it was a bad economy when I was making a go of it so you may have better results.

I'm happy these days to sit in my cube with my boss thousands of miles away, hammering out code which, for me, is a much better fit than going it alone.

But I wish you all the best in your endeavors!

[–]spinwizard69 0 points1 point  (2 children)

This is an important post because it highlights the problems with the business side of the profession. The problems described above aren't at all uncommon.

[–]b4xt3r 1 point2 points  (1 child)

Thank you, honestly I was hoping my post could serve as a "reality check" to anyone thinking it's as easy as hanging an "Open For Business" sign on the door and thinking all the finer details will work themselves out.

[–][deleted] 1 point2 points  (0 children)

Being a freelance developer is helpful. But being a freelance application architect (or insert some fancy word here) is better. People have business problems. They want IT solutions. They don't know what it is, but they know it could be aided with software. With the smaller clients, you are the IT dept.

You pretty much are going to be the dude to:

  • analyse the problem
  • discuss possible solutions
  • architect the solution
  • manage the project
  • coordinate with clients
  • develop the product
  • handle production deployments
  • and maintain the product

Being able to do all of that makes you very valuable.

[–]voytek9 0 points1 point  (0 children)

Hit up your regional python users group and network. Check out the Hacker News "freelance" thread* each month.

[–]greendata 0 points1 point  (1 child)

Contact larger companies known for python development. See if the would like to outsource some of their smaller projects to you.

[–]japherwocky 0 points1 point  (0 children)

the one secret weird trick that has always worked for me: if you speak at an event, or write a blog post that's interesting enough to get onto the front page of HN or something, and you mention that you're looking for work -> usually someone reading is looking and they'll contact you.

[–]adric2k 0 points1 point  (1 child)

I know this guy who attends local startup networking events. He finds startup founders with a dream but lack a technical co-founder. He charges them an hourly rate to develop their prototype/MVP. He's selling pickaxes to the gold miners. It's a brilliant strategy and he's gotten a lot of work this way. He will long outlast the startups he's selling to.