Okay. I’ll throw in. I live in the Pacific Northwest and have been in tech a long time, about the last 4/5 years with a heavy focus on data science and ML with a particular focus on cyber security (and robotics/IOT (think like datacenter energy system monitoring). Not a PhD. Pretty much self taught. Worked for one of the big tech companies for many years, which gave me a lot of cred to build on (and a great platform/environment to focus on learning).
When I bill hourly, it’s somewhere around the 200-250 USD range, but I much prefer to bid by the project. I also do a fair number of talks around machine learning/security, AI and the future of work, and consult with policy makers on the impact of tech (esp. AI) to jobs and rural workforces. The latter generates me significantly more revenue than the hourly billing.
As to the projects themselves, to use the adage, ML is probably less than 10% (maybe even 5%) of the actual projects. Most of the work is finding the data, cleaning, and doing things like figuring out how to get their IOT devices regularly reporting to the cloud or Messing with things like SNMP and monitoring infrastructure.
The robotics/iot stuff is a pretty heavy interest for me. Where did you start, being self-taught, to get into the field? Or was working at a tech co enough already
It’s been said numerous time here on HN and elsewhere (read patio11’s kalzumeus.com) but just to repeat what others and myself have found to work best: dont charge per hour. Charge per day/week or month.
Your goal is to work efficiently and fast. When you do this, it means you get to make more money for less time and the client gets the benefit of getting work done faster.
This makes no sense mathematically - changing the unit of measurement (and perhaps rounding) cannot make a real difference unless substantially all of your results are between 0.5 and 1.5 unit.
If you said “charge by project/milestone”, your reasoning makes sense.
The people who charge a lot by hour (lawyers, tax specialists etc) will often charge in 15 minute increments. Even if you charge by day, tou’ll find you have to charge in 0.25 day increments or so.
Commenting so I can find this thread easily later... as I'm also curious :).
I would also ask if you have a rough idea how much of the ML work is implementing basic models to production versus actual data scientific work in coming up with/tuning the underlying models themselves.
- 29% figuring out clever ways to apply existing approaches to new problems, understanding how clients business works and thinking of new twists on old ideas to solve those unique problems, etc
- 70% helping the customer understand what ML can do, how to manage their data and how to convince the rest of the company and IT to let them actually do it
I'm wondering how one converts to a data scientist or ML engineer from a pure web development background without going back to school? I've been a backend developer for many years and I'm already a bit bored with working on software-only products. Would love to move on with my career to a point where I could have some more influence on what's happening in the real world off the web. Where did you start?
I went from Cybersecurity (Infosec) to Data Science/ML. If you have interest/passion, it's totally doable. I get asked this kind of question a lot, so I created a listing of the stuff I've found most useful (books, online classes, etc). You can find it at
You're probably going to get significant selection bias here. Few people are going to admit to a rate they're afraid is low, and other people who respond may be doing a bit of humble bragging. In my experience both contracting and hiring, $100-150/hr is typical for an experienced person.
This seems WAY low to me. I ran many projects for companies. $150 is the rate they pay for 3-4 years experience from consulting firms. You should start at ~ $240 and let them negotiate you down.
Contractor or freelancer? To me a contractor does short gigs 3-12 months with a daily rate and are usually being hired by a technically knowledgeable person, who says I need x,y,z tech skills.
[+] [-] aspectmin|7 years ago|reply
When I bill hourly, it’s somewhere around the 200-250 USD range, but I much prefer to bid by the project. I also do a fair number of talks around machine learning/security, AI and the future of work, and consult with policy makers on the impact of tech (esp. AI) to jobs and rural workforces. The latter generates me significantly more revenue than the hourly billing.
As to the projects themselves, to use the adage, ML is probably less than 10% (maybe even 5%) of the actual projects. Most of the work is finding the data, cleaning, and doing things like figuring out how to get their IOT devices regularly reporting to the cloud or Messing with things like SNMP and monitoring infrastructure.
Hope that helps. Feel free to ping if questions.
[+] [-] cw_ds|7 years ago|reply
[+] [-] krm01|7 years ago|reply
Your goal is to work efficiently and fast. When you do this, it means you get to make more money for less time and the client gets the benefit of getting work done faster.
[+] [-] muzani|7 years ago|reply
1. You penalize people who are wasting your time with trivial work like testing or not refactoring.
2. You can part time, or do a major project in parallel. E.g. work on the train, or while teaching classes.
3. Suitable for work where there's a lot of time consuming back and forth and experimentation, like working with APIs, CSS, copywriting, UX design.
4. You simply want to do other things the rest of the day - go to the bank, play video games.
Pros of charging daily:
A. If you have a lot of non billable hours. For example, you do a lot of hard work and need lots of rest.
B. Works better where there's less trust in the contractor. Sometimes when you don't trust yourself either.
C. Suited for deep work, which is hard to get into under pressure of hourly billing.
D. More room to research, where you don't want to feel guilty spending a lot of time researching something.
E. Less switching costs because your whole day is dedicated to only one thing.
For stuff like machine learning as opposed to front end web dev, perhaps daily rate is best.
[+] [-] dplgk|7 years ago|reply
[+] [-] beagle3|7 years ago|reply
If you said “charge by project/milestone”, your reasoning makes sense.
The people who charge a lot by hour (lawyers, tax specialists etc) will often charge in 15 minute increments. Even if you charge by day, tou’ll find you have to charge in 0.25 day increments or so.
[+] [-] ritoune|7 years ago|reply
[+] [-] shishy|7 years ago|reply
I would also ask if you have a rough idea how much of the ML work is implementing basic models to production versus actual data scientific work in coming up with/tuning the underlying models themselves.
[+] [-] ageitgey|7 years ago|reply
- 1% true research / original ML
- 29% figuring out clever ways to apply existing approaches to new problems, understanding how clients business works and thinking of new twists on old ideas to solve those unique problems, etc
- 70% helping the customer understand what ML can do, how to manage their data and how to convince the rest of the company and IT to let them actually do it
[+] [-] snicky|7 years ago|reply
[+] [-] aspectmin|7 years ago|reply
http://www.atomicml.com
If you have stuff you think I should add, please let me know! (jan @ghostbytes.com)
[+] [-] vannevar|7 years ago|reply
[+] [-] DamnYuppie|7 years ago|reply
Never be afraid of letting them pay you more!
[+] [-] harvester5000|7 years ago|reply
[+] [-] aspectmin|7 years ago|reply
A good percentage of our work is remote (save for the robotics stuff, which is very hands on).
[+] [-] tixocloud|7 years ago|reply
[+] [-] quickthrower2|7 years ago|reply
[+] [-] wilshiredetroit|7 years ago|reply