Successful freelance web developers all seem to follow a rather similar path, and they tend to advise others to do as they have done. First, they have a history of development and networking within their professional community; next they have continually improved their skills, keeping current with coding and other sub-skill sets; and third, they have what is often called an "entrepreneurial spirit" - that passion to be on their own and to be independently responsible for their own growth. Developers who are missing any of these elements are embarking on risky business as freelancers. Their chances for success are really reduced. If your passion is freelancing, then here are 5 tips in sequence of how your career should go.
1. Begin with Full-Time Work
This can be a bit of a challenge if you have no prior experience and if you are primarily self-taught. Without credentials from a school and with no samples of work that have actually been paid for, you are competing with others who already have a "leg-up." One of the things you can do is contribute to open-source projects that are out there, such as those on GitHub. You can build a technical portfolio from such projects and demonstrate you skills to potential employers.
Here are a number of important skills you can pick up once you are employed by a company:
- You will learn how the business side of a development company operates
- You will have time to enhance your skills
- You will learn how to work with clients of all "stripes."
- You'll have the chance to build up some savings which you will need when making the move to freelancing.
2. Start Building Your Portfolio
Begin a web-based portfolio as soon as you are hired, and put every project in there. These can be categorized with hyperlinks. At the same time that you are developing that portfolio, begin to work on your resume. Here you will provide the details of each of the projects in your portfolio, explaining the client requirements, the scope of the project and its ultimate success. Here you will have the link to the specific project.
In the end, you will most likely weed out projects and choose which ones you will actually discuss in your resume or CV, but right now, provide detailed descriptions and process explanations for them all. As a web developer, there may be other related projects that your employer will assign. Gladly assume them and, as you get each project done, add it to your portfolio and resume too. It's good to show versatility. Again, the time to clean and polish both of these things will come later when you get ready to make your move. Right now they are working rough drafts.
3. Find Your Niche
Freelance developers who do really well have established themselves as the "go-to" people for very specific things - sort of like specialists in medicine or law. There are "Jack-of-all Trades" developers who will do a good job on most anything, but then there are the specialists who do a good job on most anything, but a really stunning job in a few key areas. To become a specialist, consider taking up a new language, or keep upgrading your skill set on a couple of those you already know. Take online courses and earn certificates; pick up skill in complementary areas such as UX or UI design. To be able to design and develop together makes you far more valuable as a freelancer - a one-stop shop so to speak for someone in need of a website from scratch.
As a niche expert with complementary skills sets, you will have a much easier time marketing your personal brand. If you are not certain what programming niche(s) you should choose, these are pretty hot right not:
- Ruby on Rails: This is the preferred open source framework for startups all over the globe right now.
- Swift: This is Apple's language for Cocoa and Cocoa Touch. It is specifically structured for iOS development - hot, hot, hot.
- Node.js: A platform for building fast and scalable applications. A lot of developing experts believe that it will become a big competitor to Ruby on Rails pretty quickly.
You should begin to network from the day you land your feet into your job. There are so many developer communities out there, all of which have meet-ups, either on or offline. Begin with your colleagues at your job. Have conversations about things beyond the scope of your current project(s) - the more you learn about project variety and the business operations, the better.
It goes without saying that you will also need to have a LinkedIn profile and join groups on that site. Participate in discussions in all niche and niche-related groups, so you're your name becomes known. Show your expertise through those conversations.
Get on Instagram and display carousels of projects in various stages and, of course, the final product. Start showing some of your projects on your Facebook Page. Follow other freelance developers and get involved in conversations with them. Check out development blogs and become a contributor.
All of these activities will spread your personal brand, and you can do this even before you strike out on your own. You will probably have a "conflict of interest" clause where you work, so you cannot take on side projects while you are employed, but having the contacts in advance will make getting gigs later much easier.
5. The Day Comes
You will have a lot to do when you launch. Set up your website with your portfolio (which should be well-organized if you have kept up with it). Go full-steam ahead on your marketing.
- Let all of your contacts know that you are open for business. Ask for referrals.
- Ask colleagues you know for overflow work if they have any.
- Get your profile on as many freelance clearinghouses as possible - Freelancer.com, ODesk, Elance, and Guru are just a few that come to mind.
Beyond your self-promotion which is almost a full-time job in the beginning, you will have all of the other aspects of running a business. If you have prepared yourself, you will be ready to assume budgeting, marketing, invoices, and tax requirements. There are great apps out there to do a lot of this for you, so consider outsourcing some of your paperwork. Just don't ignore the day-to-day operations and then have to play catch-up after a large backlog has developed.
Take online courses and earn certificates; pick up skill in complementary areas such as UX or UI design. To be able to design and develop together makes you far more valuable as a freelancer - a one-stop shop so to speak for someone in need of a website from scratch. People hire a web designer without any doubt if you can show up your portfolio professionally.
Becoming a freelancer is a big leap. It will take superior organizational skills and a willingness to put in far longer hours than you did working for someone else. If you have the passion for this; if you have planned in advance; if you can treat your freelancing as a business, then you have the recipe for success.