1. Avoid cheap freelancers.
2. Always start with small tasks to test a freelancer. Assume a freelancer is unreliable until proven otherwise by his actions.
3. Make a wireframe yourself, then hire a designer to design it, then hire a developer to develop it. To save money, you can skip the designer, but the end result will be ugly. You need to decide what you want to build and specify how it will look like BEFORE hiring someone to build it.
4. If you don't want to or don't know how to make a wireframe, consider hiring a good consultancy to do it with you. They're more likely to have this skill than freelancers.
I believe essentially you need help building your MVP, and your options (freelancing, full-time employee, co-founder, or consultancy) are just different ways of getting that help, they don't matter as much as finding someone you can trust, and managing expectations, especially your expectations.
We hired an expensive design firm that had done the work and designs of other companies in our sector. Those companies had decent UI and a good amount of users.
The company spends a lot of time doing something like a vision quest to accomplish branding, and UI designs take a long time.
The UI was nice to see come together, but it was clear their designer had no experience with this kind of product and target audience.
The branding and logos and typefaces are top notch. It is all congruent with a story and has good rationale behind it.
Now, the external development firm we work with also has designers in it. The work we do with them is billed at $60/hr when that designer is involved, so the designer is probably getting $40. In the scale of cheap vs expensive when it comes to designers, this is not considered cheap, but it is much less than the prior "enterprise design firm". Cheap would be the $5 talent in Pakistan on Fiverr. This designer is able to crank out UI designs in a day, we can review them and modify them midflight using collaborative tools, and I am much more satisfied.
This isn't my first experience with this, but my thoughts are that design is hit or miss. It just comes down to creative vision, experience, or the series of templates the designer has. Doing a contest or getting proposals will get you a better distribution of possibilities, and the designer's process and pipeline is more important. The $5 Pakistani can also be good. You just need an efficient way to get design samples.
After a bit I had a decent idea, and hired an expensive designer and gave her a clear idea of what I wanted. She then did a brilliant job, producing three or four outstanding logos. I think the logo I chose is one of the best out there anywhere.
The problem with the expensive designers is that they are hampered by the limitations of creative brainstorming as much as anybody, yet is a big part of your cost. They usually give you a limited number of designs- like 3 or 4- to choose from, and you're 'stuck' in that circle of thinking.
So if you can clarify what you want for cheap you'll better use the talent of the experts, IMHO.
>hampered by the limitations of creative brainstorming as much as anybody
That's as good a way of putting it as any. Maybe they're better at thinking "outside the box" than someone within the company or off the street. But that hasn't really been my experience working with branding and design firms--especially if you already have at least some idea of the direction you'd like to take things.
First, it has too much detail going on. Should just reduce the number of green pages to one on each side, and increase the overall sizing. You should be able to make out all the details of a logo, 50px50px, from a distance of 24" from the monitor.
Second, all good logos work in a square-based format. Study Swami is closer to a rectangle. Perhaps trimming the overall size left/right would be better, the overall theme of it is good
Third, I think the center black line on the person is distracting. It doesn't really add value in my opinion, and both blue lines should be joined
Fourth, the color schema does evoke trust (blue and green), but I think a color gradient schema from top to bottom might work slightly better (perhaps teal, book pages uptop are lighter shade, book pages bottom are darker). Use of some shadows might elicit better effects
Fifth, I think the person should be a completely seperate color than the book, but that's just my opinion
Sixth, the curvature on the person could use some slight improvements with golden ratios. I think the person's arms should be going up not down, but again personal opinion
Seventh, I think the site overall, the text ligature and font-family should be something simpler like calibiri or Arial
------------------------------------------------------------------
As a side note you do make good points though. Personally, I am not a great logo designer I just use 99designs.com, and modify the end result in .AI if I need too.
You can usually find great logos and portfolio templates from designers, but you need a strong creative vision and design aesthetic regardless
And I appreciate your comments on the site fonts. Those are entirely my fault.
This would have replaced your fiverr exploration and gotten to the same result of using any designer more effectively.
If you hire an enterprise firm who fails do deliver a product that fits your target market then the fault is on you for not doing your due diligence.
Contests are by far the worst way to go about making a design decision. You are asking a bunch of people to design something they put little thought into so they can make a big impression with little tact. Might be ok if you are doing a shitty logo but for a project that requires understanding your target audience you’re shooting yourself in the foot.
If a designer finds clients asking similar things, then the designer saves time by packaging their own work into something easily modifiable.
And yes it can also mean stuff they got off the net. Your level of discipline has no bearing on it, the client isn't supposed to know.
Your primary objective in creating the wireframe is to answer all questions regarding the application state and user flow and also to remove any unnecessary complexity.
1. Know what you need. Don't go to a freelancer assuming he understands, or cares, about your product as much as you do. 2. Be clear on every single functionality about what you need. If there's something you did not define, the freelancer will mostly always choose the easiest to implement and probably most unwanted option 3. Have a wireframe. Always use a wireframing tool to make a "flow" of how your app will work. If you can't use mock up tools, use powerpoint, but please have something ready 4. There is nothing like a cheap, or expensive freelancer. It's mostly all experience and knowledge. What you want is someone who can make what you need, and has done similar work before. A good question to test out someone's basic tech knowledge is to ask them if they know the difference between, hashing, encoding and encryption.
A "freelancer" that charges top rates will give you all that you say the client should have come up with: they'll sit down with the client, understand where they're coming from and why they're building what they're building, and come up with a complete solution, not just code.
As a freelancer you'll also land much better clients with that approach.
Would you start a construction company without a technical co-founder, and just hire freelance carpenters to build the first few houses?
Bringing it back to OP's question, the comparison might be: many companies use technology (have a website, maybe even sell online) but are not technology companies at their core. Other companies that seem tech-light might have amazingly deep tech underlying the business.
If OP is founding a company that is going to happen to sell some things on a Shopify site, or create some gadget that has a few blinky lights on it, it could be perfectly reasonable to outsource the tech. (100% agree that if there's deep tech involved, that you need a tech-savvy founder or an amazingly committed tech advisor at a bare minimum.)
I personally know cases like this. If you are an amazing seller this is viable.
also you will need lots of project manager's and maybe 1 or 2 full time developers
I'd recommend getting a technical founder on board, at a very generous share. The product will also need to be pivoted and iterated on a lot. With a freelancer, they might disappear with a halfway done job.
> they might disappear with a halfway done job
So? At least that is possible with a freelancer, not with technical founder who has a generous share but fails to render good results.
I know that most people won't build things for "equity" but it is a form of investment for the technical co-founder. That said, a lot do take salary as well as equity, and it's a balance between which they prefer.
There are some benefits - like being easier to gain investor confidence, if you do have a technical founder. I think that makes it worth it.
We have a several non-technical customers that went from nothing to an MVP with paying customers. Here are some suggestions for building an MVP with a freelancer:
- Make sure you've got designs first. It's 10x cheaper to iterate on designs than code.
- Start with a low budget, ideally less than 10-15k. This constraint forces you to prioritize what is important and launch quickly. Launching quickly is critical so you prioritize features based on real feedback. By delaying launch, you risk sinking money into features nobody cares about.
- Work in weekly iterations. Jump on a call with the freelancer each week to check on progress and set priorities for the upcoming week. Keep a close eye on the budget to make sure costs aren't getting out of control.
- Get someone you trust to review the code early on to make sure the freelancer is doing a good job. If the code is an unmaintainable mess, it will be hard to add other developers to your team as you grows.
Having a CTO is the ideal but is not always possible at first. Once you have a product with traction, recruiting a CTO becomes easier. It separates you from the founders who have nothing more than ideas.
2. Split your project into weekly/bi-weekly deliverables that are useful to your users as standalone features (lookup INVEST in the context of Agile)
3. Have all code be checked in to your Github account
4. Have your auditor check each deliverable to make sure it complies with the standards defined before the project
Writing from a phone so couldn’t add more details. If you have questions I’ll elaborate here.
External developers are going to be incentivized to build exactly what you tell them to build then charge you fees for maintenance and modifications. Building a quality product is not going to be a focus because that's not the way they get rewarded. These are, of course, not impossible problems to overcome, but you have your work cut out for you to mitigate these structural issues.
In my opinion, product oriented startups needs someone to build it and someone to sell it. Startups that don't have both bases covered are exceedingly unlikely to succeed. You're likely to successfully build an MVP, sell it, and make minor modifications only to hit a wall about 6-12 months after your initial release. Past that point your product won't be able to keep pace with your sales. This is manageable but without someone technical to drive that transition you'll probably mess it up.
Best of luck.
Developers generally don't want to build an MVP, so they will indulge your insecurity by adding features you don't need right now, adding time, adding cost, and sapping your energy. It's hard as a non-technical founder to fight back against this. You don't know what you don't know.
Instead, I always advise non-technical founders to build their MVP by themselves using a WordPress template. There are literally thousands of templates, many of which are clones of existing applications For example, here's an Uber clone [1].
Using WordPress will allow you to 1) take control of the MVP process 2) create a look and feel for your site 3) test out various plugins to improve functionality 4) if the plugins don't do what you want you can then hire a WordPress developer to make the missing functionality, which will be a much lower cost than getting them to build the whole thing.
And it's scalable. I built https://newslines.org with WordPress, which was able to handle over one million page views in one day. Total customisation developer cost: less than $10,000 (and that was for a ton of work).
[1]https://buildify.cc/taxi-uber-lyft-driver-wordpress-themes/
My few cents are:
1. Hire a freelancer if you have not enough budget to hire a studio / agency which is 2-3 times more expensive.
2. Hire a good freelancer. How much a website or app costs is not a secret. Hire a freelancer which goes by that budget and time.
3. Make sure the freelancer has done similar projects like yours.
4. Call the freelancer, have a chat, make sure you like each other.
5. Start with a one week task. If you like the outcome go for the next week. And so on. Reduce risk by divide et impera.
6. Make sure the deliverables follow standards / best practices. In other words: avoid vendor locking. If the project has to be picked up by someone else make it sure it is possible.
7. Make the freelancer you first employee / co-founder. Many freelancers would go by this scheme.
If you "but I need MVP first so I'll be able to talk to investors", drop me a line roman.pushkin@gmail.com, I have MVP.
If I’m already making enough where I am already over the SS maximum and I wouldn’t pay the 12.4% on SS, the extra money is probably not worth my time.
Sure if a new company was trying to get off the ground and they needed investors, I would be much more willing to invest my time for an equity stake than I would be to invest the equivalent amount of money to hire a good developer.
But, a net of $6000 with no upside is not exciting to me I don’t even own the code so I could throw it out in a private [1] repo that I could use as part of my portfolio to show at an interview.
[1] I wouldn’t just put it out in the open but I would want it to be something I could optionally give read access to show off my work.
So it all comes down to working with someone you can trust. Whether that is an individual freelancer, someone you hire to run the freelancers, or outsourcing it all to a firm... you need to put your trust in them. If you have a good way to vet whomever that is, sure, it can work. But if you don't even have enough tech knowledge to do that vetting, I would recommend against using freelancers.
- is not a freelancer
- but is willing to do it in their free time
- genuine believes your idea is worth pursuing
- is interested in learning more about the tech that they will use for the MVP
Make this proposal: freelance paid by the hour as trial to become CTO/co-founder.
Pay the average market rate (more than the cheapest from Upwork, less than the experienced ones that freelance to big companies).
This way you attract someone interested in your success, that will create software of good quality and still will get a good deal even if your startup fails ( some money and learning).
I did this and was able to find very good developers. The startup failed on the business side, but it was a fair trade.
Ultimametly though I learned to code and I am bootstrapping a web app that I build on my own. I recommend this above all. But I understand it is not for everyone.
The problem with professional freelancers is that they can not be interested in your startup's success. You need a developer thinking about the product, not just the code. Or you can get a "tricky genius" kind of dev. That realizes your wishes exactly according to your specifications, but still manage to not create what you want. They just take the shortest path to their payment. I got burned a whole $20,000 once like this.
I generally try to be a nice person and never wanted to be THAT terrible person who tries to get a lot done for no $. But then you still feel like you're wasting your money and feeling scammed is not a great feeling. You have to pick between being a douchebag and a foolish people-pleaser.
I think contractors are great for large organizations that need to quickly scale up (and down) their tech force without hiring. Money isn't a problem for them and relations with employees in a large organization are transnational already so it's not going to be that much worse.
If you're trying to save money, then no don't do it. The best way to save money is to convince somebody to just do it for you.
1/ On your side, you need to make sure you know what you want (at the very least the big picture)with a rough idea on priorities and communicate it to your contractors well. Reserve some time for questions on their side and be generally open. In return, listen to their technical feedback and take it on account when weighting on decisions. After all, you hired them because they have some level of technical expertise that you don't have.
2/ On their side, your contractors must be comfortable with showing their progress on a regular basis. This is tremendously important so you can see how things are moving, catch problems before they arise and overall steer the whole ship if need be. It is also really important that they are able to explain what they are doing and why do they do it in this order as after all they are working for you.
Finding this balance will essentially make sure the contractors have what they need to fill your expectations while making sure on your side you actually have what you are paying for.
Another note: as a designer I have found developers to severely lack attention to detail. I get it. I’ve done dev work myself and know what it’s like to look at code and the difficulty of switching your mind to making sure every is per spec. I have worked around top notch developers and have yet to come across one with the attention to detail to never miss anything. You better be on your feet all the time and double and triple checking yourself. The product will likely never be delivered in the form you hope for.
Last thing: spell the shit out of every task. Organize in pivotal or what have you. Having an idea of how something should look or function will not always carry over to the person you describe it to. It’ll be clear as day in your mind and they will only have a slight clue as to what you imagine. Spell it out to the letter - function by function, detail by detail, item by item. I know this sounds harsh but if you don’t do this you’ll lose a lot of money fast without a finished product. The only devs who are reading this now and thinking this is fken ridiculous are the devs who are much more experienced and are likely at the top of their game - not a freelancer type you can ever afford for an MVP. I dream of working with a dev like that but like I said I have yet to come across one. Maybe they all work at google amazon Facebook, who knows?
So, expect delays, expect going well over your budget and be prepared to hand hold throughout the whole project.
If you work with freelancers it could work out if you’re good, lucky or both. Don’t do that. Find someone who doubles your chandlcebif success and work with them instead.
You could A. Get a job B. Work on upwork or some other Market for Lemons C. Do Lambdaschool.com D. Do open.appacadenmmy.io E. Sell a technical cofounder on you
E means showing how great you are, how much you know about your target market or how big it is or how many potential customers you have for a _detailed, particular_ idea.
I would not use a random contractor, and would only use the above as a last resort. It’s cliched, but if you can’t convince a technical person or two to join your team early and go in with you on it, it’s going to be tough to convince others too. Think of getting a few people who know how to build things as your first investors (even if you’re paying them... you should be paying them unless you are splitting equity like founders).
I have built several products with freelancers. My primary area is design but I understand technology well enough that I can help solve potential problems I can even code a little (mostly php, javascript and scripting like css and html) I can also look at lover level languages like objective c code and understand kind of what is going on.
If you are building something technically complex I would say you are much better of finding at tech-co-founder or at least have some friends in the tech business you get advice from.
If you are building simpler things then you should be fine with just running it yourself.
First of all consider a Freelancer as a mercenary. He doesn't care about your cause, he cares about getting paid for it. That means most of the times he will cut corners which may not be obvious at first but will come up later (e.g. security, scalability etc). This can usually be avoided by not going for the cheapest options but again there are no guarantees.
On the other hand you may find a capable freelancer who has a good professional ethic. Who may even end up being one of your first employees later.
Are you sure that your business/product idea is sufficiently aligned with your skills and knowledge? If not, why do you expect to be able to compete with experts?
In this way you are able to test the quality of the outsourcing company you are using / freelancer.
Also, as a note to anything - if it is not working out - fire quickly.
Good luck!
1. Don't participate in the race to the bottom on price. The goal with most MVPs, in my experience, is to build something that can feasibly be expanded beyond the MVP point. If you work with someone inexpensive, you're likely to wind up with something that, even if it meets your goals, will be difficult to expand upon beyond the initial scope. Of note, you should bear in mind your growth plan beyond the MVP. For example, do you want this freelancer to stick around long enough to help install an internal team? If so, you almost certainly want someone with management/hiring experience, not necessarily a recent code bootcamp grad.
2. Don't work with someone on a fixed-fee if your business has any possibility of adjustment. There are plenty of shops and freelancers out there who grossly misunderstand what it means to be "agile." Agile software development isn't just about the tools and processes one uses to build software -- it's about alignment with the business at any given point in time, and an engineering team's ability to adjust as your business realities change. For example, as you're building your MVP, if you discover that feature X is critical to a large customer using your product, you're logically going to want to introduce it to your MVP scope and prioritize it accordingly. Working with someone on a fixed fee incentivizes scope-freezes when the work is started, which might have financial advantage for you in the short term, but can greatly hinder your ability to adjust as the world changes around you and your business.
3. Work with people who are aligned with your business. Someone who isn't willing to understand the actual business machinations at play behind your MVP is not going to be understanding of your priorities, and won't be able to make informed technical recommendations. You might not think you're looking for a CTO-like figure or anything of that ilk, but when first building out a MVP that you hope to grow beyond that, this level of insight is extremely valuable.
3a. When working with consultancies in particular, do not try to offset monetary payment with stock/equity. It's a clear red flag for us.
4. Work with people you can trust. If you don't have someone in your network, go out of your way to build that trust.
5. Have an idea of what you want, but be willing to listen. Some of us have done user research a million times and know what people don't want to see in a product, and the good ones are going to bring such things to your attention. You know your business better than outside people/organizations, but they might know something you don't.
I'm happy to have a conversation about this with anyone interested. Email in profile.
What kills projects and drives up costs was:
Client doesn't have a clear vision of what will sell. This is evident since they have multiple business models or they keep changing features to tweak the business model. Have one business model and be confident that you won't change anything. If you have to change then you didn't do market validation and you are wasting money on development.
Client's don't understand the scope of what goes into a app and when you ask them to block out the pages they need come back with only 30% and then an estimate is made based on whats presented. They never think about the admin panel, the auxiliary pages, support pipeline, on-boarding flow. If you can find an "Interaction Designer" who can not only wireframe but design end to end flows this will migrate developer waste.
Bringing in a technical advisor, developer, designer mid project always inflates budget because they provide conflicting advice, try to over architect over process, or now we have two sources of truth, the advisor and the client. If you want to bring in more resources you need to understand you'll be expected to adjust the budget and pay more since you made more work for freelancer/firm than previous.
Flipping the coin I have been brought into projects as a technical advisor, and I have found developers totally lieing about their work by logging fake hours or outsourcing when they are not allowed to. I helped the client gain visibility by showing them how to read git commit history, what a sprint should look like. Re-estimate out tickets and gauge an alternative velocity to help the understand if the speed of the developer matches their cost. What a good/bad commit looks like. But I don't tell the developer what to do, create tasks or make in detail architectural decisions.
AWS, Rails and NodeJS are good as your primary stack since bootcamps churn juniors as low as 2.5K CAD on Rails and NodeJS. AWS is good since it gives you full visibility and helps you enforce good practices so you have less technical debt down the road.
I've hired developers out of bootcamps, hired them off of upwork, randomly cold-emailed developers I liked. I get them from everywhere. Its a 1:40 ratio to find a developer with good work ethic.
I care about work ethic and best practices/good habits first and developer experience second.
I would suggest getting lo-fi sketches of every possible page in desktop for your admin, marketing, support, onboard, auxiliary and core pages.
Then you get a developer to code them
Then after the functionality is in place you bring in a UX designer to polish the designs.
If you have the money I would get a Interaction Design on day 1.
Here is a comment about prototyping without writing any code:
https://news.ycombinator.com/item?id=18400363
I was advised to start a design doc on my own. It's kind of an idea file to flesh out what you are trying to do.
I am personally leery of hiring a freelancer to code something up for things I want to accomplish, but maybe I will change my mind someday. That's just where I am mentally currently. It's not intended to suggest that where I am currently is some Final Word.
Here is some of why I am leery:
1. In GIS school, I learned that a proper Geographic information system was integrated into the workflow of an organization and maps were generated by people needing them, people who have a purpose for the map. The information they want to convey with the map matters and serves a goal. In an organization where GIS is some department where other people send requests for maps, you get a "map shop." Map shops wind up being places that produce pretty maps.
A good nap will be described as beautiful by many people. Good design is functional and has aesthetic appeal in the vein of something well engineered. But a pretty map isn't necessarily a good map. In fact, prettifying a map because making the map is all you do typically makes it less useful.
So what I learned is that good maps are made by people who are creating the map for a purpose, not people who get paid to crank out maps. The person with that purpose is the best person to make that map.
2. When you hire it out, you miss out on founder development. Good companies are made, not born. "Self made men" go through a substantial process to get there.
The single most important element in a business is paying customers. If you don't have that, you don't have a real business. You maybe have an expensive hobby.
Doing things yourself has a lot to do with interacting with the target market and thereby learning what you need to do differently. Hiring someone to code it up may have it's place, but it may also deny you those valuable interactions with your intended customers while you focus on having code rather than focusing on having a thing that accomplishes a particular objective. Code may end up being that thing that accomplishes that objective. But it may not be.
You might try collecting stories of things that were founded without initially having code. Craig's List started as an email list.
Having said all that, I will suggest that if you do hire someone, you do your homework as outlined by others in comments here. Make sure you know what you want them to do for you. Don't just throw an idea at them and expect them to make magic.
I do freelance writing. I vastly prefer to get short, concise instructions that give me a clear set of parameters for the piece. I hate getting multiple pages micromanaging details.
So spell out the big picture stuff. Avoid micromanaging, if possible.
Last, good communication is a big part of successful freelance work. Try to find someone you click with. They can't give you what you need if they don't really understand what you have in mind.
Edit: See also this current post: https://news.ycombinator.com/item?id=18480115
take away from this
1. hire a developer you can trust.
2. he can build a team
3. don't use Node for backed (my personal opinion)
4. keep an eye on how much everyone is getting paid.
if you need help hit me up at akshay.deep0{at}gmail.com
I have been freelancing from 7years now.