15 ms·
My First Year as a Freelance AI Engineer
- RocketSyntax 6y agowhat are most people asking for - pytorch? or are they leaving those decisions up to you?
- m0zg 6y agoAs a practitioner in the field and in similar circumstances, the answer will probably be: it doesn't really matter. Personally I prefer PyTorch, but I can work with whatever the client already uses, if anything. For one of my clients I worked in both because there was no viable deployment option out of PyTorch to one of their platforms. There still isn't, so both models are still maintained and trained. If they aren't 100% set in their ways, I do make them aware that things will move at about half the speed with TF, so they'll effectively be paying twice as much. If they are set in their ways, I do not mention it, since I'm not going to change their mind anyway. That said PyTorch 1.5.0 is just broken pretty much - tensor permute (which in computer vision you end up doing for every input tensor) is 10x slower than it used to be. There's an issue in GitHub already. I'm beginning to worry about PyTorch.
- m3at 6y agoThanks for sharing your experience! I'm working with TF and Pytorch as well, but so far for the later I have found the project to be reasonably reliable (though I did find Chainer considerably more polished). Can you share more about what worries you with Pytorch?
- m0zg 6y ago1.5.0 is basically broken for computer vision. Input tensors are usually in NHWC memory format, but PyTorch (and CUDA) prefers NCHW (planar). So you'd normally run permute() to move things around. But https://github.com/pytorch/pytorch/issues/37142 https://github.com/pytorch/pytorch/issues/37142 (and possibly other bugs) kinda gets in the way of that. I had to roll back, since training got way slower than it was before, and it wasn't super fast to begin with, even on my quad-GPU workstation. The fact that such obvious, severe bugs make it through the release process likely means that there isn't really much of a release process. And what's in place doesn't even test the release on totally bread-and-butter models like resnet50.
- smhx 6y agoPyTorch maintainer here: we're looking into that and if needed will issue 1.5.1 asap. It didn't show up in release testing, which among other things does end-to-end imagenet runs with ResNet50 and a few other models (i.e. time and memory didn't regress). Will also figure out how to catch this early.
- smhx 6y ago@m0zg if you could comment on the issue you quoted with any details, it would be really helpful to us. Unlike what is reported in the github issue, `permute` isn't the regression. For reference, one of the core devs added more details based on where we are with our investigation: https://github.com/pytorch/pytorch/issues/37142#issuecomment-623205729 https://github.com/pytorch/pytorch/issues/37142#issuecomment...
- ganstyles 6y agoSuper cool, I've been thinking a little about this for CV rather than NLP. One thing that gave me the idea is I (the company I worked for, at the direction of me) engaged an outside expert on a particular ML domain. It wasn't a freelancer, but just someone at a major company who did some cool stuff. I approached them, told them about what issue we were having, and engaged them for a 50 hour contract @ $500/hr. Completely worth it, but looking at your rates maybe we super overpaid. Not that it matters, but just an interesting data point and got me thinking about freelancing purposely if those are the rates. Thanks for sharing your experience.
- gk1 6y agoYou didn’t overpay; OP is severely undercharging. $150-200/hr is freelance marketer manager territory. As an aside, this is one of several reasons I think charging an hourly rate is bad for business: You immediately get compared to other freelancers based on this arbitrary number rather than your abilities.
- ganstyles 6y agoI was just reflecting on the rate before you posted and realized OPs rates are around what I made in base salary, plus I get the benefit of things like health insurance, equity, etc. I think I would consider freelance for $500/hr, but $150-200/hr seems low for all the risk, for me personally. But I could see doing it depending on whether I really just enjoyed the freelance lifestyle and didn't have to live in an expensive locale.
- qu4ku 6y agoWorking for a rate that you would get full-time is non-sustainable as a contractor.
- Avalaxy 6y agoIf anyone is reading this and considers $150 per hour "low", do reach out to the email in my profile. Here in the Netherlands the going rate for a AI engineer is more around $90, so I'd be happy to pick up the work.
- hoerzu 6y agoWhat are your clients?
- sbmthakur 6y agoHis clients are in education sector spanning from the US to Japan.
- polm23 6y agoHey, quick clarification - I posted this because I thought it was interesting, but I am not the author and can't answer questions about it.
- angel_j 6y agoThis person, like many, makes the error of commodity pricing for labor. They charges less, the more the client buys. That's how corn is bought. Don't sell your time like corn. This kind of thinking/pricing has been inculcated by so much free-market idealism, and of course on some level human labor can be thought of as a commodity, but that's neo-evil.
- namenotrequired 6y agoWould you mind sharing what you think are the practical downsides of this pricing approach?
- angel_j 6y agoI'm more interested from a labor perspective, but practically, you get less money for your work, and no benefit. Especially as a freelancer, paying all your own taxes, insurance, health, and company costs. That means you need an addition 20% revenue, not less. If you work in demanding field, and have a client that needs—and can afford—your work, giving them them a discount only takes away from your stack. What possible benefit is there? Repeat business? They will repeat if they need it, not b/c it's on sale. Assume you are literally putting money in their pocket (ROI) and get paid what you're worth.
- bigmanwalter 6y agoCongrats on making the leap! Do you find that your pipeline is busy enough are are you still looking to grow it?
- damon_c 6y agoOne interesting thing about being freelance during times of economic instability is that the "steadiness" metric is inverted when you have multiple sources of income compared to relying on one company.
- justingreet 6y agoJust wanted to say that even though you said you're not a native English speaker, I never would have known if you hadn't mentioned it. Very well-written and clearly organized post.
- FpUser 6y ago"As a freelance AI engineer, you are expected to, for example, start with a client, familiarize yourself with the product and the codebase, submit the first PR within a couple of days" Although I have my doubts maybe this is true specifically for AI area. In general contracting, getting familiar with the large project and "submitting the first PR within a couple of days" is a wet dream. I will exclude cases when one is hired to find and fix bug in some simple, short piece of code.
- sbacic 6y agoAre you trying to say it's unreasonable to expect a freelancer to start contributing within a couple of days? Or the opposite? Because I can't remember a single project where I wasn't expected to contribute something immediately, especially with new clients (that need to be convinced of the value).
- FpUser 6y agoI guess we are talking about different kind of projects. I had few very short limited scope projects (shortest one 3 days I think) but generally I design and develop products from ground zero (some I own, some made for corporate clients). It could take me a month sometime to write first line of code. And no one in their right mind would expect me to start coding big product with no design in place on a first day. As for trust - I have big portfolio and stellar references from satisfied clients and some of my products can be seen on the web. In my case this is normally what counts, not me banging on keyboard from the first hour. You do not start coding major project without without first having a clear and documented picture of what exactly is being built. Doing it other way is a recipe for major disappointment.
- Advaith 6y agoThis is super cool. I'm curious if OP engages in cold emails to scout for leads.
- kazuki 6y agoGreat post. I felt like $150/hour is way too cheap for his resume (10+ years of experience, PhD, author of book, based in Seattle). I am pretty sure some companies will be happy paying twice as much.
- mhagiwara 6y agoWow, it's nice to see my post on the top page of Hacker News. Note that I wrote this post back in February 2020 and there are a couple of things that I would like to add: - Due to high demand, I increased my rate to $250/hour + some fixed monthly fee in April. I didn't drop any single client :) - I'm seeing very little impact from the coronavirus. I have a client base spanning between Japan and the US in a little-impacted industry (education). Don't put all your eggs in one basket. - I would strongly encourage everyone who's considering making a leap to read "The Win Without Pitching Manifesto" https://www.winwithoutpitching.com/the-manifesto/ https://www.winwithoutpitching.com/the-manifesto/ - Due to a sheer volume of my incoming emails I can't answer all of them, but do let me know if you are interested in working with me!
- trott 6y agoThanks for sharing your experiences! I did well in Kaggle's highest-prized competition[1], so I wondered if I should explore this kind of consulting myself. The competition I was in was effectively limited to US residents though, but as a "remote" freelancer you compete world-wide, potentially with people willing to work for far less. Are there reasons your clients prefer US-based freelancers enough to justify the gap in pay? [1] Top 1% (5th/518), #1 result in California: https://www.dhs.gov/science-and-technology/news/2018/07/09/news-release-st-announces-winners-15m-prize-competition https://www.dhs.gov/science-and-technology/news/2018/07/09/n...
- m3at 6y agoThanks for sharing! As you work between Japan and the US, I'm curious about the rate difference. Are you able to charge the same?
- JoeMayoBot 6y agoReally nice article. I've been an independent consultant (freelancer) for several years and there are so many parts of this that match my experience too: whether freelancing is right for you, being prepared for uneven work cycles, and what is fair game for billable hours. To me breadth of experience, time flexibility, and just being independent are the strongest perks.
- mfalcon 6y agoWhat about client's valuable and private data? I've always thought it'd be a big problem for freelancing as an AI engineer.
- dcl 6y agoGreat question. I work for a small AI consulting firm, every large corporate client we've approached asked us to work within their own systems. They would never let data outside their network for us to work on. Worse, they would make us engage with the lowest, least skilled ranks for the organisation. HOWEVER, I also know management consultants who also do work for these corporations and they seem to get the data no strings attached. Apparently all the security/privacy policy is ignored when someone who reports to the CEO says 'Give BCG all the data they want'.
- mhagiwara 6y agoThis has never been a big problem for me. Some clients have strict policies (e.g., only allowing you to work on their servers) while others don't care as much. In some cases, as a freelancer, you only work on a "proof of concept" prototype assuming you have access to their private data. It is their FTEs job to actually train/implement/deploy this prototype using their private data.
- mfalcon 6y agoHow can you work on a "proof of concept" prototype without access to their data?
- quaquaqua1 6y agoTo anyone who is seriously considering paying $250 an hour for someone who isn't guaranteeing they will deliver anything-- I will personally quit my job and sign a contract with you that clearly defines what will be delivered by what date, if you are willing to pay flat rate of $X. You will not pay until after you accept delivery of the system.
- TrackerFF 6y agoJust wait until you discover what the government is paying McKinsey (and the likes) for their services. Hourly rates starting at $500, growing up into the thousands.
- hash872 6y agoAs a business owner & non-engineer who sometimes uses freelance software engineers like OP, it's fascinating to see so much pushback to the guy's hourly rate. On Hacker News! People are so hung up on how much the guy gets per hour, as a business owner all I'm thinking about are the total costs. There are lots of cheaper developers who would take longer to get the job done- how have I saved money by hiring them? And that's before getting into quality of work. I think many commenters are imagining OP as a contractor who works 40 hours a week for his clients, 9 to 5. The whole point of a consultant is that they're project-based, it's not an ongoing expense. I would certainly hire OP for a 20-50 hour project, say, and then an hour here or there to fix bugs and answer questions as needed. It's not a huge total cost, I don't care what the guy gets paid per hour. I literally just look at it like 'overall, this ML/AI project cost me $10k, and delivered x amount of value'. If HN commenters think $250 an hour is a lot, wait till they hire accountants or- god forbid- attorneys :) I bet OP is much smarter and delivers more value than my attorney that charges $400 an hour for simple contract review, and breaks out specific line items for answering my e-mails and 10 minute phone calls with me....
- TrackerFF 6y agoA bit OT, but in my industry (defense), some of the IT consultants from vendors can easily cost you $200-$400 / hr. And these consultants are definitely not Ph.D holders, working on state-of-the-art technology. Just your average java enterprise programmers that get flown in to do slight upgrades.
- xfitm3 6y agoDefense contractors are paid for clearance. You don't want employees in high trust jobs hungry for money.
- m463 6y agoAnother perspective is -- do people know how much ML/AI experts are making wrt total compensation at some of the big companies? They might not make $250/hr in salary, but sometimes the stock options will dwarf that number. I can see how being freelance can be nice though. It keeps you on your feet, you get to see the problem from lots of different perspectives, and it tends to concentrate on the work.
- aantix 6y agoLLC? You’re leaving thousands on the table. Switch to an s-Corp. 30% of the gross will be paid as a salary, as an employee of the s-Corp. you must pay social security, etc on that. The other 70% can be taken as a dividend distribution As the owner of the s-corp. Thats not subject to social security, etc. Will save you ~15% in taxes. at your level, it’s Well worth the cost of the cpa to handle the payroll, quarterly, etc.
- mhagiwara 6y agoI do have a CPA and we did an S-corp election for 2019 tax return. This is something I didn't get to mention in the post because we hadn't filed the tax yet.
- aantix 6y agoMaybe convert it in a a future post. I don’t think devs realize that a 1099 costs you money.
- pdevr 6y agoLLC can elect to be taxed as an S-Corp. Best of both worlds.
- aantix 6y agoWhat are the distinctions?
- pdevr 6y agoA lot to write about, but in a nutshell: LLC is a business entity type. S Corp is a way to be taxed. With LLC, life is simpler (formation, filing taxes, maintenance). With S Corp, you can distribute the profit as dividend (at a lower tax rate) after paying yourself a reasonable salary. Edit: I just noticed that you'd posted the original comment in this thread. So, LLC electing to be taxed as an S Corp means simpler filing requirements (as opposed to C Corp and the like), coupled with the ability to distribute dividends.
- forgingahead 6y agoGreat article! The most important part for others reading this: Narrowing your niche down attracts specific types of clients who have specific needs that few people in the world can solve. My expertise is NLP/ML for Asian language processing and language education. When defining your specialty, I think it helps if you define it in terms of the industry, not in terms of an ML stack. People look for, e.g., “AI solutions for healthcare” and “text analytics for finance,” not for “GANs” or “Seq2Seq models.” You need to be willing to learn a very wide range of ML techniques and models, from simple regression to GANs and RL, no matter what industry you work in. In other words, define your niche in terms that make it easy for someone with budget authority to say "yes" to hiring you. This is worth noting also because if you accidentally cross over into talking with recruiters or other gate-keepers to the real budget authority holders, you'll be misled into talking or padding your resume with technical terms that are not the key value drivers for why you'd get a nice-paying contract.
- th_wacc_nt1 6y agoGreat post! Anybody else here who is currently employed in this field and wants to start a consulting agency or similar? Feel free to reach out at ideavalid@icloud.com
- t0ughcritic 6y agoI think the lawyer example is great! People here don’t question how a lawyer or good accountant can charge 500$/hr easily but an engineer, oh heavens no it can’t be possible. Big business pay this because as others have said it’s about returns, and they aren’t experts in the field and they know they’ll make more back. As startup owners or employees, it may be hard to fathom. If anything more engineers need to be paid even more. Heck even consider a real estate agent that puts your house up for sale, and your house is worth 1m and they get 2.5%, let’s say they walk away with 15k how many hours do you think they spent marketing and managing the sale? In a hot market, where prices are higher and things move fast, even they are reeling in 500$/hr so a PhD level engineer pulling that shouldn’t shock you.
- bluekite2000 6y agoWho are your typical clients/industries? And how long is a typical engagement? And why per hour vs per project pricing?