A friend of mine recently let me know his current web development job is ending because the company is shutting down. While he is interviewing at other companies, if at all possible, he’d like to start freelancing, but has no idea where to start.
Since I have a fair amount of experience doing freelance and contract web development over the past 8 years, I thought I’d put together some ideas for the currently non-freelancing, yet marketable-skill possessing web developer. If you don’t yet have technical or design chops, this doesn’t apply to you yet. Go back and get those. If you do have the chops, soldier on.
What do you NEED to get started?
Are you ready? All you need to get started is your first client. That, and a few more obvious things like: technical skills, communication skills, the ability to think of creative solutions, manage your own time, and follow through on commitments in a timely manner. No big deal. You have all of those, right? What you might not have is that first client.
Notice what I didn’t say you needed. The following is a list of nice-to-haves that you can work on later once you’re generating a modest amount of cash flow: a website, business cards, a corporate entity. Your initial focus should be on getting client #1. Sure, you can work on the other business admin things, but they shouldn’t be your first priority.
To get started, you should be spending more than 50% of your time finding that first client.
How do you get your first client?
To get a client, you need some leads. A lead in this case, is a person or company that is interested in getting some work done – which could be a brand new website or application, or additional work on an existing project. Start building a list of leads.
Are you already known to friends and colleagues as a skilled web developer? If so, you may have already been contacted at some point by someone asking for help. If so, congrats, you’ve got a lead! Follow up and engage with this person.
What if no one is currently requesting your services? Then, my friend, you need to get proactive. You need to hustle.
How do you hustle?
Let’s look at some definitions of hustle. “To move or act energetically and rapidly.” “To sell, promote, or publicize aggressively or vigorously”. This is the hustle I’m referring to. “Hustle” also has many other definitions, some with illicit connotations, like to sell drugs or stolen goods, or to swindle and deceive people. Just to be clear, that’s not the kind of hustlin’ we’re talking about. This is all about getting more assertive with communicating, making connections, and asking for business. In other words, anything but wasting time.
If you’ve been comfortably working away in a bubble on whatever you’ve been asked to work on for your previous employer, you might not yet have experience with this world. It’s time to get out of the bubble and start talking to people.
Clarify your offering
You need to let people know what services you’re offering, and spread the word that you’re available for work. Before you start initiating contact with people, you should put together some talking points. Start by putting together a list of the kinds of things you can do. Bear in mind your audience when you build this list. Are you talking to technical people, business people, creative people? Know your audience and tailor the list to them. If you plan on going after multiple kinds of people, build multiple lists.
For the technical list – do you have a LinkedIn profile with a list of technical skills and endorsements? If so, you can start there. Work on any open source projects? That’s even better. Flesh it out, but emphasize the things you’re best at. No one is awesome at everything, so don’t depict yourself as a grab bag of every possible technical skill. Pick the things you’re best at and that you actually like doing, and emphasize those. Balance that with what’s actually in demand. Don’t just stop at the keyword. You should have examples you can talk about. “I do HTML5″ is not a good example. “I’ve used HTML5 to build responsive designs that look just as great on PCs as they do on tablets and mobile phones” is better. Having numbers is best. How many people use your open source project? How many more visitors (absolutes and percentages) from mobile devices are you getting on your website now that you’ve implemented that new whiz-bang responsive HTML5 design?
For the business list – think of the past projects you worked on. What did you contribute? Did you improve the project? How did you move the needle for the business? Improve sales or conversions in any way? Do any A/B testing that quantifiably improved something? That kind of stuff is extra-awesome. Start collecting some metrics that you can tout.
For the creative list – what kind of unique, innovative projects have you worked on? How did they do things differently? Any unique ways of navigating the site? New paradigms for conveying information? Simplify something previously complex? Did you work with other creative people and help realize their vision? Have visual examples.
Now that you’ve got a list of services you can offer, who do you offer it to? Where do you find these people? Many places. Web development is in demand. Here’s some ideas:
- Previous Colleagues
These are some of your best initial connections. They already know you and your abilities. Let them know you’re available for work, should they know of any. They might not right now, but next week a new project may appear on their horizon and you might come up as a potential do-er of said project. They’re also good people to ask to write LinkedIn testimonials for you.
- Local Meetup Social Hour
Do you live in a city? Then there are probably some meetups you can and should attend. I live in Portland, Oregon, where there are technical, business, and creative meetups happening on a daily basis. You can find these on sites like meetup.com, and local sites like calagator.org, which is specific to Portland. Not every group is on meetup.com though. There’s probably a website or three with a calendar of professional events happening in your town. Don’t have a local group that discusses technical/business/creative topic X? Start one! I’ve done this three times. It’s great, and gets everyone coming to you.
Many times these group meetings are split into two halves. The speaker presentation(s) for the month, and the social mixer component. If you’re looking for work, the social component is your priority. It might be beforehand or afterwards in the lobby, or it might take place at a bar nearby. Many times this is actually more interesting and fun than the scheduled presentation. What you want to do here is simply walk up to or sit by people you don’t already know, say hello and introduce yourself, and ask what they do. Let them know what you do. If there’s any common interest, or it seems like they might be valuable to know in the future, ask for their contact info, like a twitter handle or an email address. When the conversation wanes, say “it was great to meet you,” move on and repeat!
You don’t want to be wasting time, so don’t just find the person you already know and hang out with them the entire time. Split up and meet new people. And since you spent the time to come here, set a quantifiable goal, such as exchanging contact info with at least five people. If you’re new to doing this, you can start slow and build up to it, but it’s hustle time. Get out there and chat it up. Remember there’s no pressure here. You’re not out to find that one person who’s going to lead to some work, you’re just practicing meeting people, and building your network. Have nice casual conversations and move on. Then follow up with them later with a short email, or an @ reply on Twitter. Get used to doing it regularly so it becomes automatic, and no big deal.
- Local Meetup Presentations
This is a step up from social hour. Do you have some topic you can talk about for 5-15 minutes that would be interesting to the members of some group? It’s a great way to make yourself the central topic of conversation, and get people coming to you afterwards to ask follow up questions. You can also post your slides online, and the video if one was recorded. (Hint: use screencast software to record one yourself.) Posting presentation decks and videos online gets you a lot of mileage over time, and it makes you look like an expert on that topic.
- Online Forums
Google groups is a good one. Meetup.com also. Again I recommend starting local. Find where local people are having discussions online and hang out there. It’s easier to start an initial business relationship if you have the ability to meet up face to face, at least once or twice to get started. So find groups related to what you do, preferably local to your area. Technical groups frequently have job postings from companies or individuals looking for skilled people. Each of these is a lead. If they match up with what you’re offering, email them.
You should have a twitter account where people can find you. Something short that you can tell people while talking, and write on a name tag. You should post there regularly, about what your working on. You can also share links you find interesting. You should follow interesting people and engage with them as well – replying and retweeting. BUT remember, you need to primarily be working. Don’t let Twitter take over your mind. There are some good strategies for this. You can get a BufferApp account and queue it up with tweets to go out at measured, regular time intervals. Timebox 15 minutes a day or so to review what others have said, and retweet interesting things. But limit your time here. You need to be producing, not consuming.
It would be good to get one of these if you don’t yet have one. As a technical person, you might view this as a technical project that you need to build from scratch in the new cool language and framework du jour. Nope. Don’t do that! You’re a business person now, who makes smart decisions about the value of their time. Unless you’re in the business of building a better blog engine, or someone is paying you to do it (and even then), working on building a blog engine when you need to get client work is like not working at all.
Just get a standard WordPress blog started. They’ve already solved the blog problem, and there’s a huge thriving ecosystem behind it. So many useful plugins and themes, and constant security updates. Host it somewhere you don’t even have to think about the hosting. I use Dreamhost. They keep it updated with the latest version automatically. Timebox this. It should take you two hours max to get setup and online. You can tweak it later.
I also recommend getting your own domain, vs being on the domain of the latest hosted blog platform out there. You’re building your own brand and creating your own content now, not bolstering someone else’s.
Once it’s setup, link it to your Twitter profile, LinkedIn, etc. Then set a goal to post about one interesting, useful thing a week to start. Make a content plan: a list of potential blog post ideas, and start outlining them. Set aside an hour or two per week to bang it out. Get a friend or two to review it and use the feedback to make adjustments before you show it to the entire world. Schedule the post to go live in the morning of the next day. Schedule a tweet to go out at the same time. When you feel you’ve really knocked a post out of the park, submit it to forums like Hacker News and Reddit, or others more specific to what you’re talking about. Start building an audience.
Have some savings
When you’re first getting started, you won’t have any momentum yet. You need to spend some time getting the ball rolling, and learning how to make things work. There might not be any immediate action, aka money coming in. It’s ideal to have some money saved before you take the plunge into freelance. Like three to six months worth, because it takes time to get started and build momentum. If you don’t have any savings, stay gainfully employed and start doing this on the side so you don’t go broke. Understandably, you might not always have a choice, if for example, your current company is going under. In that case, use your best judgement to decide if now is the right time to go freelance. You want to be thinking rationally, not in a panic about paying the bills.
Get a peer group
If you’re used to being around co-workers and heading out on your own, it can get lonely. You’ll still need a group to talk shop with. Find some people that are doing the same thing. Being around other motivated, successful people in pursuit of similar goals goes a long way towards helping you succeed. If everyone in your current professional peer group is employed by a company, they’re good connections for work, but not necessarily going to be the best motivators. Keep them, but also find some other people who are already freelancing, and go to lunch or out for drinks. Find or start a mastermind group.
All of the things I’ve listed here are things to do regularly and repeatedly. Your overall goal here is to boost your professional profile and visibility.
A single burst of energy is not going to fill your inbox with potential clients. Instead, pick a few simple things to do on a regular basis, and keep it up.
Make a list for yourself, and set daily and weekly reminders so you don’t forget. Make the list short and simple to start. Like two or three key things to do regularly. Here’s an example list you can use:
- Attend one meetup per week. Exchange contact info with 3-5 new people.
- Write one blog entry, and a few tweets per week. Preferably something meaningful and useful to others.
- Make personal contact with one to three people per week. Meet someone for lunch, send them an email, reply to them on Twitter, etc.
Don’t give up
Starting freelancing is like starting any other new job. The first six months are a time of intense learning. There’s a lot to learn. It takes time and patience. It doesn’t happen over night. The secret is to just keep at it. Take one day at a time and set short achievable milestones for yourself. There are ton of other topics that can be covered about freelancing, such as pricing and creating proposals. But that comes later. Before you can focus on those things, you have to focus on finding the people who need work done. Network and meet people. Business requires two parties. You are one. Find the other. Have fun!
PS. I’m starting a video how-to site for front-end developers – deveo.tv – check it out!
Follow me on twitter here.
Leave a comment
Lately I’ve become obsessed with checklists – a simple list of everything to complete a certain task. The book “The Checklist Manifesto” by Atul Gawande is a great introduction to the topic, on how checklists reduce defects in medicine, aviation, and architecture, with some dramatic medical stories thrown in for excitement. The basic idea is that humans are fallible, and a simple checklist can help us do things the right way every time, without overlooking something simple or skipping a step. This can be especially helpful in a stressful situation. It’s challenging to remember every step of a simple, mundane process when we don’t have a lot of time to think, if we’re distracted, or if we’re forced to multitask.
Although we’re drawn to stories of the brilliant creative genius, or the hero who reacted quickly under pressure, many times what really lies beneath these stories are established routines and engrained habits.
“How Companies Learn Your Secrets“, an article by Charles Duhigg is a fascinating look at the analytics and marketing groups inside Target, and how, using existing data of their customer base, they determine within a degree of certainty, whether a female customer is likely to be pregnant. The statistical analysis behind that is interesting, but there’s another half of the same article which explores habit formation and how existing habits can be changed or manipulated. That’s because when a woman is pregnant, it is one of the main times in their lives when they are thrown into unfamiliar territory, and their shopping habits can dramatically change. If Target is there at this critical juncture, the thought is that they can be the new favored store for all kinds of things the expectant mother must buy.
This knowledge of habit manipulation is surely great for companies to use on their customer base in order to generate more sales, but it can also be useful to all of us at the individual level, in order to improve ourselves.
For most of our lives, when we’re not making major changes and just going about our day to day lives, we are operating mostly out of habit. When we operate out of habit, our brains go on autopilot. We’ve done this before, we’ve got it down, and we can do it blindfolded. This is true for everything from our morning shower routine to our commute to work. We don’t have to think much. This is our brain’s way of conserving energy.
A habit has a structure. The structure includes a “cue” – the thing that prompts us to begin the habit, a “routine” – the things we do to complete the habit, and a “reward” – the thing we get for completing the routine. Duhigg calls this “The Habit Loop”.
For example, take washing the dishes. The cue – seeing a pile of dirty dishes. This won’t do. The routine – clear the sink so you can work, start the hot water, put in some dish soap, soak the dirty dishes. Then clean something, rinse, repeat until all are done. The reward – a clean, empty sink, a strainer full of clean dishes. The second reward – if you do it daily, not that many dishes build up, so it gets done fairly quickly. All done until next time.
While washing dishes isn’t my favorite way to spend my time, at this point I do it out of habit, and I find it somewhat calming and relaxing. My brain gets to disengage from the task at hand and think about other things.
It can be very hard to change habits. By their nature, we do them without really thinking about it, and sometimes without even realizing it. One of the best ways the marketers have found to change a habit is to piggy back on to an existing habit.
In the article the example was Febreze. Initially, marketers originally sought to sell the product as an odor eliminator. The problem is, people become used to the smell of their own house and don’t realize it stinks. Ever been to a friends house and smelled an intense, overwhelming smell of dogs or cats and wonder how they stand it?
So, most people saw no need for a product like Febreze. Their houses were clean (or so they appeared) and of course they didn’t want to think of themselves as people whose houses stink.
The marketers found the solution by observing customers who actually used the product. A woman who loved it used it after cleaning every room in her house, as part of the reward – a little spritz of Febreze as the finishing touch. This was the key. Instead of trying to create a new behavior in customers – going around eliminating the odors in their stinky houses, the answer was to pitch Febreze as a product to incorporate into your existing cleaning routine as part of the reward.
How can we use this information to change and improve our personal habits and routines? Maybe there is something you want to start doing regularly, like writing, or exercising. Start by thinking about what existing habits you have, that you like to do or just do without thinking. What causes you to start? What is your reward for completing them? Here lies the answer. You can hijack your existing habits by planning to do a different routine or give yourself a different reward for an existing habit by figuring out the cue that triggers it.
For more info, see “How Habits Work” by the author of the article mentioned above, and the book “The Power of Habit“.
Leave a comment
I’ve been heads down working on a small, simple software app that is super simple but potentially pretty useful to individuals working within companies with more than a handful of employees. I’m finally getting close to finishing the first release.
I mentioned the idea to a friend one day last fall and he said “Yes! You should do it!” so I suspended work on the other side project I was working on and jumped right on it, since it would be super quick. I’d get it out there and be back to work on my other side project. Funny how that works.
The initial proof of concept was done in a couple days – you could get the idea of how it would work, but it was just a fake out. All that was left was to make it real. Simple, right? I kept at it for two weeks, then left for a three week trip, which brought progress to a halt. Once I got back from the trip, it was the holiday season and I needed to focus on billable work in December to make up for being gone. Finally in January I picked it back up. What initially seemed like something that could be done in a month has stretched into a few, but it’s so close.
The app is actually a game, which is my first foray into building something intended to be “played” – to be fun and challenging. Designing a game is super interesting, it’s almost like playing a game in itself, and eventually once you’ve built enough of it, you are indeed playing the game. Implementing game mechanics like scoring points, playing rounds, and thinking about how to make something fun and challenging vs. efficient and useful is super enlightening. The best part is that this app sits in the middle – it’s fun, but also useful and repeated play gives you real value in your actual life.
Leave a comment
2012 was a big year, packed with travel, new business ventures, new experiences, and challenges along the way. I certainly didn’t stand still long.
In January I gave myself a 30 day challenge to eat healthier. It was tough, but fun being forced to think and do things differently. Making an arbitrary rule and sticking to it can highlight your patterns and break you out of well-worn grooves.
That was good preparation for February, when I would really need discipline. I set up Olio Apps and started working for myself again, splitting time between consulting and product development.
In March, O and I travelled to Hawaii, where we lived and worked remotely for a month. It was awesome to be in the warm sun and skip some of the cold and gray back home.
In April I travelled to Scottsdale Arizona for JSConf, which was full of brilliant people and ideas. Scottsdale was quite pleasant, but super dry. Your skin needs moisturizer in the south west, or you will rapidly turn to dust.
Late April through May we headed out again, this time living and working near the beach in St. Pete, Florida. It was great to spend some decent time with family and friends in the area I grew up, versus the momentary visits I generally have back home for holidays.
June was spent back in Portland, when the weather starts to get consistently nice again and all the fair weather cyclists come out for group rides and Pedalpalooza. I also spent part of the time preparing the two talks I gave at a technical conference.
In July I made up another silly month long challenge for myself, to write on this blog once a day, and run every other day. This time a friend decided to join me and proposed making a bet with actual money on the line if either of us failed. I accepted. We both managed to finish without losing the dough. Committing to blog every day is tough. Some days I’ll admit I had to just pull something out of my ass in order to win the bet. Doing a project or challenge like that is way more fun with a friend. Suddenly you’re accountable, pushing each other, and watching how the other is doing, instead of just talking yourself into it.
August found us white water rafting down the Rogue River and camping among the giant, ancient trees in the Redwood forest of California. So glad I got a chance to see them and hope to get back there again sometime soon.
September took us to Atlanta and the northern reaches of Georgia for my cousin’s wedding. This was the second wedding on my father’s side in the last couple years, and each time it’s like a big family reunion, because everyone lives so spread out now that rarely is everyone in one place. It was awesome to get to see everyone again.
In October, O surprised me with a weekend trip to Florida for my birthday, so we could attend my good friend’s annual haunted house / halloween blowout. It’s been happening nearly every year since I’ve moved to Portland and I finally got to go. It was terrifyingly amazing.
In November, I went to another tech conference, this time in Denver Colorado to attend my forth RubyConf, with my friends at The Clymb. After that I was back for a couple days before we took off to explore Japan and South Korea for 3 weeks.
In December, after all the travel we decided to stay put in Portland and enjoy being home for Christmas and New Years.
I successfully got a consulting business off the ground last year. I’ve done this before in ’05-’07 with Electro Interactive, so getting started again was fairly familiar. Once up and running, it was pretty much on autopilot, just finding clients and working diligently. I initially loaded up on client projects, but quickly decided that more than 3-4 is too much to juggle. I need to keep it simple if I expect to launch products in 2013. I’ve whittled it down to two active client projects at any one time. More is possible if full time consulting was the plan, but my end goal is to use consulting to bootstrap a product-focused business, so I’ve tried to hold consulting down to 50% of the time. Lately I’ve been doing more to make up for time off, and I plan to cut it back a bit.
I wanted to do more public speaking last year. I gave two talks at Open Source Bridge, an annual conference held in Portland. One talk was an intro to web development with Clojure, a language I started learning earlier in the year, and the other on building developer platforms, and my experiences while helping to do that at Jive Software. Presentations are hard to quantify in terms of a pay off – it takes a lot of preparation time, and a fair amount of stress, but it’s worth pushing yourself. It was great to have two of my proposals accepted, though in the future, I’ll only give one talk per conference. Better to keep it simple, focus on less things and do them better.
Travel was obviously part of the plan last year, and I think we knocked that one well out of the park. I also visited two new countries this past fall, fulfilling an ongoing goal to explore the rest of the world. Travel reminds you of the open possibilities beyond the microcosm of your everyday life and breaks you out of your routine.
Top of the agenda for this year is launching projects initially started in 2012, both business-wise and creatively. There are a couple product ideas I intend to get launched by Q1. I plan to complete and release atleast one album with one of the musical projects I’m a part of. I plan to write here at a more regular cadence, either monthly or bi-monthly. In 2013 we haven’t made solid plans yet, but we may travel further and for longer stretches of time. The overall goal to simplify and focus more time on less things is paramount.
Happy new year and good luck with your own goals and plans for 2013.
Leave a comment
I read the book “So Good They Can’t Ignore You” by Cal Newport. It’s a quick read and I recommend it. A little repetitive (before this book the guy wrote books on how to study, he repeats things so you’ll remember it). The key ideas are – blindly following your passion is bad advice – especially if you don’t know what your doing and are going to make a big switch to something you fantasize about but know little, and instead you should focus on the hard work of building the marketable / valuable skills in your field, aka “Career Capital”.
There were two other key takeaways for me. 1 – “deliberate practice” – putting in time getting better at the basics in whatever field you are in. Professional musicians and athletes are awesome at this. Knowledge workers not so much. 2 – the “adjacent possible” – which is what is waiting around the corner to be discovered once you’ve gotten to the edge of existing knowledge in your field. Once you get to that point, making the jump to that next discovery is easier. I’ve been trying to put in more time doing deliberate practice, building out my ideas and reading.
Leave a comment
Today and tomorrow we’re going camping at Jedediah Smith Redwoods State Park. Since I may be out of network range I’m posting this early. This will be the last post of the July blog-every-day challenge. In August I’m going to back off and try posting 2-3 times a week. Hopefully a bit more developed and longer form. Writing every day has been tough at times, and not always up to my own standards, but was certainly good for me to get into a regular habit.
I also managed to run 13 times so far this month, for a total of 33.56 miles. Definitely a record! I’m going to try to get atleast one more in today or tomorrow.
Leave a comment
Why does every company have their own ad-hoc, rolled together development workflow? I’m talking about the infrastructure around source control, testing, continuous integration if it exists, and the process of releasing to production. Every company has their own approach. Often it’s something that is added in later, after pain has been felt and lessons have been learned. The only companies who seem to have this standardized are consulting companies who work on many projects for many clients, and this is because they get to continually start over and refine their process with each new project.
Isn’t this something that should be productized? Lots of companies have built products around the individual pieces of the puzzle: Github, Atlassian, Pivotal Tracker. That’s not a bad thing, having the ability to swap out various components of the system as needed.
You can’t dictate a full end to end process for a company or a team. Thats part of what (currently) makes a company unique. But you could at least have a template (or multiple?) – maybe its open source or maybe its a product, but instead of rolling your own when you started a new company or project, you run a command (a la “rails new blah”) and you get a running app, checked into git, running in continuous integration, deployed online, wired up to project communication tools etc.
Leave a comment
One of my goals for the remainder of 2012 is to get a few modest “products” out the door. In August, my personal challenge is to build and launch a video screencast tutorial site that I’ve had sitting on the back burner for years now. The goal is to get the site and the first few videos up and available by the end of the month.
Leave a comment
When I was younger living in suburban Florida, I dreamed of moving to a big city, where there’s always something to do, 24 hours a day.
About five years ago I came to Portland, and decided to move there. It had both a bigger, urban vibe to it, while retaining a small town feel. Another cool thing is it’s proximity to beautiful country. Portland isn’t that big and it’s the biggest city in the state. Most of the rest of the state is country.
Every time I go to the country I feel refreshed. The wide open space, the quiet, and the nature. I can see myself living in the country, for atleast part of the year. Some of my favorite memories of childhood were the two weeks I spent on a lake in the woods of central Maine every summer.
I think it’s all part of the progression towards simplifying life. Less is more!
I continued to work on the minimal theme a bit last night after the post. I decided to experiment with web fonts, and found a serif font that is quite a bit nicer to my eyes than Times New Roman – Merriweather by Eben Sorkin. So the template now looks like this. I’ve got it to the point now where I’m happy with the way it looks. It looks good on mobile devices too.
Next up is converting this sucker to WordPress. I helped my girlfriend do the same thing a few months ago, but it’s been a while so I needed to dig up the resources again. I remember we used this tutorial last time, so I’m just using it again.
Next I exported all the content from my existing site. On the local version, I installed and ran the importer plugin, and bam, all of my content was loaded. WordPress is great in that so much of this infrastructure is already built. So far, this is easy.
Now it’s on to creating the theme “structure”. First step is about the structure of the main HTML file itself. Not much to do there. I already have an HTML file the way I want it. Moving to the next step, theme template and directory structure. I’m starting as minimal as possible, and the static template is already built, so I just have one HTML file, some CSS, and Twitter Bootstrap assets. I just copied index.html to index.php, and moved on from there tweaking it.
It’s nearly good enough to go live, but it still needs some tweaks. In the meantime, thanks to being hacked, I may just move to a static site generator. EDIT: It’s live!
Leave a comment