Hiring a freelance developer is exciting. It usually means you’re starting a business, building a website or an application. But it’s also daunting.
Most likely, you’ve never managed a developer before. And sometimes we developers don’t get the best rep.
Niftic has worked with a lot of freelancers, both for client work and for our internal ventures like Ariva & Fundhero. I’ve also been a freelance developer, so I want to share ways I’ve found to ensure your project is successful.
Success means avoiding the common pitfalls of the final product — not looking like the designs, tons of bugs, messy code, a tense working relationship, and so on.
These issues can derail a project. I’ve heard so many stories of first-time founders hiring a developer, with all of their savings, and ending up with unusable code and their company still at square one.
Sometimes this is due to their choice of developer, whether or not they outsource, etc.
Usually not. Most times, it’s the relationship they have with the coder, the expectations they set, and how they manage the project.
The top five steps I’ve found to ensure project success are building trust, setting clear goals, using consistent project management, finding design-dev improvements and building flow into the process.
Step 1: Build Trust
This should be woven throughout steps 1 through 5. That’s how important it is to build trust with that person or the team that’s building out your idea.
Think from their point of view. It’s likely just a paycheck.
Sometimes your project may be the one that gets them up in the morning, but I wouldn’t count on it.
And if it falls apart? Well, there are some bad consequences for them, but not nearly as bad as for you.
Trust is what helps align them with the success of your project, and gets them a little more motivated and excited as well.
To build trust:
- Validate their expertise
- Be aligned with their success
Validate their expertise
If you’ve hired the developer, then you must have liked their work right?
When you start working with them, make this clear. Tell them that you know they’re world class at what you’re having them do.
Everyone wants to feel important. And everyone puts a ton of time into their jobs – so give them a little praise.
Be aligned with their success
This is the step where you have to get away from your own goals for a minute.
Keep your big goal in mind, but become genuinely interested in the success of the developer or team you’re working with.
That can mean giving them introductions to future clients, showcasing them in your blog or network, or helping them figure out their own goals.
You don’t have to guess what they want, or what their goals are. You can ask, and you should ask during the interview process or at the beginning of the project.
After you’ve shown someone else that you’re interested in their success, and that they’re important. They’ll go to the moon for you.
Step 2: Clear, Clear, Clear Goals
Remember why you’re doing this project in the first place. What unique benefit are you providing?
When you are creating tasks for a developer keep this in mind. Does this task (and the ultimately the feature from it) advance the unique benefit that your company or service provides?
Regardless of what framework you’re using. Whether it’s agile, scrum, etc.
Be wary of productivity without a purpose.
As projects progress, oftentimes that means feature creep. While working on a core feature, suddenly you know that you just NEED this other integration, or retina scans, or “let’s add a little artificial intelligence!”.
It’s fun. We all love to imagine our website or app as it’s total potential. That perfect thing that does everything we want.
This is extremely valuable for your business, your budget, and coders will thank you for not having them re-coding features a hundred times.
Step 3: Choose a Consistent Project Management Strategy
This is tough. As a manager and a coder, I’ve never found the perfect process.
There are a ton of good tools. Tools that will absolutely get the job done.
With every new project there’s an allure to try the new thing. Starting from scratch and teaching everyone a new psychological framework.
I always recommend keeping this simple. A Trello board is usually plenty.
At the most basic level this means creating a board with:
- Done (Review)
You can add in a place for bugs, for things to be deployed live, etc.
But the key is to keep this simple and accessible, and keep the same process throughout the project. That means deciding ahead of time what you’ll use throughout.
This way you always have a place to point the developer to if they start to get off track, and it gives you an easy place to track progress.
Step 4: Make the Design-Dev Handoff Seamless
At niftic, like a lot of other companies, we took a roundabout way of finding this out.
Our incredible design team would get me illustrator files, or pdfs, or photoshop files, or images, or whatever.
Then we would build it.
This led to lots of guesswork, lots of odd steps, lots of frustration.
The tool we found that solved this was Zeplin. There are probably other tools similar.
Zeplin works with Sketch and allows our designers to export the designs where our dev team can:
- See the exact CSS of elements
- See the exact spacing of elements
- Export content and images directly
This has been a lifesaver for us.
For your project – don’t get weighed down in tools. But using something like Zeplin means you get the development as close to the designs as possible, and you save a ton of time.
Step 5: Build Flow into the Dev Process
As a manager, or a designer that’s working with the developer you’re in charge of their productivity.
The best way for a developer to be productive? Getting them into flow.
Flow occurs when “a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity.”
You can help build flow into the dev process by being strategic about the tasks you assign.
Flow requires noticeable small steps towards a goal.