Category Archives: Business

The most successful change I’ve ever made to my company website.

My blog here is the stock WordPress theme because it suits my purpose. It’s not pretty, but it doesn’t have to be. However, I have put quite a bit more thought into my company website because appearances do matter there. The single most successful change I’ve ever made to the site was investing in professional photography.

Like a lot of small businesses, I had used stock photography for years—guy wearing a tailored suit and plastic smile on the home page, ethnically-diverse group huddled around a conference table on the “contact us” page, etc. My decision to finally breakdown and hire a photographer was borne our of pure frustration. I wanted to feature the Android app that we developed for active duty members of the US Army on our site. I spent two days trying to Photoshop together someone who looked like a solider holding a smartphone. Every attempt looked amateurish. I finally threw my hands up on the air and called an extremely talented photographer friend of mine. Two weeks later, we were in the dungeon-of-a-basement below my office, with a glow stick, my cell phone, and my wife wearing a borrowed pair of BDUs. The shot came out awesome.

Adam, the photographer, spent the day on-site at our office snapping shots of everything: all the staff, our building, interesting looking items on our desks. Planning ahead, I also invited a few clients to come out for a “client appreciation day.” In exchange for their time and their permission to be featured on our website, I provided full-resolution copies of their photos for them to use as they saw fit. This idea has been one of my better ones. Having a cohesive series of professional shots of clients has turned out to be significantly more credible than snippets of testimonials.

Like most investments in creative services, it’s somewhat difficult to quantify the value of this project. Revenue has grown more than 3x since those photos were taken about a year ago. I’m sure it’s not all due to the cute picture of my daughter. However, what I do know is that the online chat feature on our site now gets used more than twice as often by prospective clients. I’m never buying another stock photo again. Well… maybe they could be used to spruce up my blog a bit.

Excited Geek

Share
PG

About the author

Jamie Begin (@rbn_jamie) is founder and systems architect at RightBrain Networks, a software consultancy and managed services provider that specializes in Amazon Web Services deployments. He regularly speaks and writes on AWS best practices and DevOps in the cloud and is the host of the regional user group, AWS Michigan. Jamie lives near Ann Arbor, Michigan with his wife, daughter, and soon-to-be son.

Something Every Freelancer Needs to Learn (as Soon as Possible).

There’s a great scene in Netflix’s new “House of Cards” series that illustrates an important lesson for freelancers. Kevin Spacey’s character, a US congressman named Frank Underwood, is meeting with a Warren Buffet-like billionaire. Frank is asking this business tycoon for a large favor and, after a bit of back-and-forth, the billionaire insists that he be owed a favor in return. However, he is not willing to reveal the nature of this reciprocal favor, preferring that Frank simply remain indebted to him:

Frank: And what exactly would you want me to do?

Raymond: Well, that part I don’t know yet. We’ll have to wait and see how things play out.

Frank: I’ve already told you I will not do a blank check.

Raymond: I must say I’m surprised, Frank. You have a reputation for pragmatism.

Frank: And I also have avoided a reputation for indentured servitude.

Raymond: I never make an offer more than twice, Frank. Tell me now if I can count on your cooperation.

Frank: You’re not offering cooperation; you’re demanding tutelage. So let me make you a proposal: I am absolutely willing to work together as equals. I will take your opinions seriously, just as the President does, but I will not bind myself to them in advance. If that doesn’t interest you, fair enough. Good luck finding someone as pragmatic as me [to help you]. You can’t purchase loyalty, Raymond; not the sort I have in mind. If you want to earn my loyalty then you have to offer yours in return.

This is an interesting exchange. Despite how badly Frank wants this favor, from a very powerful man, he is unwilling to kowtow to him. He understands the importance of mutual respect and establishing a balance of power in a business relationship, even if that means risking the relationship itself.

I recall my days as a freelance developer and I see this axiom in action. I think back to how often I pulled all-nighters because the client screwed up or allowed myself to be intimidated when negotiating payment. I was miserable and resentful and yet still always broke. This wasn’t the freedom that I was expecting since I found myself working for multiple unreasonable people, rather than just one unreasonable boss.

I no longer even negotiate on our hourly or weekly rates and I don’t get squeamish asking about budget early in the conversation. I engage each client and prospective client from the perspective of a business-to-business relationship–I’m not their employee. I don’t really know how or why this changed. It could be because I finally settled into my position as a business owner with employees of my own that need to get a paycheck twice a month. Or it might be because I’ve just gotten older and I now have a family to support. But I really wish I had figured this out 10 years ago. I still deal with challenges every day, but disrespectful and deadbeat clients aren’t among them. I choose who I work with now; it feels good and actually allows me to do better work because I care about these people more.

Share
PG

About the author

Jamie Begin (@rbn_jamie) is founder and systems architect at RightBrain Networks, a software consultancy and managed services provider that specializes in Amazon Web Services deployments. He regularly speaks and writes on AWS best practices and DevOps in the cloud and is the host of the regional user group, AWS Michigan. Jamie lives near Ann Arbor, Michigan with his wife, daughter, and soon-to-be son.

How To Become a Successful Freelance Web Developer (and Not Kill Your Career)

Almost all freelance web developers are doing it wrong. And it’s a miserable existence to endure.

If you awake one day and say “I’d like to be a freelance web developer. Now how do I get clients?” you’re already setting yourself up for failure. Yet nearly everyone who chooses this career path makes this mistake. Like consulting, freelancing ought to be a natural progression of a web developer’s career (though of course, not the only path). Done right, it becomes the obvious next step for someone who has built an extensive professional network, developed finely honed skills, and has an entrepreneurial spirit. But prematurely deciding to freelance for any length of time can severely damage your career and mental health. You’ll feel pressured to take any work you can find just to keep the bills paid and your skills will erode as you crank out an endless stream of cheap WordPress sites. Here’s how to do it right:

Step #1: Obtain full-time employment in web development.

For the readers starting from scratch, this first step obviously is the most frustrating. After all, how do you get experience if every job requires experience? My initial advice is dependent on just how close to zero you’re starting. For those who are self-taught but just lack a bit of pedigree, I would recommend contributing to open source projects on GitHub and building a technical portfolio. Then craft a project-focused resume rather than a chronologically organized one. If you are uncertain about your skills and find the thought of contributing code a bit intimidating, offer to write documentation. Good documentation is critical to the success of every open source project and yet most maintainers are loathe to spend time on it because writing code is more fun. Plus, the ability to understand and explain other people’s code is an exceptionally valuable professional skill to develop.

If you lack the expertise to yet make sense of code, my recommendation would be to consider taking a few classes at a local community college. A well-taught certificate course will help you establish a baseline of skills. A two-year degree may or may not be worth the investment, depending on the content. A four-year degree in “web development” is, without a doubt, not worth either the cost or the time (a Computer Science or MIS graduate from a reputable school is infinitely more employable).

Obtaining full-time employment early in your career, even if you eventually prefer to be a freelancer, is important for a number of reasons. You’re exposed to how a business operates from the inside and will learn what works (and what doesn’t work) on someone else’s dime. Operating as a freelancer can also be a financially precipitous position for even those that are successful. A secure job will provide the opportunity to build up a savings cushion and practice managing personal finances.

Step #2: Start networking like your job depends on it.

I’ve been a professional web dev since 1997 when I first wrote a simple online shopping cart in Perl for a small computer store where I was a PC tech. Over the past 16 years, the biggest mistake I’ve made was spending too much time honing my technical skills at the expense of all other aspects of my career. I’d rather spend hours tangling with the toughest bug than go to a business social event. It wasn’t until my late 20s did I stop discounting “soft skills” as pure fluff.

Spend some effort getting to know your co-workers; especially those whom you rarely interactive with and don’t know well. Chat with clients about more than their immediate project. As the level of trust builds, ask about other aspects of the business you might be able to assist. Attend local user groups, meet-ups, and developer conferences. These events can require a significant time commitment but are invaluable because everyone is there specifically to meet you (and people like you.) MeetUp.com is a popular resource that I’ve used with success, as are searching for local groups on LinkedIn.

This networking is laying the groundwork for your eventual freelancing and is absolutely necessary for your success. A moderately-skilled programmer who’s really good at communicating with people is worth at least 3-5x more to most businesses than a brilliant programmer who prefers to be left alone all day. Schmoozing increases your “social surface area”, which leads to more professional contacts and more work, but also improves your ability to translate between tech-speak and business-speak. Your goal is to become known as someone who solves problems, rather than the “web guy.”

Step #3: Leverage your network to find a job that’s compatible with freelancing.

For most developers who love their field and have no desire to freelance, I’d recommend seeking employment at a software/web development company rather than an insurance company, bank, etc. Being on the front lines as production staff (the people making the money) generally means that your interests and the company’s interests better align: higher pay, more interesting, varied work, and greater respect. However, for those looking to moonlight on the side, this often presents a conflict of interest. Don’t be tempted to circumvent a non-compete agreement, unless you have both a good legal standing and a very good personal reason for doing so. This can backfire and ruin much of the goodwill you’ve spent your career building. Additionally, it will burn a bridge that otherwise could be a great backup plan in the event that freelancing doesn’t work as well as planned.

A better option is to find a job that allows you to comfortably leave “work at work.” While not as exciting (or lucrative) as other career options, it does leave enough energy to pursue side work in the evenings and on weekends. You may even want to make a lateral move and spend your days doing something other than development to help prevent burnout. In my case, I took a job as an IT Manager for a microchip engineering company.

Step #4: Tap your network to find gigs.

I use quantity of LinkedIn connections as a measure of preparedness to enter the freelance marketplace. Are you connected to less than 100 people? If so, step up your networking efforts. While wholly arbitrary, it’s a good barometer to whether you lack a large enough network to support freelancing. Using this network, reach out to past employers, coworkers, and clients. Let them know that you’re currently seeking side work and whether they know anyone who needs help. This type of shameless self-promotion might push you outside your comfort zone, but becomes easier with practice. And if you have the desire to becoming solely reliant upon freelancing to earn a living, learning how to sell yourself is an essential skill.

I’d also recommend that you give freelance marketplaces such as ODesk, Elance, Freelancer.com, and Guru.com a shot. Don’t concern yourself with the fact that you’re bidding against developers from all over the world who are willing to work for pennies. My company is in the top 0.8% of providers on one of the aforementioned marketplaces. We use it for short term, filler work and routinely bring in more than $100/hr because I’ve gotten rather good at marketing our services. I’m highly selective about the projects I bid on and in my initial contact I address the specific problem that’s immediately in front of the client.

Step #5: Keep raising your rates until your gigs pay better than your “real” job.

Rational people make purchasing decisions based on value, not price. Pricing yourself beyond the reach of irrational clients is a good first line-of-defense against taking jobs you’ll regret. As you work to establish your reputation as a freelancer, your time becomes more valuable. The industry is fraught with unreliable and poorly skilled freelance web developers. Always ensure that your rate grows with your value.

Properly pricing your web development services can be tricky, especially for those who don’t have a background in business. However, if you’re taking the advice of this article and gradually and organically growing your freelancing, it actually becomes rather simple: Allocate a fixed amount of hours each week to your freelance gigs, perhaps 12-20. Doing so will help prevent burnout and, since work expands to fill available space, force you to work more efficiently. Once you’re consistently booked each week, raise your rates on new clients by 20%. Rinse and repeat until you’re turning away more than half of new business and then begin raising rates on existing clients. The goal is to hit an equilibrium where your schedule is booked solid 4-5 weeks in advance. Getting to this point will take several years of hard work and you will make a lot of mistakes. Learn from them and move on.

Step #6: Profit! (er, hopefully)

Assuming you’ve been patient, persistent, and extremely driven, by this point your freelancing should be more lucrative than your day job. The decision of when to make the leap into full-time freelancing is a very personal one. It will vary depending on your risk tolerance, skill level, amount of debt, family obligations, and other factors. In other cases, such as with myself, the decision is made for you through the loss of your job. However, looking back on it now from the perspective someone who’s managed the finances of a business, ideally I wouldn’t recommend quitting until you’re consistently making double your annual salary with freelancing 20 or less hours a week. If that sounds like a lot of money for a lot less work, you’re in for a shock. At the end of most months, you’re likely to be making about the same as you did at your day job.

Now that you’ve escaped your day job, remember this mantra: Always Be Selling. Freelancers frequently slip into a “feast or famine” cycle. One month you may be feverishly pulling 70 hour work weeks while the next your diet may consist mainly of Ramen and PB&J. This cycle occurs when you let your pipeline dry up and focus exclusively on the fun work of building web sites. Even if you’ve got more work than you can handle, spend one day a week (20% of your time) on business development efforts. It needn’t be anything as dreadful as cold calling (and in fact, shouldn’t be if you’ve carefully managed your pipeline). Call/email past clients to reconnect, attend networking events, or update your blog.

Beyond: Specialize and then clone yourself–or hire (whichever is easier.)

I could write a book on everything that I’ve learned (the hard way) that fits under this heading. Briefly though: the most important bit is to specialize. My company, RightBrain Networks, specializes in consulting on engineering best practices for applications that run “in the cloud” (generally Amazon Web Services). There are other companies out there that only make websites for luxury car dealerships or personal injury law firms. And there are yet other, independent freelancers who make a killing supporting legacy ColdFusion or ASP classic applications. Don’t be afraid to specialize. At first, it can be unnerving to turn away work that doesn’t fit with your new, better-defined vision. But it’s a necessary step unless you want to permanently be competing with every person on the planet that has ink jet-printed business cards that say “freelance web developer.”

Hiring is an even more tangled topic to wade into. Growing to need employees is what graduates a freelancer from the ranks of the self-employed to a business owner. However, a person absolutely must be sure that he wants be a business owner first and a web developer second. Plenty of businesses fail because the owners figure that it will run itself if they focus on the billable work. Employees are God-awful expensive and the company has to be in a condition to support them, but it’s because they’re worth it when/if you’re ready. Don’t be in a hurry to hire and remember that a comfortable living can be made as a successful freelancer, sans employees. Work your network and find other freelancers to assist with overflow work on a contracted basis. Do this for as long as possible before contemplating hiring actual employees.

Share
PG

About the author

Jamie Begin (@rbn_jamie) is founder and systems architect at RightBrain Networks, a software consultancy and managed services provider that specializes in Amazon Web Services deployments. He regularly speaks and writes on AWS best practices and DevOps in the cloud and is the host of the regional user group, AWS Michigan. Jamie lives near Ann Arbor, Michigan with his wife, daughter, and soon-to-be son.