Dear Justin, Part 1

Published 20 June 05 by Justin French, 6 comments

I am a student at the University of South Florida and currently enrolled in the Computer Science program. I want to start doing web application development and hopefully by the time I graduate in December 2006 be able to start my own freelance developer and web hosting company.

First things first, I urge you not to split your focus on both development and hosting (assuming your idea of hosting is getting some kind of reseller account with one of the popular hosts, and on-selling that space to your clients for a profit).

It may sound like a cool way to make a few bucks, and it’s tempting to say “yes” to any-and-every kind of income stream you can get when starting out, but the truth is that even reselling is a lot of work. You have to chase up payments, help really dumb clients renew their domain names after they expire, answer truckloads of really boring emails, and worse still, you have to act as a middle man.

You can forget going on holidays, long weekends, or even turning your mobile phone off unless you have other staff to share the workload, because you’re the sole point of contact between the customer and the host.

And let’s face it – people have high expectations on hosting these days. They expect email responses in minutes, not hours or days, zero downtime (yes, even for $5 a month), and they expect help with almost everything (even if it’s not directly related to the services you’re charging them for. Ultimately, you have no control over the server, so you’re just a middle man helping the host to make money, whilst doing most of the work.

What I realised a while back is that by focusing on my core strengths and the key things that I enjoy doing, I actually had the potential to make more money, provide my clients with better results, refine my skills and be be more productive as a freelancer.

I cringe at the amount of time and energy I wasted on my “hosting business” which could have been better spent working on things I truly enjoyed, or things that simply made more money.

I’d suggest you find a host that you can trust (personally, I found TextDrive to be perfect for my needs), and recommend your clients host with them direct. Sure, you don’t make any money out of it, but you also don’t have to chase up a payment or answer another 5-in-the-morning phone call ever again.

I am having trouble choosing a language to learn for web development. Do you have any suggestions? And should I start out learning PHP5 and then go to Ruby.

I think you’d need to learn both, because they’re quite different tools. PHP has immediacy and simplicity. PHP is in high demand, and there will always be work out there for a developer who can find their way around some PHP scripts.

Ruby on the other hand does not have that immediacy and simplicity, but it is a powerful, beautiful language that makes writing code a pure joy. And let’s face it, Ruby has Rails – I’ll never build another serious web application without it!

Is there enough work for me to find only knowing Ruby?

Ruby and Rails have a lot of momentum building behind them, and I can only see things getting bigger and better. But honestly, if you can find clients that want to hire you, they’ll listen to your opinion, and take your recommendations.

In some cases, Rails will be a blindingly obvious choice for a project – for web applications, I believe you can achieve more per hour with Rails than with any other web application framework out there (in PHP, or any other language), and a smart client will see the light.

I am also interested in learning how you started your business – well if you don’t mind sharing? How should I start gaining experience? I would appreciate any assistance you can give to me.

I got started early, and built slowly. I began freelancing during my three years at University (in addition to a part-time job). At the end of my third year, I changed the hours on my part-time job so that I could freelance for “real” clients during business hours and “pay the bills” late nights and weekends. About a year later that I finally I felt comfortable with my freelance workflow, and I quit the part-time job.

I basically took any little design job I could get, as long as the client seemed trustworthy – business cards, letter heads, newsletters – whatever. It gave me valuable experience, and I believe it put me well ahead of my class mates when we all went out into the real world.

Where did I find these clients? Friends, family, family of friends, strangers, etc. You have to get out there and take anything you can get (as long as you feel the client is trustworthy). You have to pimp yourself. In the beginning, no one else will do it for you.

I remember walking into a drum shop, and whilst talking to the owner, I told him what I did. Two minutes later he was asking me to redesign his business cards. That small job lead to building signs, a bunch of flyers, press ads, newsletters, catalogues and referrals from his friends, most of which were in bands. This all lead to a bunch of CD cover and poster work, which is pretty much every young designers dream job, right?

On the web side of things, my Uncle was a programmer who decided his new business needed a logo, some stationary and a website. I was thrown in the deep end, but it worked out really well – for each new “website” client he found, he pulled me in as a sub-contractor to work on the design. For each website client I found, I pulled him in for the technical side of things.

Eventually I became frustrated with his processes and methods (he’s both talented and successful, but I don’t agree with his way of doing things at all), and decided to take on the technical side as well.

It started small, but I eventually worked my way up using nothing more than a few books, some online tutorials and a truckload of experimentation. A few weeks battling with WYSIWYG was followed by raw HTML, JavaScript (the bad kind), SSI, PHP, XHTML, CSS and finally Ruby. Somewhere along the way I looked at Perl, but never really picked it up.

Providing my clients with both the visual solutions and the technical solutions was the best move I ever made.

  1. I could see a project through from start to finish, with total control over the final results (something definitely lacking in my earlier collaborations with “technical” people).
  2. I basically doubled my income stream. When the print design work dried up, I usually had some web projects to work on, and if web design work was slow, I usually had some technical stuff to keep me up late, and vice-versa.
  3. I could keep myself interested and motivated by changing the sort of work I did from month-to-month.

I’m aware this partially contradicts my earlier suggestion that you should focus, but you’ve got to pay the bills and further your career, right? If I didn’t diversify into programming, I’d have grown sick of design and moved onto a completely unrelated career path by now.

Oh boy, I’m digressing!

In my humble opinion, the key to starting a freelance career or small business boils down to a few very simple ideas:

  1. develop strong social and communication skills
  2. learn how to sell yourself and your ideas
  3. treat your clients with respect and honesty (and demand the same in return)
  4. make sure every client walks away happy (actually ask them if they’re happy, and if they say no, ask them what else you could do to make sure they are, then do it)
  5. operate transparently and openly (if I outsource some work, make a deal somewhere, or stand to profit in some way, I let the client know)
  6. make the client part of the solution by involving them in the decisions

I never advertised, I never really went out looking for work and my own website was a joke. Instead, I made sure my clients were 100% satisfied, and they became my sales force and advertising campaign.

If you’re having trouble gaining real world experience with paying clients, you can always offer to do work for free. Non-profit organisations always need new websites and intranet applications, your friends will always have new business’ and other friends that need a helping hand. Join some open source communities, contribute to something big, etc.

You’ll also need to remember that you’re running a business, so you need to spend time on accounting, tax, billing and business growth.

Options

What is this?

portrait of Justin

This is the online home of Justin French, a designer & web application developer located in Melbourne, Australia. I like finding ways to make things work better. I like clarifying and simplifying. I like to understand how you understand things.

» read more

Subscribe to my feed

Follow me on Twitter

@justinfrench

More Notebook Articles

Show more notebook articles

Search