The Unreasonable Effectiveness of Hiring Freelancers
After five years wrestling with my side project, I'm finally optimistic I'll ship it.
How did I become optimistic? The short answer is money. The longer answer is indifference.
The Journey.
Since 2017 I've been working on a side project which I always intended to launch as a paid SaaS product. I matched every cliche about people bootstrapping their SaaS:
- The code isn't clean enough - The UI isn't pixel perfect - The export feature doesn't work correctly - I need to completely refactor the entire app because I learned a new way to write a for loop...
On at least two occasions I became so stressed out I had to take a break from working on it.
On a side project!
Here's how I finally got some momentum.
Step 1: Hire a freelance developer
You need help. You need a new perspective. Most importantly, you need indifference.
Freelancers are hired to achieve a specific outcome. After achieving that outcome, they move on to the next project. They don't have time to refactor that same library three times. They force you to prioritize what's important to ship.
Step 2: Hire a UI/UX designer
Having a rough outline of what the app should look like gives you a target to work toward. Instead of becoming an expert with Figma, hire someone that can do it for you. You'll be shocked what value two weeks of a designer's time can bring.
Step 3: Hire a marketing agency
Digital marketing is a highly complex endeavor. If you think spending money on Google Ads or posting on Twitter is sufficient to bring your product to life, you'll be disappointed.
Yes this all costs money.
Yes you have to give up some control.
Yes you might miss some learning opportunities.
But if there's one lesson I learned after five years, it's all about shipping! Step 4: 2 years down the line the code touched by dozens of freelancers becomes so brittle that you can't launch a feature without breaking two others. Greenfield projects are easy, long-term maintenance is hard. Edit: during my career, I had numerous projects needing cleanups after developers only interested in shipping the next feature and rotating frequently. If the long term maintenance isn't your problem, the incentive to slap it together is strong. This is the biggest pain of the modern software development process. Freelancers or outsource companies are not interested in your business, they are interested in charging you for hours spent. This approach is counter productive and is against common sense. Especially if you are a solo maker, not a $$$$ backed startup. I believe to change this, we need to invent a completely new way of how software is built. I recently met a guy who came up with an idea. He created a whole new methodology of coding stuff. It took him 4 years of hard working. He made a platform which allows making software out of separated entities which live by their own lives. Those entities (components) are developed by individuals. Therefore, projects built using a set of living components needs less maintenance work because a project is built of components which are maintained by someone else. The only way to keep this evolution of the components going on is to benefit the makers of the components. The users of the components will pay a fee for the makers of components. Thus we get a win-win. A maker of a component can create an amazing, let's say, billing module and continue working on this single piece of code for years while being paid by 1,000 users of the component. While the users of the component just pay a small fee, hit the 'plug' button and do not care about the maintenance anymore. This sounds like a magic, but it already works. The guy who made it already got his 100+ customers. This sounds like Salesforce plugins or something. Or at a difference scale, just using Salesforce/SaaS products in general where possible. Yes, this approach has been implemented by many companies. But those plugins' use scope is limited to a company tool. What that folk did is expanded this approach to the 'any app' level. component oriented programming is nothing new and comes with its own set of problems. this also smells like distributed programming where you have loose services on a computer communicating. nothing new either. these approaches have other issues, like performance penalties and additional complexity and their own sets of problems. This is definitely true. My plan was to brining in freelancers just to get the thing built - because I couldn't get it done. I've since brought on two technical co-founders with a stake in the project to avoid what you're describing. I was only able to bring them in because I had a product launched. That is some rare foresight. Typically, this is not how it goes. Usually, the pressure to keep adding new features is too high, the codebase too large, and the desired functionality too amorphous for any sort of refactoring or rewrite. OP’s method accomplishes one of two things: 1) total failure 2) enough cash to hire a team that does it right. Getting to year 2 and then replatforming what is working and killing what doesn't seems better than spending 2 years on deploying with the "perfect" architecture Incentives matter, but it's not like early code written by founders/employees with equity doesn't need to be cleaned up later. This resonates with me also. I've gotten into a nasty habit of always trying to do everything myself. I recently launched a project for tracking crypto market data and suggesting trades. I went to Fiverr to see if I could get someone to design me a UI, and after going around one guy quoted me ~1.2k USD. I decided that I could do it myself, and proceeded to spend multiple evenings working on it. I did learn something true, but it delayed the launch by weeks and if I factored my hourly rate in i probably "overpaid" several times over. Getting past this "do it all" mentality is going to be one of my goals for the remainder of the year. It was a very sudden mind shift for me. All of the sudden one day I said f* it. If I want this thing to exist, I need to focus on shipping. Not building. The next day I hired up the freelance team. Some people just like to build. Others want to run a product. Either is cool. Just don't get them mixed up. > Step 1: Hire a freelance developer yeah that's the point where most of you get stuck, because lot of Freelance developers are outright liars. Before you will find somebody who at least understand what you want from him, you already wasted 2 months of your time. This can follow into a guy who understand what you want from him, but has no clue what to do and creates horrid mess. Eventually you end up redoing everything what your cheap Freelancer did. Another dimension is that if you can't separate Freelancer from you codebase, you can easily leak IP through Freelancing. Which might be even worse than sloppy job. but people think everyone lies on their cv as well. the bias is there too. so in the end people just assume everyone lies. which is bad, because the bias will result in false positives. as a contractor, i recently saved a large company’s ass because they could not find or afford to hire the right guy with the right background. All very, very true. Going through a trusted source is best. Just curious what is the budget you had for this, and what did the freelancers cost? Was milestones part of the contract deliverables for payments? This story was about getting the first iteration of my product launched (somewhere beyond MVP but still rough). I had a fractional CTO / project manager / React dev + backend dev + devops + designer. All between 50% and 100% for 8 weeks. I also heavily participated in backend work. Total cost came in a little over US20k. I did not stipulate milestones and I was lucky because everything worked out (except documentation). I definitely suggest stipulating milestones. I used to try to do everything myself, being a jack of all trades and I was proud of it. Then the life stopped rewarding my jack of all tradeness and I felt the pressure to focus on one thing and one thing only. That one thing allowed me to hire people who are good at what they do instead of half assing those things myself. This is my story, your story, and probably the story of the humanity itself. I was in the same position. Always justifying delays to "I learned something new". Totally forgetting the goal: ship a product. Actually putting money at stake (instead of just time) finally shook me out of that. How did you go about evaluating the non-technical freelancers?
I have to hire for design and marketing and I'm having a lot of trouble evaluating talent. I can tell who's obviously bad but beyond that it's a bit of a toss. Also how much did it set you back, if I may ask? 2 weeks of a designer, we're talking 10 to 15k, right? I looked for experience in my niche (trading/investing), got a few references, and saw some of their work. I was never 100% comfortable going through Upwork etc because you never really know. But I spent a lot of time writing up the requirements and talking to people to get a feel. For better or worse, in the end I went with the marketing agency that was the most transparent. I met a top notch designer through someone I DMed on Twitter. (If you're not on Twitter talking to people - go there.) He's EUR50/hour. If you go through an agency, then yea closer to 10k. Ah interesting. I've tried looking at Behance and Dribbble to find someone but went back to Upwork because I found it easier to browse profiles and portfolios. I'll definitely check twitter, thanks for the tip. Would you be willing to share your designer's profile/website? (if so my email is josh.salsen at fastmail.com) Let me ask him This is very true. I had so many projects I was working on by myself and I got burned out fast until I hired a freelancer. This has greatly improved my work. Just be ready to pay them. I think spending the money adds an urgency to ship. If not it's "just" your time. > Step 2: Hire a UI/UX designer If its the first time working with them, good luck not being scammed with barely any usable deliverable. And I'm not even talking about cheap bottom of the barrel contracts. There’s a risk. I’ve certainly been burned many times in the past. However I’ve learned and spot some issues up front. It helps to go through referrals too. How is everything about shipping? If you ship and you fail to find a market it's game over. Shipping is closer to the beginning of the journey. I'm comfortable I had a market. What I had to do to get there is a story for another post :) 1) how did you get the money to hire people 2) what did the marketing agency do or do better than what you could have done yourself? Great post. Q? What exactly are the things your Digital Agency did for you, and how much did it cost? They built a marketing strategy for me. It breaks the effort into pre-launch/awareness, launch, and post-launch/systematize. They gave me insight into what to do when. They'll do the work or I can outsource. I've done a mix of both. Thanks. What were the top items in each phase, I'm curious to know the details. Also, did you find that those things were specifically effective, i.e. did 'Twitter' bring you material attention? Sorry, don't mean to bother, just that I've worked with agencies as well and found them only somewhat effective. +1 for the Q. Are there any questions I could ask from an agency to understand if they know what they're doing? Many agencies offer their services with wide price range, but I heard very mixed reviews of all the price segments. I created a set of slides which introduced the project and created a doc with my expectations. I posted a very detailed job spec on Upwork, shortlisted 20 companies, and interviewed 10. I picked the one I did because they were most transparent with what they would actually deliver. For me it was about a pre-launch strategy, what to do at launch, and how to systematize/scale post launch. They were more than somewhat effective. That said, they absolutely helped me frame the marketing effort. You want to DM me on Twitter? I'll send it to you @jasonstrimpel or email jason.strimpel [at] gmail [dot] com. > They were more than somewhat effective. That said, they absolutely helped me frame the marketing effort. Do you mind sharing the name of the agency? Just Juniper Media out of London. Can you shed some light on how much you spend on freelancers? I did a short stint with a fractional CTO / front end type for US$1k per day. I had a backend developer from Vietnam for US200 / day. I'm currently working with a product designer for EUR50 / hour. Did you speak to potential customers in that time? Yes, I've been running a simple site where people grab stock price data. Folks often donate to me. That was the group that I started speaking to. I now have ca. 250 email addresses on the waitlist. I've done a few surveys and had 1:1s with many people.