Freelance web design/development for a newbie - is this feasible?
September 24, 2009 10:16 AM   Subscribe

I am planning to leave my current job in about a year, and hope to be able to make some money (I don't need a lot) by doing freelance web development/programming. While I have a bit of experience with programming and very basic web design ((X)HTML/CSS), this would pretty much be a new field for me. I guess I'm wondering - is this a realistic goal? And if so, what steps should I take to help me get there?

I have a couple of advantages:

I have access to a number of different tools through my current job, including the Adobe suite (photoshop, illustrator, flash), and I've been working on teaching myself how to use them in my spare time. If there are other programs that might be useful for me to learn to use, I can probably get access to them.

I also get to take very cheap but very respectable comp sci classes. I am currently taking a class on Java and a class on how to build dynamic websites using AJAX/PHP/MySQL.

Right now, my plan is to take these classes (plus two more in the spring) to learn as much as possible, keep teaching myself how to use flash and illustrator (I feel really comfortable w/ photoshop, but I've heard it's inferior to illustrator for design purposes), and trying to get some "real experience" by making websites for friends and entering contests at places like 99designs.com and kongregate.

(It's worth mentioning that I'm not looking to be at the top of the field - I was thinking of marketing myself more towards small businesses and small nonprofits who don't need anything too fancy.)

Again, two questions - Is this doable, or is no one going to trust me to do the job right with so little actual experience? (If this is the case, do you think it might at least help me find temp work?) And if you think it is worth pursuing, what else would you suggest doing?
posted by shaun uh to Work & Money (10 answers total) 12 users marked this as a favorite
 
You would be entering a flooded industry so in that way it would be especially challenging to get consistent work. That said, if you really want to pursue it, I would suggest keep working on projects that teach you new things for the experience and for your portfolio. Since you won't have job history doing this type of work, you need a really strong portfolio that demonstrates what you can do.

Good luck!
posted by Kimberly at 10:47 AM on September 24, 2009


If you study communications, or even technical writing (the general approach of a technical writing class is great for communicating any complex information to a general-public audience - which is what a lot of web communication is), you'll have a huge advantage over a lot of folks.

Also, some basic design and/or color theory will serve you well and help make the world wide web a better place.
posted by amtho at 11:57 AM on September 24, 2009


In other words, it's nice to know how to use the fancy tools, but there's a lot more to it than that.
posted by amtho at 11:58 AM on September 24, 2009


It sounds like you don't have a clear idea what your niche would be; the things you're talking about learning are scattershot all over the map.

Do you want to be a back-end developer or a front-end designer? If you're looking to be a developer, then you don't need to learn Photoshop or Illustrator. And as a developer if you're looking to focus on small-business, mom-and-pop type stuff, then Java is the wrong tool for the job, and you probably don't even want to be spending too much time learning how to custom-build bespoke PHP sites; you'd be better off focusing on learning how to extend or customize one of the existing popular CMSs (e.g. wordpress, drupal, etcetera) because that's all that small-shop budgets are going to allow for.

is no one going to trust me to do the job right with so little actual experience?

A great portfolio can make up for a lack of experience, but the best way to build up a really great portfolio is by having good experience.

I feel really comfortable w/ photoshop, but I've heard it's inferior to illustrator for design purposes

I've got to be honest with you: statements like this one demonstrate a real fundamental ignorance of what actually goes into the job, and make me feel like you have a really long way to go before you have any viable chance of striking out on your own. Illustrator and Photoshop are different tools for different purposes; neither is inferior to the other. (That's even setting aside your implicit assumption that what's necessary to be a good designer is familiarity with the tools. I've got a hammer and a chisel and know how to use them, but that doesn't automatically make me a good sculptor.)

By all means, keep learning, keep volunteering, and keep practicing. But I'd strongly suggest you make up your mind what aspect of the business interests you the most, and focus on getting really good at just that; trying to be a jack of all trades is setting yourself up for failure.
posted by ook at 12:00 PM on September 24, 2009 [2 favorites]


I would like to be associated with the comments made by ook. You need to specialise. Partner with someone else who can do one of the other things: if you want to program, find a designer and vice versa.

As for learning actual languages: 10 years ago, I was hacking perl into a terminal on a Linux box, and that was very much how web development was done. Today, everyone with a grey cell in their heads uses a framework to make life easier and get the job done quicker. The difference is like building a car yourself from scratch from raw materials (coding by hand) vs. taking off-the-shelf components and bolting them together (framework) with the occasional need to manufacture a specialised component. I would recommend using Django, since their website has great documentation and you can put actual websites together without learning too much Python (which is what you'll start learning as you learn Django). I would definitely recommend against programming from scratch in PHP, Python, Perl or Java, etc, because it will make too much work for you.

If you want to use JavaScript (and it certainly makes for some fancy eye-candy and features) much the same applies: use toolkits like jQuery or MooTools. The only drawback with Django at the moment is it doesn't integrate jQuery or a similar library, so you have to bolt the effects on yourself. But I understand it's going to be added sometime.

Summary: work smarter, not harder. Do less but do it better :)
posted by BrokenEnglish at 1:06 PM on September 24, 2009


Response by poster: Ook and BrokenEnglish - you're right that I'm not sure exactly what I want to do. Part of the motive for my "scattershot" approach is to give myself a chance to test out different things and see what I'm good at and what I like doing best. But of course, one of the drawbacks of being new to a field is not having an understanding of how the different pieces work together, or whether they don't work together at all.

My basic thinking is this: I have a knack for programming as well as an eye for design, but my lack of background in both areas means that specializing in either might make it hard to compete. But if I'm working with small businesses that don't need really slick designs or complicated apps, then maybe the fact that I can do both for them will make me appealing.

(This is also why I mentioned/am interested in flash - because it seems (to an outsider) to combine aspects of programming and of creative design.)

But it seems like maybe I should pick one area and focus on improving in that. My main worry would be having to find a partner to work with, given my lack of experience.

Amtho - how would communications/technical writing skills help, in a concrete sense? (That is, how would I integrate those skills into the work I'd be doing?)
posted by shaun uh at 2:17 PM on September 24, 2009


"maybe the fact that I can do both for them will make me appealing"

Jobs I have done: technical author, graphic designer, teacher, sys admin, network manager, web programmer ... plus some other things like the usual tech support, etc. I don't tell people about most of those things because if you present yourself as a generalist or "jack of trades" people respect your abilities less, not more. That's my experience anyway. I have no idea why it's like that -- I think some people assume you can't do more than one or two things in life and be good at them, or maybe it's because most people's idea of a professional is someone who has specialised in one area. So while I can design a website, program it, document it, etc, I find it works better if I stick with the programming and hire a designer. YMMV. However, it does help that I'm fairly nifty with HTML and CSS when I take the basic templates from the designer and have to embed code in them: some re-jigging is always necessary.

Anyway, I sound very negative and I don't mean to be. Programming or design can both be very rewarding and I still get a kick out of launching a website, so I hope it works out for you.
posted by BrokenEnglish at 4:16 PM on September 24, 2009


Start looking for clients while you have a job.

Quitting and looking for work will make you hungry and drive you, but it won't pay bills and building up clientele takes a bit of time.

Start working on a website for yourself now. It definitely won't be the final version, but it will start getting you up to speed on what is necessary.

The small business market is a fairly decent place to start, especially for a generalist, but most of those companies will be shocked that you want to charge $500 for three or four static pages.

Search around for small business organizations in your area and find a business with a current site that you don't like. Rebuild it. Do that four or five times. Now you have a portfolio (obfuscate the business names and details, or replace them with fake similar versions). Put that onto your site. Go to the owners of the businesses of the sites that you redid and say "Hey, I did this site for you. It's yours for $200", then give it to them for $200 if they haggle. You win either way, you've got a portfolio site and an income.

Do a case study about the site redesign - "Company ABC's old site was stuck in 1999 and had flashing banners. Here at MyFreelanceCo we updated it with blah blah blah."

Learn how to make clean html and css.
posted by cCranium at 5:25 PM on September 24, 2009


OK. So there's a lot to be said for experimenting and trying new things; good on you for that. And I'm sorry if I sound discouraging; it's just that supporting yourself as a freelancer is hard, and it depends on a lot of skills and knowledge that are difficult if not impossible to pick up in a classroom setting.

If you're looking at this as a hobby or a way to pick up some extra cash on the side, that's fine, but if you're hoping to make enough money to live on I would really very strongly encourage you to spend a few years working as a web developer or as a web designer before you try to strike out on your own.

Self-directed, "I built this for my portfolio" or "I built this for a contest" or "it was a class assignment" stuff really bears very little similarity to what working with clients or a team on real jobs is like: the technical work of actually pushing pixels or writing code is, I'd guess, about 30% of what you really end up doing all day. The rest is translating the client's fuzzy requirements into a workable plan, being able to incorporate client feedback into your work appropriately, guiding them into what they actually need instead of what they think they need, scaling their ideas to fit their budget, structuring the site so that it's useful instead of just pretty, estimating time and costs ahead of time, knowing how to write your code or build your designs so that parts of it can be reused in future projects, and let's not forget the most important detail, the salesmanship involved in finding and keeping clients in the first place. (amtho's suggestion to try some some communication or tech writing classes were, I suspect, aimed in this general direction, and they certainly wouldn't hurt, but I don't believe there's any substitute for real world experience.)

So. With all that said, let's tackle this specialist-vs-generalist thing:

There certainly is a demand for turnkey, I-can-build-you-a-simple-website-from-start-to-finish generalists. And I think a lot of people who are new to the field tend to gravitate towards this at first, because it sounds easier: the stakes are lower, you don't have to play against the big boys, you don't have to suss out anyone else's code, etc.

Paradoxically, though, this is one of the worst areas of the freelance market to try to break into, for a lot of reasons:
* The budgets are unreasonably low.
* The clients tend to have inflated expectations of what's possible at all, let alone within their budget.
* The clients tend to be less knowledgeable, which means you'll be getting unclear or constantly changing requirements. They'll ask for stupid things, and you won't have enough experience to know that they're stupid things, and you'll both go down the rabbit hole together.
* The jobs are small, which means you have to do a lot of them to stay profitable, which means you have to work quickly, which you can't do if you're not already an expert.
* The burden of salesmanship in finding yourself so many new clients is much much higher -- and when you're new you don't have a network of contacts or word of mouth to help feed you new jobs.
* You're on your own. If you make a mistake -- whether it's a bug in your code or a flaw in your design or just bad methodology or wheel-reinvention that will cost you time and effort unnecessarily -- there's nobody around who can catch it for you or show you what you're doing wrong.
* You're on your own. You'll learn bad habits and never notice it. You'll build in security flaws and problems that nobody will notice until a year later when a pissed-off ex-client comes complaining to you that their site's been hacked. Etc.

I've been freelancing for years, and even as an experienced guy I hate that market. I'm convinced the only way to make a decent go at it is to run a chop shop: hire an awesome sales staff, a decent writer, and a couple of hack designers who know how to slap a logo into a wordpress template and call it a day.


A much better way to go about it, in my opinion, is to find yourself a niche, get good at it, and freelance either to larger companies where you'll be working with a team, or work as part of a collective of partners (whether formally organized, or ad-hoc "yeah I know a good programmer I can recommend if you want me to work on the design" relationships). Hell, go work for a chop shop for a while: it'll suck, but you'll get to see a ton of clients and ten tons of bad ideas in a very short period of time, and you might come out of it with some contacts. Working with a team gives you some structure, spreads the responsibility around, and lets you build your skills at that one specialized thing to the point where it would actually make sense to hire you.

The work is actually easier, the pay is better, the jobs last longer. What's not to like?
posted by ook at 7:36 AM on September 25, 2009 [1 favorite]


Ook is correct about the risk posed to newbie Web designers (like myself) of falling into the rabbit hole. I fell into one once and posted here about a megalomaniac client who demanded that his 100-listener-a-month podcast be presented with all the complexity of ESPN.com.
posted by Kirklander at 8:41 AM on September 25, 2009


« Older Social marketing conference for small creative...   |   What's the best cable company/ISP in NYC? Newer »
This thread is closed to new comments.