Since starting as a Freelance Front End Developer in 2011, and my "Going Freelance" series of posts, the question I've been asked the most is how do I find work. Finding work is without a doubt the biggest entry hurdle into freelancing.

Many who haven't experienced freelancing consider it to be incredibly freeing. You'll have more time to dedicate to learning your craft, work on personal projects, and perhaps even get to a position where those projects can start to contribute towards your income.

Only when you take the jump into the freelance lifestyle do you learn this isn't quite accurate. Becoming a freelancer is to take on multiple job roles. No longer do you just work your craft, you're also a marketeer, client relations, accountant, researcher, receptionist, cleaner, tea maker...the list goes on. Immediately, the amount of hours you can dedicate to the profession you love are reduced.

Finding work, and the time to reap the rewards of freelancing requires a careful strategy.

Combining Marketing, Learning and Personal Projects

With a limited amount of time in the day and so many roles to fill -- not to mention doing the work you originally set out to do, as a freelancer, you need to make the most of your time. To treat marketing, learning, and personal projects as three separate entities probably won't leave you with much time to make a success of any. My approach is to combine the three.

When I first started freelancing, I got print adverts placed in telephone directories and a local brochure, printed business cards, and did a small amount of networking. Admittedly, I only tried traditional marketing in perhaps the first six months of freelancing but it just didn't get me very far.

Whilst hoping for that marketing to kick-in, I started work on better learning front end development. I've always found the best way to learn is to do, so I created little personal projects to help me learn.

As I was dubious about the traditional marketing I had done up to this point, I started blogging about my personal projects and made the code available for free. Although I didn't immediately get work from this, I could see my exposure was increasing on social media platforms such as Facebook and Twitter.

Aside from my "Going Freelance" series of blog posts, I had written seven or eight tutorials to go along with my personal projects. Then I wrote Nikebetterworld Parallax Effect Demo, which exploded in popularity (and is still my most popular blog post at the time of writing).

In writing Nikebetterworld Parallax Effect Demo I had the opportunity to learn, create something fun, and increase my online exposure significantly. Aside from the time -- which was well spent anyway, it didn't cost me a thing and I probably got project requests relating to that blog post for about 18 months, solid enough to have seen me do nothing but those types of projects right the way through if I had wanted.

I killed three birds with one stone; marketing, learning and creating personal projects. It became apparent that traditional marketing wasn't required.

Finding a Perfect Balance of Work and Play

To make a success of this way of finding work, you need to be careful to balance your time and money well. My Nikebetterworld Parallax Effect Demo post wasn't followed by another for 6 or 7 months because I was so busy, but that meant personal learning and projects were put on the side too. A full schedule sounds ideal, but having spare time is crucial to keep getting future project requests.

Typically, I always find myself with a few days free here and there, or maybe a week or two between projects but I also schedule in periods of time set aside for the learning and personal projects that lead on to more project requests, perhaps two separate months each year.

To work in this way, you need to ensure your income covers the time when you won't be working for clients but instead learning and promoting. Despite working for clients less, you'll be much more of an asset when you do.

Earning Money from Personal Projects

Like many freelancers, you may want to get your personal projects into a position where they generate an additional income. How is this possible when you're giving these projects away for free in return for exposure though?

In my experience, projects that gain the most exposure are those that are the most simple. If your project consists of multiple components, you could give only parts of it away for free, the parts that best demonstrate its purpose. With the project cut down to its core, not only are you simplifying how it is demonstrated, you also then have the option to sell its additional components.

I did this with Sequence. Sequence is a jQuery slider plugin that allows developers to create their own unique themes using CSS3 transitions. The plugin is open-source and comes with several free themes, but I also sell premium themes to earn an additional income.

Creating Successful Projects

I've found that the more simple a project, the more exposure it gains. However, gaining exposure doesn't always mean getting work.

A simple project when viewed is immediately apparent -- something visually stimulating. Anything that is purely code based (no visual output), requires reading documentation, interaction with an API and so on, I refer to as a complex project.

At the start of 2014, I released Hover.css. It took me a few days to get it to a state where I was ready to show the world. In a few weeks it has already over taken Sequence as my most popular project on GitHub, and gained me lots of new followers on Twitter, Google+ and so on. As yet though, I haven't received any work requests directly from it.

I suspect as Hover.css is so simple, it doesn't show off my skills enough to impress potential clients, neither does it represent anything so special that they may want applied to their own site, requiring the help of a developer.

Simple projects are great for increasing exposure but not necessarily gaining work. Of course, the more attention you have in the form of followers etc, the more your next project will spread. Mix simple projects to gain exposure with more complex ones to gain project requests.

Where to Release Personal Projects and Increase Chances of Going Viral

Once you have a project ready to share, spend some time adding social links to the demo page. The page should obviously show what you've created in the simplest way possible but also prompt viewers to share the work and follow you on social platforms.

Don't add too many social buttons. Again, keep it simple. It may take some experimenting but you'll eventually find the best social platforms that work for you. I tend to use GitHub (specific to web developers) and Twitter social buttons, but if people like my projects enough, they'll do a little extra work and copy and paste the link into their chosen social platform any way.

I like to use GitHub's Pages feature to create a demo page such as ianlunn.github.io/Hover/. Where you host the demo doesn't really matter, providing the server can handle a large amount of traffic when your link goes viral.

With a demo page set up and ready to be shared, now is the time to let people know about it. As a web developer, the first places I tend to go are CodePen, Hacker News and Reddit. Designers may like to try sites such as Dribbble and Pinterest. These sites have a lot of viewers, so although you will only initially appear in the "New" pages -- and possibly only for a few minutes/hours, depending on how many submissions they're getting -- you'll still get some views. Should your project be interesting/useful enough, then these initial views could be enough to go viral.

When your demo page starts getting you new followers on the social platforms you chose to link to, be certain to use these platforms often. If somebody follows you on Twitter and you don't tweet until a week later, they may have forgotten who you were and why they followed you, then unfollow. Keep going with your social presence and be sure your tweets/updates are of good value and not too far dettached from the original reason why people followed you in the first place.

Obviously, you can share your link on these social platforms too. Perhaps try to make what you share on social platforms a little more personal though, afterall, people have shown an interest in you by following, so now is a good time to start a conversation with them based on the links you are sharing.

If you're completely new to social platforms and have no followership, know that it takes time. Keep going and most importantly, have fun. Sincerity is key. Although I am breaking down how to share your work using social platforms, the main reason I have a social presence is because it is fun. It's an opportunity to connect and potentially work with people interested in similar topics to myself. Trying to game a social platform isn't going to work.

Conclusion

By promoting yourself in this way, you have more time to learn and work on personal projects, and you'll be more valuable to your clients -- of which you'll hopefully have more!

It's important to note that not every project you release will be a success, often getting very little response, so the key really is to keep things as simple as possible and don't give up. The beauty of open-source is that you (or anyone else) can always add more to the project at a later date, whether it be for fun, education or profit.

Good luck!