In the summer of 1998, when President Clinton fended off allegations of sexual impropriety and Donald Trump filmed a cameo in a Woody Allen movie, I embarked on my career as a freelance web developer. Twenty years and more than 300 websites later, I’m still at it—always working on my own and always from home. Over that time, I’ve had the pleasure of partnering with many prominent advertising agencies and boutique design firms as well as scores of local businesses and individuals.

Those interested in making the switch to freelancing have often asked me for advice, and I’ve been happy to help with whatever words of wisdom I can provide. This article is a distillation of much of that. And it may prove helpful not only to developers and programmers who wish to freelance, but also designers, project managers, copywriters—anyone who desires to work independently from home in our industry. It’s a career path that I have loved, but it’s not for everyone.

My background

None of this was planned. I did have a teenage interest in programming, first learning BASIC on the Timex Sinclair 1000 and then Assembly Language on the Apple II. Despite this, after graduating college, I pursued a career on the business side of magazine publishing. Less than six years later, however, I needed a change, and my path took me to Pratt Institute in New York where I enrolled in a graphic design program. This included electives in HTML and JavaScript that unexpectedly rekindled my desire to program. A teacher then referred me to a recruiter and my new career as a freelance front-end developer was born.

The primary element of successful freelancing

When I’m asked the more existential question of how I’ve survived so long as a freelancer, my response is always the same: above all, be reliable. Don’t get me wrong; it’s important that my delivered websites work as promised—requirements must be met and best practices followed. But I quickly found that my clients were not necessarily looking for perfection in the work itself. In fact, to this day, I often have the odd feeling that no one even looks at my code as long as there aren’t any bugs.

What really matters is delivering on time. Deadlines are sacrosanct. If project managers, who seem perpetually overworked and under pressure, can depend on me to keep to a schedule, that’s one less part of their overall responsibilities to keep them up at night. For that, I’m routinely thanked. My creative use of CSS or efficient JavaScript coding? Rarely is that even acknowledged.

Achieving this kind of reliability ends up being the primary challenge for a freelancer, especially when juggling multiple projects for multiple clients. Then there’s the additional stress of knowing that there’s no one to step in during sickness or emergencies. My go-to sports metaphor is that working as part of a group is like being on a basketball team. Having a poor shooting night? Dish the ball off to one of your teammates to pick up the slack. A freelancer working from home is more like a boxer—you’re alone in the ring with no one else to take credit or assume blame. Throwing in the towel is not an option.

Inevitably, though, there will be issues that can affect a freelancer’s ability to be reliable. Delays occur, scopes change, deadlines shift. That’s when open and honest communication with the client is necessary. In earlier days, I feared that I wouldn’t be hired for future projects if I rocked the boat in any way. In reality, though, I have found quite the opposite to be true. If the best interests of the project and its processes are kept in mind, I believe clients appreciate when red flags are pointed out, as difficult as those conversations may be. Being a successful freelancer is not the same as one who is excessively pliant. One must be proactive in voicing concerns that may affect his or her role on any project.

Be the generalist who specializes

My specialty is front-end development. Clients hire me to take beautiful designs and translate them into code that works in everyone’s browsers. To do this, I’ve had to master HTML, CSS, and JavaScript. Despite having marketable knowledge in related areas, including Flash when it was popular and now WordPress, my core expertise remains unchanged. And it’s this core expertise that gets me work.

This is important because I have found that most projects for which I’m hired as a freelancer, particularly the larger ones, resemble an assembly line—different individuals are tasked to complete one specific part of the process while working alongside others doing the same. Ultimately, everything is assembled into the final product. It’s in these instances when I’m utilizing that one skill that I’m expected to do very well. That I possess much ancillary knowledge is irrelevant.

As I’m sure everyone has noticed, the descriptives “full stack developer” and “full stack designer” have gained prominence of late. In earlier days, we simply referred to these individuals as having a broad skill set in their discipline. Whatever the terminology, having a wide swath of knowledge is certainly a huge plus and can only serve to extend one’s career, but bear in mind that it’s important to have that one defined skill that you do better than most. The freelancer who is the proverbial jack of all trades and master of none is not often seen as enticing to hire.

The myth of diversification

My perception early on was that being a freelancer would provide more financial security than the alternative. Instead of having all my eggs in the one basket of a permanent employer, I expected to spread the risk among a roster of clients. There would always be someone to pick up the slack if any one of them flew the coop.

In practice, though, I have found this to be an unsustainable model as it’s simply not possible to satisfy all requests for your services during peak times—there’s only so much work any of us can handle at once. This results in some clients necessarily forced to look elsewhere to staff their projects. Then, the next time around, you may no longer be at the top of their resource list of freelancers.

This contributes to the inevitable equilibrium where one or two clients emerge to represent well more than half of my business. I’ve seen this dynamic play out again and again, no matter the ups and downs of the economy and demand for my services. The smaller, less-frequent clients are there for when I’m otherwise available but are not my priority. On the bright side, having primary clients who hire me on a regular basis provides a dependable source of income; the negative is that I’m rarely as diversified as I once hoped I would be.

Homebound networking

So how does one obtain work in the first place? After using a recruiter early on, which, for me, was particularly necessary since I lacked any relevant experience, my network expanded as people with whom I had worked inevitably moved on to new employers. These contacts, most often designers and project managers, kept me in their virtual Rolodex as a potential resource, thus growing my network.

My other significant channel for leads has been from the simple act of meeting people in everyday life and sharing with them what I do for a living. These casual conversations —even with those who seemingly had no need for my services—often create serendipitous opportunities that lead to new work. As the saying goes, it’s not the people you know, but the people they know. Don’t be shy—tell the world what you do to help generate word-of-mouth referrals. You are your own greatest advocate.

While LinkedIn serves as a useful conduit for exposure, it’s the freelancer’s own website that provides the best and most-controlled opportunity to show who you are and what you do. But, as someone who has consulted with clients in hiring decisions, I have seen so many of these websites obscure the very information necessary to make such a choice. Avoid the temptation of making the website itself a demonstration of one’s skills. Eschew needless animations or distractions. It’s best to keep key information, such as the portfolio and resume, easy to find and, yes, even to print.

Of course, the more repeat business one can secure, the less need there is to obtain new clients. I believe the personal relationships I have sought to cultivate are what have helped me with this. By meeting with key contacts in person, unspoken bonds are formed that lead to genuine partnerships, transcending traditional employer/contractor interactions. In the age of Skype and Slack, the freelancer working from home can go long stretches without any direct face-to-face communication with those for whom they are working. If logistically possible, one must move past the screen and make an impression in the real world.

Show me the money!

There’s no question that my least favorite part of freelancing is the constant need to submit estimates. In fact, I tend to look at it as a no-win situation. If my estimate is readily accepted, there’s a shallow feeling that I’ve left money on the table; if a client responds in disbelief that I asked for so much, I feel a sense of shame that I’ve greatly overreached. But there’s a misplaced fear that by asking for too much, the client will be offended and walk away. That’s never happened to me. If anything, apologies are offered and negotiations commence.

Always remember, though, that your work has value and deserves to be compensated appropriately at market rates. By significantly underbidding estimates, which is always a temptation when work is slow, it implies to a client that you don’t value your own work. On those rare occasions when I’ve made the mistake of selling myself short, I tend to work on those projects “angry”—not at the client, but at myself for being placed in a situation where I must invest more time for less money.

The invoice has been submitted and paid. Then what? Many prominent financial advisors recommend keeping a three- to six-month reserve fund for emergencies. What I say is that, as a freelancer, you can never save enough. Booms and busts are common in the modern economy and seem to happen with greater frequency. Therefore, save and then save some more. I’ve endured two major economic downturns—the collapse of the dot-com bubble in 2001 and the Great Recession of 2008. Each time, my income essentially dried up for a lengthy duration. Having enough savings set aside enabled me to ride out the storm.

Maintaining a work/life balance

Much has been written lately about the mental health challenges faced by those who work in our industry. Most of us go through various stages of our career when, at times, the stresses of one’s professional and personal experiences can take their toll. I have not been immune to this. As my career progressed, the care-free mindset of youth was gradually supplanted by concerns of where my life was headed. Self-confidence became self-doubt. I don’t see this necessarily as a manifestation unique to our industry, but simply the result of being a human being in modern society.

Working from home as a freelancer can make matters worse. In the relative isolation of a home office, it’s easy to slip into a downward spiral without having others nearby to offer encouragement. When the time came, it was my responsibility to make a concerted effort to reach out to my clients and friends (often one and the same) for support. People can relate and empathize. We are not alone in our struggles.

What helps most in keeping myself balanced is getting away from the computer, or any video screen for that matter, as often as possible. Regardless of workload, I make sure to take trips to the gym, visit friends, or simply go for a walk. I also frequently take classes that have nothing to do with my career to stimulate different parts of my brain. Right now, I’ve dedicated a significant amount of free time to learning German, which is a welcome challenge wholly unrelated to web development.

When teaching yourself something new related to work, try creating projects that are both rewarding and challenging. To keep motivated, pretend to be your own client and set deadlines and milestones. Last year, I did just that and developed a jQuery plugin, which I wrote about for CSS-Tricks, that allows the browser to read webpages aloud. It was a terrific learning experience, and I had fun along the way.

Moving forward

These have been my own reflections on a freelance career that’s closer to its end than its beginning. Others with a similar career history may have different impressions and advice—the comments section below is a terrific forum for voicing any corroborating or contrasting opinions.

As with any career path, being a freelancer has embodied its own set of rewards and sacrifices. And while my regrets are few, those who consider freelancing will have to decide for themselves whether it’s right for them. The liberating part of making that decision is that there really is no “right” answer. We are all different, always changing, ever evolving. What didn’t work for us professionally ten years ago may feel perfectly appropriate at a later time.

In a sense, though, perhaps the decision has already been made for us. With the era of lifetime employment long past and companies discharging employees at a faster rate than ever before, it may be time to recognize that we are all freelancers now.