Tips for becoming a freelance data scientist¶
I'm Ben and I'm a full time freelance data scientist. (I'm also the creator of Practice Probs.) I'm currently 30 years old, I work out of my home, and I love my
job life. If you're thinking about becoming a freelance data scientist like me, here's my story and advice to make it happen.
How did you become a freelance data scientist?¶
I studied math in college , but I never wanted to teach, so I planned on becoming an actuary. When I was 19, I picked up a part-time job as a data analyst for an insurance company. (They weren't hiring. I just cold-emailed every insurance company in my area and one of them got back to me.) Two important things happened during my five years at the company.
- I met a consultant who spent his time building predictive models for insurance companies. This is the first time I realized it was possible to make a living doing this stuff as an independent contractor.
- I started competing on Kaggle. Not only was I competing on Kaggle, I was doing pretty well - taking home silver medal after silver medal, and eventually a gold.
Around the same time, I was studying for my actuarial license. On the days I was doing machine learning, I couldn't fall asleep. On the days I was study for my actuarial exam, I couldn't stay awake .
Eventually, I decided I just needed a life change. I had no debt, no girlfriend, no kids, good health, .. it would be easy for me to up and leave. I made an account on UpWork and got my first data analysis contract job, working for Humble Bundle for $15/hr (USD). After my proof-of-concept was a success, I put in my notice and the rest is history.
How much money do you make $$$?¶
Currently, $150/hr (USD) which translates to about $125K/year with the number of hours I work. I could earn more by putting in more hours, but I feel like I've optimized my work/life balance at this point.
How do you set your pricing?¶
It's completely based on demand. I started at $15/hr. When I had more work than I could handle, I upped it to $25/hr. Then $50/hr, and on it went. (Occasionally I'll offer a cheaper rate for smaller clients or projects I really want to take on.)
When I was just getting started, a lot of people told me to set my rate at $150/hr or more. They said I shouldn't devalue myself. When I told them I did my first job for $15/hr, they thought I was crazy.
If I had set my initial rate at $150/hr, I'm pretty sure I'd still be seeking my first client. Not to mention, psychologically it's much better to be actively working for $15/hr than not working, earning $0/hr holding out hope that someone will finally bite for $150/hr.
What's so great about being a freelance data scientist?¶
- Freedom to set my own schedule.
- I save an incredible amount of time by running errands during off hours.
- If I don't feel like working on Tuesday morning, I can just go for a bike ride and get that stuff done on Tuesday evening.
- I devote a ton of time to personal projects and upskilling .
- Freedom to pick the projects I want to work on.
- If a project isn't working out, or I don't like the people I'm working for, I can just quit. No biggie.
- Getting paid by the hour is way more motivating than being on salary.
- Work from home ..or anywhere
- I meet a lot of interesting people, and get to work on a lot of interesting projects.
What sucks about being a freelance data scientist?¶
- Marketing yourself can be hard, especially when you're just getting started.
- Billing + Accounting + Taxes + Insurance + Administration + Legal
- It's isolating.
- Stuck on a problem? No coworker or manager is going to help you figure it out. Package installation, IDE configuration, authentication, Git, deployment, etc. issues can be a nightmare when you're on your own!
How do you find jobs?¶
First of all, this is way harder than you think. When I got started, I thought I'd be able to send a few emails, write a couple blog posts, knock on a few doors, and people would open their wallets and throw money at me . Not the case. Marketing yourself is really, really hard . Here are some things that helped me land gigs.
- It's way harder to convince someone not looking for a data scientist to hire you than it is to find someone seeking a data scientist to hire you. In other words, don't waste all your time calling your local car dealerships to tell them all the ways you can improve their pricing with machine learning. Instead, hop on UpWork first and find people already searching for a data scientist for XYZ job.
- Cast a wide net. Apply to anything and everything that piques your interest. Even if something sounds fishy or unrealistic, apply. You can always back out later after having a conversation with the hiring manager.
- Diversify. Use UpWork, Toptal, Codementor, Fiverr, Indeed, YouTube, your own blog, cold email, cold calls, friends, friends of friends. Try everything.
- Improve your online presence. Write a blog. Answer questions on StackOverflow. Ask questions on StackOverflow. Participate on Kaggle. Publicize your projects on GitHub. Fine-tune your LinkedIn. You know that thing you're learning? Post about it on Twitter.
- You'll find a lot more job postings for full time, salaried positions than part time contract ones. So, search for full time salaried positions. When you apply, ask them if they're willing to hire you as a contractor. Keep in mind, this means they won't have to pay you benefits!
- When you apply to jobs, write like you speak. Ask a question about the business. And give them your best idea for how you can save them money, help them earn more money, or fix whatever problem they have.
I highly recommend posting your own job on UpWork just so you can experience what it's like to be on the hiring side. You'll find that there's a bunch of generic, boring applications where the applicant clearly copy+pasted something about how great they are, and they didn't take the time to write a thoughtful response to your job post.
Also, it's annoying when someone writes an essay. Keep it short and sweet, people!
What do you do about insurance?¶
Health Insurance (Note that I'm in the U.S.) - I have a short term medical plan for now.
Liability Insurance - I don't have any. Maybe I should, but I'm very careful about the projects I take on and the people I work with. I would buy it if I felt I needed it.
What surprised you about freelancing?¶
How hard marketing is. To convince someone to take a hard-earned dollar out of their own wallet and give it to you - it's really, really hard.
Also, I thought I'd be juggling 10 or more clients at a time, and the path to growing big was to get more clients. Turns out, I suck at the mental gymnastics necessary to switch from one project to another in a given day. So, I tend to find a few big, long-term clients that demand most of my available time. And I've mostly grown my business by increasing my hourly rate.
What advice would you give to people wanting to do what you do?¶
- Become a master at data wrangling and plotting stuff. As a data scientist, this is what you'll spend 90% of your time doing, so you want to be able to slice and dice data like moving a spoon of ice cream into your mouth .
- Focus more on marketing and less on upskilling. Upskilling is important, but people tend to neglect marketing in favor of upskilling. And upskilling is hard, but applying to jobs is easy ..ish.
Get on UpWork. It's where I've found most of my clients, and it'll give you an idea of what the market looks like. Plus browsing jobs is fun.
Yes, 95% of UpWork job posts are pure trash . But 4% of them are solid and 1% are pretty darn good. The trick is to use UpWork's advanced search features to find the diamonds in the ruff.
Also, you're significantly more likely to land a job on UpWork if you apply within hours of the post being made. Quick application time is essential!
Be selective about the projects you decide to take on. The wrong project or client can be a nightmare.
- Get lots of sleep and exercise . It helps your brain more than you think.