So you’ve got a glorious vision for the next market-disrupting app and want to hire a freelance developer to turn your dreams into a reality.
Unfortunately, going from idea to product is not as simple as throwing some cash at a developer and saying, “Great! See you in a few months when it’s done!”
Your idea needs to be fleshed out into enough detail that a freelancer can actually translate it into code. If you already have a refined list of product requirements, user stories, features, and detailed design documents, then you’re off to a good start.
If not, then here are the decisions you must make about your product before hiring a freelance developer.
Looking for top talent fast? See how Arc can help you:
⚡️ Find developers, designers, marketers, and more
⚡️ Freelance or full-time remote + fully vetted
⚡️ Save up to 58% with global hires
Hire top talent with Arc risk-free →
Budget, Scope, and Design
How does one go from idea to product? What do you need to prepare before you’re truly ready to hire a developer and turn your idea into a reality?
Some entrepreneurs may have a vision and an idea of high-level deliverables but aren’t sure what are the next steps. If you are planning to hire a developer, there are three main things you need to prepare for your project: budget, scope, and design.
Scope is a list of the main deliverables, functions, and features your product will have. “Design” can just be a rudimentary idea of how your app will look, feel, and flow. Your budget is a result of scope and design, your design is informed by features defined in the scope, and so on. All three of these intertwine and overlap.
The rest of this post will focus on the decisions you must make about your product before a developer can translate your idea into code.
Read More: How to Integrate Freelance Software Developers Into Your Current Team
Budget: How to Determine Your Budget
This is the most important component of the three, but it can be difficult to determine. When you hire a professional, you should have a time and cost estimate, otherwise, it’ll be difficult to move forward. Maybe you were given a budget to create an app at an established company. For entrepreneurs, sometimes it is not so simple.
How much is reasonable to spend on making an app?
Apps are expensive
There are many things that go into the high price tag for an app. To put it simply, you just calculate the hours it will take to build out all the features, and then multiply that by the hourly rate your developer charges.
Consider your options
There are a few alternatives to hiring a freelance developer. A great option is to hire a full-time developer or CTO, pay an app development agency, or build it yourself. They will be more invested in your product, and can provide some continuity during the product’s life. However, finding a quality full-time developer or CTO as an entrepreneur can be fairly difficult or nearly impossible if you’re just starting out.
A third-party app development agency may have the most resources, able to help with you with everything from design to development, but you may need a significantly higher budget for development agency option.
And of course, you could always build it yourself. This is certainly the cheapest option, and not unheard of — take Polymail’s founder, for example. Neither he nor his two co-founders had a computer science degree, but they built Polymail themselves, and he suggests that you should build it yourself, too.
Let’s assume you want to hire a freelance developer. This may be a more realistic option for entrepreneurs who are trying to squeeze every ounce of runway out of their limited budget. According to our study of freelance rates, the rate varies widely by region. Consider the tradeoffs to hiring a cheaper developer.
Read More: How to Create a Software Development Workflow for Freelance Hires
How Much Time is Required?
The next step is to calculate the total number of hours it would take to complete the product. It is essentially determined by the number of features your app has, the complexity of the app, and its development environment.
A common mistake here is to say “Okay, I want something exactly like Uber, but for X” or “I want Facebook for Y.” While these provide the direction you want to head and can help you figure out exactly what you like about those apps and which features you would like to adapt, they set your expectations too high.
Unless you have $500,000 to spend, then don’t expect a Facebook clone.
Pay by the feature
Most of your budget is determined by the functionality you want to include. Some entrepreneurs are hesitant to reveal their budget, in fear that the developer will simply charge them the maximum amount. In reality, it gives them an idea of how much functionality is realistic within your budget. Many times they will provide an estimate for:
- A Minimum Viable Product (MVP) with the absolute minimum number of features
- The amount of functionality within your budget
- The amount of money it would take to really impress you
As an entrepreneur, your goal should be to get your product to market as soon as possible with the least amount of money. Essentially, you should only implement an MVP and nothing more, and we will discuss more about “Scope” in the next section.
Besides setting your product’s features, you need to consider the complexity of your app. Anything that integrates with a server (backend), such as for saving user information, will be more complex and thus more expensive.
Also, consider the implications of choosing certain development languages; for example, it may be easier to find good developers in more popular languages and frameworks.
Read More: 8 Signs Your Freelance Developer Isn’t Working Out & What To Do About It
Scope: How to Decide the Scope of Your Project
MVPs are the real MVP
As an early-stage entrepreneur, you may not have enough money to build a full product. Even if you do, now may not be the time. It is usually best to ship your product ASAP, and to do so, you have to narrow down the features only to the ones that are absolutely critical. Since this is your MVP, it will allow you to truly test product-market fit and iterate from there.
That being said, it’s possible that the MVP you come up with may be impractical to implement. Without domain knowledge, it is difficult to assess which tasks are easily programmed, which are more difficult, and which are nearly impossible.
If you can, consult a friend with software expertise about the features in your MVP. Otherwise, just try to rank your product features in order of importance, from must-haves to nice-to-haves, and expect that your MVP may change after consulting your developer.
Think Like a Product Manager
Arriving at an MVP is easier said than done, and many posts could be written about just this topic. Read a few articles about creating a “Product Requirements Document” (PRD), which is used in product management, but relevant to you in this case. You don’t need to create a full-fledged PRD, but reading examples will give you a sense of how a product manager turns a product vision or pain point into implementable steps.
First, consider your objective:
- What is the main problem your idea solves?
- How is it different than what’s already in the market?
- How does this provide value to your target customers?
Begin with the main user stories and user flows directly related to your product’s main objective. Consider the who, how, and why. For example, “Laura is a young professional who wants to search for a nearby restaurant to find a place for lunch.” Answer these questions:
- Who are the people using your product?
- Why are they using your product?
- How do they accomplish this task?
Think about the main value proposition that makes your app unique.
- Which features are central to this proposition? This is what you want to test in your MVP.
- Which features would be nice, but aren’t vital? These can wait until the next release, and maybe you will end up prioritizing new features or ideas.
Read More: 10 Ways to Avoid Failed Software Projects & Why They Fail to Begin With
Choose a Tech Stack
Next, you need to determine what platform and technologies you will use to create the product, and which specific tech stacks to use on both your product’s front and back end. This will help narrow your search for finding a freelance developer.
We will discuss a couple of their key points here. Keep in mind that each developer will probably be biased towards whatever technologies they’re used to working with. Instead, ask yourself these questions:
Mobile-first, mobile-only, or mobile later?
- Mobile first: e.g. Google Maps web app, you create a web app that will also look good on a mobile browser.
- Mobile only: e.g. Uber, means this app is only relevant to mobile users, and needs things like GPS, gyroscope, or other tools only available on mobile.
- Mobile later: e.g. Salesforce, good for B2B apps with complex interfaces, where it would be impractical to use on a mobile phone, but you might add a complementary mobile app later.
Platform
- For mobile, is it an iOS or Android phone?
- Is it a native app, hybrid app, or web app?
- For native apps, is it Mac, Windows, or cross-platform?
Community
Consider the ecosystems around each technology. Are there people available to hire for these languages? Is there a vibrant developer community?
While tech stacks aren’t paramount — numerous tech stacks could work equally well for implementing a certain solution — keep in mind that they may influence your company culture, ability to hire, and ability to scale in the future.
Functionality
Remember: complexity = $$$. Ask yourself the following questions about common features that increase the complexity, and thus, cost, of the app.
- Do users login through email, social media accounts, or not at all?
- Do users create profiles?
- Is there third-party integration (e.g. Skype)?
- How does the app make money? (Platform fee, membership fee, freemium, in-app purchases, up-front cost)?
- Is there a search function, ratings or reviews?
- What administrative access do you need to add or edit content?
Read More: How to Be an Engineering Manager Your Company & Team Respects
Design: Wireframing, User Flow, and Prototyping
Your Developer is not a Designer (probably)
Having detailed design documents is typically less important than a defined budget and scope. If you already know your product’s objective and value proposition, user base, main features in the MVP, platform, and possible programming languages, then you are well on your way. Now it is time to figure out how a user flows through and interacts with your app, and how it looks and feels.
The biggest thing to keep in mind at this stage is that your developer is not a designer. You could consider hiring a designer, but it may be too expensive at this point. Your developer can make design suggestions and come up with something that will work, but don’t expect effortless user experiences or sleek user interfaces.
One compromise is to hire a developer to create a logo, icon, or other parts essential for branding, without designing the full interface. This means it’s mostly up to you and your developer to come up with a design for your app.
The more design material you can provide, the better. This makes the developer’s job easier, and will also help you end up with a product that you actually want. Just like budget and scope, there are entire posts dedicated to this topic; after all, it is a huge profession in itself.
To get you started, we suggest that you consider: wireframing, user flow, and prototyping.
Read More: 9+ Project Management Tools for Managing & Working With Developers
Wireframing
If nothing else, you should at least draw up a couple sketches of what you want your interface to look like. Check out wireframing tools like Balsamiq, where you can create low-fidelity sketches of the screens of an app or website.
User Flow
Everything at this stage should be informed by what you decided about your budget and scope. Try doing the absolute minimum to get your product to complete its task. Start to think about how your user will flow through the application, and make some rough sketches that illustrate this idea. This is a good time to take a look at your favorite apps, and see how they handle user experiences.
- Do you need a navigation bar, with multiple pages?
- If you need administrative access, how does interaction look on your end?
- What does your app look like?
Prototyping
If you have some design chops, try prototyping your product with a website like InVision (our team uses InVision!). You can create a clickable prototype to get an idea of how your app will look and feel. Get someone to test it out, and give their feedback. Watch them while they use it.
Prototyping is a wise step because it can help you catch awkward user flows and interfaces early on, and even help you refine the scope of your MVP after seeing how real users interact with your product. This can help save you money down the road since it is much easier to make adjustments now before they are cemented in code.
Read More: Managing a Distributed Software Development Team: 5 Lessons Learned
Wrap-up
Hope that wasn’t too overwhelming!
You may have more questions now than when you started, but hopefully this can point you in the right direction.
You don’t have to be an expert on any of these topics, but fleshing out the details of your product before you hire a developer will only help in the long run.
You can also try Arc, your shortcut to the world’s best remote talent:
⚡️ Access 350,000 top developers, designers, and marketers
⚡️ Vetted and ready to interview
⚡️ Freelance or full-time