5 Tips for Productive Freelancing

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

No matter what type of freelance work you do (unless it’s hourly), you probably benefit from being productive and efficient. Finding ways to complete work in less time means more time for other projects or for leisure activities. Here are few tips, below, aimed at freelance web developers and designers.

Time Keeps On Slipping Slipping


Flickr credit: gadl. [CC license.]

  1. Learn what the client really needs. This will save you time in planning for the wrong features/ design/ content. Sometimes, clients tell you what they want and assume you’ll tell them what they need.
  2. Leverage previous work. Maybe you have some sort of idea bank or “cut folder” of materials you didn’t use before and which you own (instead of a client). If you’re organized, you could save a lot of time reusing materials instead of starting from scratch.
  3. Keep up in your niche. Knowing what’s going on in your niche, especially with new web-based tools, is worthwhile. There might be a faster, easier way “now” to do something that used to take hours or days.
  4. Stay connected. Whether you use Plurk, Twitter, LinkedIn, Facebook or something else, being part of an active social network, with an increasing number of friends, can do wonders for your productivity. Need an answer to something? Just ask, and if someone knows and is willing to share, they will. You’ve just saved yourself research time. If you’re going to work online, there’s no room for shyness, and your “friends” know this too.
  5. Learn to say no. Some projects (or some clients) are just not worth it to you as far as running your business. Be polite. If you know a colleague (see the last tip) who can handle the work, refer them to your client. This is far better than taking work you just know you won’t get done on time.

Have any freelance productivity tips of your own?

Promoting Yourself as a Web Developer

To web developers who are not also web designers, it might seem that the latter have it easier in terms of promoting themselves online. Their work is visual, and can be demonstrated fairly easily? So what can freelance web developers do to promote themselves? Here are some tips from us at Webdevlounge.

  1. Website. If you’re going to promote yourself  and your work online, you need a website, plain and simple.
  2. Blog. Don’t just have a website, make sure that you’re keeping it updated with new and relevant content. The easiest way to do this is to have a weblog. You don’t have to post everyday, but some consistency helps. Some possible post types are listed below.
    1. Musings on the web development industry, or your experiences.
    2. Tutorials. There are never enough good tutorials.
    3. Screencasts. There are even fewer good screencast-based tutorials or tool reviews.
    4. Podcast. A web developer’s podcast doesn’t just have to be about being  a developer. Include reviews of new tools, old IDEs, great resources, interviews or whatever else you think listeners will be interested in.
    5. Reviews, interviews, previews of new tools.
  3. C.V. Post your resume on your site, make it interactive or at least more than just text. Use it to sell your skills.
  4. Services. Have a web page separate from your C.V. to list your services. On this page, make sure you summarize your skills clearly. Rates do not necessarily have to be posted, though you should have a rate card, if only to follow up with potential leads.
  5. Ebook. Do you have web development skills that you can easily and clearly share with others? Write about it in an ebook and give that away.
  6. Guest posts. Write guest posts for other web developers and designers. Invite them to do the same for you.
  7. Branding. Put your name and URL on every bit of content that you publish.  If you have a business name, use that. On items such as ebooks, make sure you throw in some contact details.
  8. Business cards. Include your URL on biz cards + resumes. If you go to tradeshows or live social networking events, these are good places to hand out  cards.

Share with us. How do you promote your web development skills?

Webdevelounge Weekly Roundup - Wed Nov 05/08

In the past couple of years, it seems that an incredible number of web design and development sites have popped up, and many of them regularly run resource lists. Here’s a look at some of what’s been published recently.

[1.] Hongkiat offers a collection of links to 100 grunge and abstract fonts from Dafont, Fontspace and others may not be “everything you ever wanted” in fonts, but should give you a head start. (Note that some of these fonts are donation-ware for commercial use.)

[2.] To go with all those grunge fonts (above), here’s a list of 40 grunge Photoshop tutorials from Smashing Magazine. (Is there a grunge revival I don’t know about?)

[3.] Noupe has a handy breakdown of links to over fifty how-to articles for AJAX developers.

[4.] DesignMag presents a list of 35 great Fireworks tutorials, ranging from how to add 3D realism to objects to designing for mobile devices.

[5.] Is there ever a lack of Photoshop tutorials online? Vandelay Design presents a list of 35 more tutorials focused on website layout design.

[6.] Smash!ng Apps gives us their choice of 35 mindblowing inspirations and resources for designers and developers. This includes tutorials and resource lists.

[7.] Whether you Twitter to microblog or to promote your blog, or for some other reason, you might be inspired by these 30 creative Twitter theme backgrounds.

[8.] CSSBuilt has selected their choice of 21 of the best CSS-based web designs for Oct 2008.

[9.] Smash!ng Apps has a list of 17 free tools for designers, many of which I’ve not heard of before. The list includes font, CSS, and color tools.

[10.] Regardless of what kind of work you are doing, here’s Six Revisions‘ list of 15 free tools for collaborating online. The tools range from desktop VoIP software to web-based project management and real-time collaboration apps.

[11.] Developers, don’t feel left out this roundup. The HTML Blog provides 10 code snippets for PHP developers.

New Web Magazines: Click Creative and Groovy Mag

As print mags are getting cut from publishers lists, web-based magazines are springing up to replace them. Here are a couple of recent launches.

Click Creative


Click Creative is a free, bimonthly magazine available online in PDF format. It’s focus appears to be 2D and 3D design, photography, web and interactive media. The Nov 2008 issue is 11 pages [2.39 Mb PDF file]. The next issue is out on Dec 6/08. They’re currently looking for new cover art. Information at their website.

Groovy Mag


While Click Creative is free, Groovy Mag costs US$4.99. It’s not clear if there’s a print edition, but there doesn’t seem to be. Can they make a paid web magazine model work? Niche software magazines in print, to my recollection, always had to struggle, though with distribu tion costs being next to nothing in comparison, it’s possible that this could work. But apparently you have to log in to purchase a copy (no idea why), and payment (including credit cards) is processed through PayPal. You can get a free 4-page sampler PDF from the site.

The magazine focuses on Groovy and Grails development. If you do that kind of work, you already know what Groovy and Grails are. (If not, Groovy is a scripting language for Java, and Grails is a framework for Groovy.)

crowdSPRING: Design Projects Marketplace

CrowdSPRING is a recently launched marketplace for designers and buyers. This includes logo design, business cards, graphics, website, photography and more. However, it does not include any option for listing code or writing projects. Actually, when you understand how it operates, that makes sense. I can’t think of any coders or writers that would be willing to work this way, though that doesn’t mean there aren’t any.

Of course, both buyers and “creatives” can participate. Buyers post their projects, along with details of what they need and what their budget is. They wait for ideas to submitted and can review, sort, rate or give feedback to the submitters. CrowdSPRING claims over 8400 creatives around the world and apparently gives a money-back guarantee that each project listed will receive at least 25 entries.

Creatives set up a profile and participate in projects at no cost. CrowdSPRING handles the billing and payment process for them.

Personally, I dislike these sorts of sites. Can you imagine putting in an effort to submit a piece of work and not winning the project? Then imagine doing this over and over. That’s just my opinion. Others prefer this. Buyers seem to get the best deal. And crowdSPRING is hardly the only site doing this, with 99Designs (now a sister to site to Sitepoint) being an earlier entrant to this alternative to freelance listings sites (e.g., Guru, eLance). At least with the latter, you’re only bidding on projects No work is done until you know you’ve won the gig.

But that’s just me. How do you feel about sites like crowdSPRING and 99Designs?

Hard Core Coding Tips

In the past decade, it seems that more people have turned to becoming web developers without a formal education in Computer Science. And why not? It can be a lucrative career. If you learn the basics and do your coding from a structured approach, it doesn’t have be too hard, nor do you have to run into the dreaded “code” block that sometimes happens.

My Approach to Coding and Programming

flickr credit: http://www.flickr.com/photos/extraketchup/

flickr credit: http://www.flickr.com/photos/extraketchup/

Here are some of my hard core coding tips, from many years of programming, development, webmastering and technical writing.

  1. List functional requirements. Decide what your code needs to do functionally. Flesh out the details as you go.
  2. Sketch output screens. Knowing where you are “going” with your code helps you to “visualize” an end result. In all my years of coding, this has always helped me finish coding faster than when I don’t do it.
  3. Determine all data. What information needs to flow through your code to achieve the functional requirements?
  4. Determine all data sources and sinks. Exactly where does all the data come from and where does it go? Include people, processes, files, services.
  5. Catalog the data flow. Sketch the data flow between sources and sinks. You can use state diagrams, too, if they’ll help you. I find them a powerful visual aid in coding.
  6. Produce the algorithm. You should have a clear mental picture at this point what your code needs for input and output, and what it’s supposed to do. Convert the algorithm into plain word steps (pseudocode).
  7. Apply top down design. Take a phased approach to the actual coding. Starting with your pseudocode, create “function” stubs. In other words, write your main code as a series of function calls matching your pseudocode instructions. The functions can be empty (stubs) to start. Then apply this process iteratively and flesh out the necessary code for each function. If it doesn’t make sense to use a particular function, move its code to the main section and remove the function call.

What does this last step do? I find that at each step of the way, I feel as if I’m nearly done my coding. That’s because by starting with empty functions, my code usually generates no errors. When you add a little bit of code at a time, it’s also easier to trace where errors occur.

This is a great motivational technique that has allowed me to often write many hundreds of lines of code in a couple of days. (The industry standard has been said to be much less per day.)

Final Thoughts

With the exception of a few brief weeks this year, I’ve never suffered from what some developers call “code block”. I.e., it’s similar to writer’s block. When I did suffer it, it made me sit down and figure out what I wasn’t doing compared to the years where I coded nearly every single weekday. These tips above are what I came up with. In a later post, I’ll delve deeper into what I refer to as “top down design,” which has in the past helped me to produce large quantities of code in a short time.

6 Career Tips From An Old School Programmer

Here’s a bit of advice for you relatively new developers, coders, programmers or whatever you call yourselves at the moment: keep your skills up. Learn a new language whenever possible. Not doing so while you’re able to is one of the worst career mistakes you can make. It’s obvious to me NOW that there will always be new development languages, pushing some of us the “old dogs” to scrambling for work or being forced to learn new tricks when there’s no time for it. Trust me, it’s not fun.

For example, in the mid- to late-90s, I was a Perl expert. Um, what? What the hell is Perl? Is anyone still using it? Yes, they are, but even searching online, finding a job for it here in Canada without having to pickup and move has been next to impossible. Hasn’t been that many listings for it in the USA either, or else a tandem skill that I don’t have is also required.

Along the way, I learned how to use PHP (not very difficult), but simultaneously lost my hardcore C skills. (There haven’t been enough job listings for C, to motivate me to relearn, or I’ll get interviewed and told, “well you haven’t used it in X years, so forget about it.”)

Now what? I’m faced with deciding whether I should bother to learn Python, Ruby (on Rails) or something else that’s on the horizon. Or all of them? Except that I really don’t have the time at present. Or just stick to technical writing jobs, which have been sparse here as well. (I’m a freelance writer at present.) Whatever you do, try not to find yourself in a static, miserable state as a developer. Stay fresh.

Some tips for staying fresh… and employable

  1. Always at least know the names and characteristics of new languages, development environments, frameworks and tools. If you don’t work for a company, sometimes that’s difficult (or expensive), but trial versions are often available. Be strategic in using your trial versions.
  2. Scan job boards to see what’s in demand… and what’s being paid for those skills . Do this regularly, even if you are happy with your job. It’ll keep you in touch with the marketplace.
  3. Stay competitive. If you find yourself becoming disillusioned with what you’re doing currently, consider learning one of the newer skills, particularly frameworks or dynamic languages. There are tons of websites out there that have tutorials and overviews, so you don’t necessarily have to buy/ borrow books. Make the time and do it regularly so that you’re never in the situation of “have to,” which will likely make you resentful. That just makes it hard to learn.
  4. Join the “share” pool. Write about your skills and experience. You don’t have to write formal articles; you can just write to your own website/ weblog once in a while. Share what you’ve learned, in repayment for what others have taught you. (There are tons of free-hosted blog sites such as Blogspot, WordPress.com and Typepad, so you don’t even have to spend any money.) Your site might even become popular, if you share enough of what you’ve learned through articles, tutorials, screencasts or podcasts, and you might even earn a bit of ad revenue. Or find a site that’ll pay you to write tutorials. (See NETTUTS, a site that’s always looking for web development tutorials.)
  5. Laugh at yourself sometimes. It’s fun.
  6. Don’t work seven days a week, no matter how much money you can make. You do need to enjoy life, and doing so balances your work. Work is so much more enjoyable when you have something else to look forward to.

Good luck!

Webdevlounge Weekly Roundup - Wed Oct 29/08

You often see loads of blog posts listing all kinds of free Photoshop brushes. Well Noupe has a list of links leading to no less than 1,000 brushes for Gimp, the free, multi-platform, Open Source alternative to Photoshop.

Trying to build up your freelance client base? Here are some ways to market portfolio both online and offline.

Header graphics are obviously the first thing you see when you visit a website. But have you ever taken a look at site footers? Vandelay Design offers up a look at 25 impressive blog footers. The one below is from GoMediazine.

Custom WordPress themes are hot and probably will be for quite some time to come. Design Reviver has their first part in a series for producing a premium theme from scratch. This one is about producing a Photoshop mockup. If that’s as far as you get, don’t forget Webdevlounge’s sister site, PSD to WordPress, which will take your Photoshop mockup and produce a compliant, cross-browser WordPress theme at an affordable rate.

Do you have a site and want to offer the content in various languages? Some of you might contest this, but Janko at Warp Speed feels that you should never use country flag icons to represent language choice. Unfortunately, he doesn’t offer any visual alternative as a better choice.

Alright, alright. Designers are often kickass programmers/ coders. But programmers generally are not designers, and apparently they suck at CSS design. Maybe they just need to stop coding and plan more.

Finding a Career in Web Development and Design

Are you looking for work in the web development and design arena? A recent FreelanceSwitch article says that learning a web framework or a CMS is one of the best ways to increase your work potential right now.

This conclusion is based on the types of jobs posted on the FreelanceSwitch job board, as well as the frequency of new jobs posted. The article goes on to say that there’s more development money for for websites that will or are making money. Makes sense.

With all the job cut backs going on right now even amongst some of the giant web-based companies, what are your options for work? If you want to be able to work from home, freelancing is generally a great way to start off. If you have some experience, contracting should be a consideration. The latter tends to require onsite work and does usually mean you need to develop your “people skills.” Contracting often gives you longer-term work at higher hourly or project rates. However, that doesn’t mean that freelancing cannot be lucrative, depending on the type of work you’re doing.

Personally, I think that freelancing gives new developers a great deal of flexibility, since you’re mostly or even entirely working from home. That means your potential client base is the entire world. If you’re young and still living with family, or are still in college, you have some added advantages in terms of living costs. If you’re supporting a family or are on your own, you have to weigh out the downsides of freelancing or contracting against having a salaried job.

If you go the freelance route, don’t forget about bidding sites such as Guru and eLance. Yes, you have to build your brand/ profile and bid against other freelancers, but there are sometimes some prime opportunities. While you browse projects requesting bids, you might find work that you can do that hadn’t occured to you.

What Career Type Are You?

For those of you just getting started in the web development and design arena, you might find recent economic market events a bit intimidating. When you’re looking for work, don’t forget the options you have available to you in terms of career type.

Career Types

Loosely speaking, web developers and designers have four career types to consider:

  1. Salaried employee. Perceived benefit: job stability and regular paycheck.
  2. Freelancer. Perceived benefit: freedom of schedule and location.
  3. Contractor. Perceived benefit: high hourly rate.
  4. Entrepreneur. Perceived benefit: your own business, with employees.

While types 2-4 do have some things in common, they are different. Freelancing is generally a more casual affair with less stability and potentially shorter projects. Contract work can often last months or even years, but does require some sort of agreement be signed. Entrepreneurs - like freelancers and contractors - do essentially work for themselves, but they usually run their own “shop,” hiring others when necessary - at least in essence if not in reality.

flickr attribution: a href=http://www.flickr.com/photos/jay_dugger/jay dugger/a

flickr attribution: Jay Dugger: http://www.flickr.com/photos/jay_dugger/

Questions to ask yourself

If you haven’t decide which path to go down, keep in mind that most people get some experience as a salaried employee first before exploring other options. At least, that’s the way things used to be before so much web-based work started to be available. Here are some questions to ask yourself, to help you decide:

  1. What kind of work are you looking for?
  2. Do you want to work for an agency/ company?
  3. Do you want to work for yourself? If so, are you aware of what that potentially means financially? Are you financially prepared for any downturns in work or the economy in general?
  4. Do you have multiple skills? (Writing, design, coding, etc.) If not, are you prepared to take the time to develop them? If you’re a salaried employee, paid on-the-job training is often part of your work. Otherwise, you have to find the time and means to learn on your own.

Personally, I’ve been through all or most of these types of career for certain types of freelancing (writing, web development). They all have their downsides and benefits, especially contracting. In the end, you have to decide what’s more important to you: job variety and schedule freedom or greater financial stability.