Freedom comes with a price, but for many, it's a price worth paying.
If you're skilled, well respected among your peers and great at developing software, you might earn more cash if you pursue a career path as an independent freelance developer for hire. To be a successful freelancer, however, you'll need to build some soft skills that can at first seem irrelevant to writing great code.
Be a generalist developer or a specialist?
One mistake many freelance software developers make is to force a specific technological solution onto clients -- the proverbial solution in search of a problem, said Charlie Morris, president and owner of CDM Agility Consulting in Doylestown, Pa. Instead, the best freelancers focus on the business problem they are tasked to solve, and then figure out what technology to apply.
"They weren't dogmatic about the technology solution -- it didn't have to be Microsoft, or Google, or open source," he said. "It was 'Let's figure out what works best for you' versus 'I'm a Microsoft expert, so everything looks like a Microsoft solution.'"
Morris is a mentor with the Score Association, a national organization that mentors and educates owners of small to medium-sized businesses (SMBs). Prior to that, his 40-year IT career spanned software development and various executive management positions, including CTO. Over that time, he's preferred to work with software developers who were generalists over those who specialized in one specific coding language.
"What we were looking for were generalists who may or may not have been the best expert in their field in a certain technology, but they were expert problem solvers," he explained.
Know your audience and speak their language
One challenge that technologists run up against is learning how to convey complex technological concepts to laypeople, Morris noted. Freelancers must master this skill to effectively communicate with clients, including members of the C-suite.
"It's really important that a freelancer knows the audience that they're talking to and knows what [that audience is] listening for," he said. "It's [about] understanding your audience and being able to talk in at least four different languages."
Morris breaks down how to approach such conversations:
- CEOs want to know the software's role in fulfilling the overall business strategy;
- the COO's main concern is how the software project contributes to operational efficiency;
- CIOs and CTOs need to know how the solution in question aligns with their overall technology strategy; and
- the CFO focuses on how the proposed solution affects the top or bottom line.
Good communication skills are key to set client expectations. Morris often counsels SMB owners who contract freelance developers to create software for their organizations. These owners typically know little about software development or even the questions to ask freelance developers in the earliest stages of a project. This puts the onus on the freelancer to educate the client before diving into the work.
"The worst thing you can have is mis-set expectations," Morris said. "That's one of the sources of problems with software projects -- an uneducated customer expects one thing, and the developer has not set their expectations."
Project confidence in your skills
Many aspiring freelancers are uncomfortable with how to approach and sell themselves to potential clients, and they may need to build their confidence. Attending technology meetups is one way to hone this skill and network at the same time, suggested Nick Janetakis, a freelance full-stack developer, consultant and trainer in Holbrook, N.Y.
"If you live near a big city, there are a lot of good meetups to go to," he said. "Try to intermingle with people and see how things are going with these folks."
Another way to attract clients, Janetakis said, is to post articles about your software projects and experiences, or topics related to software development. These materials can be effective inbound marketing channels -- a potential client does a web search related to a project they have in mind, reads your article, identifies you as an expert and reaches out to you. The same principle applies to YouTube channels and podcasts, he added.
Know your worth
Once a freelancer progresses into negotiations with a prospective client, they should consider what kind of relationship to build with the client, said Leon Brown, a freelance full-stack developer and trainer based in Liverpool, U.K., and author of Going IT Alone: The Handbook for Freelance and Contract Software Developers.
If the software project is a short-term, one-off arrangement, it can make sense to charge a high rate, Brown said. However, if the goal is to nurture a long-lasting relationship, it might be smarter to negotiate a lower fee and generate more revenue from that client over a longer period of time.
The most successful freelancers have the communication skills and emotional IQ to understand and deal with customers effectively. "Sooner or later, you're going to butt heads with a client," Morris said.