Hi! My name is Malcolm McFarland. I‘m a programmer living in San Francisco and specializing in Python systems programming (using tools like Flask, ZeroMQ, SQLAlchemy, Django, CherryPy, etc), Javascript-intensive frontend programming (using jQuery, Bootstrap, BackboneJS, etc), and general systems management (with Linux, AWS, Docker, Fabric, etc). You can view my full resume here.

back to index

May 22, 2015 16:58

Reflections on Freelancing, mid-2015 edition

Much of my professional working life has been spent in an office of some sort. I’ve worked for bigger companies (several floors’ worth of office space) and smaller startups (just one room!). There are some positive aspects to this kind of life:

  • Social interaction: I’ve been lucky to work with many very bright people. I’ve gotten to participate in interesting discussions on a wide variety of topics, be part of project planning meetings, maintain a closely-coordinated pace
  • Focus: Offices can be great for working! Being in a space that is setup to facilitate working can reduce distraction and increase productivity.
  • Time management: going to/from work really helps with breaking up the day into working and non-working portions. (I know there’s research that this line is blurring).

Although these are substantial benefits, working in the office can also bring challenges:

  • Social interaction: Usually, when I’m “going to work”, I want to work. I mean, I want to get work done when I want to get work done, and at these times productivity is more important than sociability. Some places are great for this, but there’s always the chance that a PM is going to walk up to your cube and distract all of that carefully created progammer-state right out of your head.
  • Focus: You have to focus while programming. Really. A lot of abstract little details are floating around in your head at once. I’ve heard that some offices are really well set up for allowing programmers to dive into a task uninterrupted (i.e. Microsoft, FogCreek), but much more often, it’s an open office plan with little intellectual privacy (Facebook being the most recently notorious example).
  • Time management: Productivity is generally higher when you’re prepared to work, not always when you’re expected to work. Everybody has their own schedule for this.

A little over a year ago, I decided to make a go of it doing remote development full-time. I’d previously taken some gigs between jobs; this time, however, I didn’t have any immediate leads, and so I struck out into the vast and messy world of freelancing websites. It was a rocky start; the better known of these (Elance, oDesk) are review- and rating-driven, which tend to bias towards users with previous positive reviews (a sort of herd instinct). Wanting to give it a shot, I took on a few short-term, low-paying projects to test the waters and build my profile.

One thing that immediately struck me about this process was the flood of worker candidates offering rates well below my local market rate. This is a commonly quoted problem with these sites: the torrent of job-seekers offering $5/hour for what – at least on the surface – seems like equivalent work. Python development is Python development, right?

Dear reader, please believe me when I say: I am a professional software developer. Really. And like any experienced tradesperson, when you come to me with a problem, I’m going to draw on my skills and experience to help you find a solution. I’ve worked with web frameworks, databases, queueing systems, cloud clusters, authentication systems. So when I look at these jobs and see 30 applicants with technofuture organization names offering barebones rates, it feels…muddied. Conversely, there are also so many potential employers asking for something like “Bitcoin exchange site- $500” that I sometimes lose faith in humanity.

While recently checking out the current freelancing landscape, I came across TopTal. TopTal seems be a curated freelancing site; they profess to rigorously screen both freelancers and clients in an effort to maintain a high potential for quality interaction. No more $7/hr client meets $250/website employer – this site promises to connect people that are serious about doing work with people that are serious about their work requests.

I’ve only just begun the application process, but so far, things already seem much improved over <>. The first step in the screening process involves filling out an application form. This form has questions covering work history and experience, code samples, and personal acheivements, as well as desired work and culture. This is just step 1 out of 5 (the others include coding tests and phone interviews, which is also a promising sign), but I already feel like this process has more focus than many others out there.

So how will things go? Will I make it in, and will I like it if I do? I’ll try and post updates as things go along.

Hi! My name is Malcolm McFarland. I‘m a programmer living in San Francisco and specializing in Python systems programming (using tools like Flask, ZeroMQ, SQLAlchemy, Django, CherryPy, etc), Javascript-intensive frontend programming (using jQuery, Bootstrap, BackboneJS, etc), and general systems management (with Linux, AWS, Docker, Fabric, etc). You can view my full resume here.