Company M
Edit (22/10/24): In the past few days, I have had calls with the CEO of Mercor and a co-founder of the AI lab they are recruiting for.
After my call with Mercor’s CEO, I asked for permission to add an appendum to this blog post on Mercor’s side of the story. Firstly, I believe Mercor acknowledges the things mentioned in this blog post. No one has asked me to take down this blog post.
I think the biggest gripes people had from their first impressions was 2 things: the fact that the publically listed salary kept decreasing and the extremely big variances in our salaries.
I had the impression that these salaries depended a lot how hard one bargained during the 10 mins interview. And from the partial information I got from hearsay, it seemed like the salary dropped to 25USD/hr because many people were lowballing.
For the variances in salaries, Mercor has confirmed that provisional salaries were based on 3 factors: geography, Codeforces rating, and years of experience. But the salaries could indeed be raised slightly if some people had strong pushback. They admitted that since they were not transparent on this, it caused a poor perception among competitive programmers.
Oh course, I believe this should only apply to our provisional salary, because they only had our Codeforces rating and a 10 mins interview to work with. But after the probation period, it is totally fine for there to be big variances in salary because CF ratings isn’t a super good indicator of work output.
This brings me to the point about why the price stated in the google docs kept getting lower. It was because geography was a factor in their salary. As I understand, the google docs was only meant to be shared with people in the USA. They probably didn’t meant for it to spread outside of USA so quickly.
Another point I mentioned in this blog post is that the work doesn’t feel satisfying to me. From my call with the co-founder of the AI lab, who was an ex-competitive programmer, I was happy to hear that it was also important to them on how to get a win-win situation for both their lab and competitive programmers. They definitely do want us competitive programmers to feel that we are spending our time meaningfully. I believe it is only through this that they can onboard 50 GMs.
All in all, I think we as a community should at least give Mercor a second chance as long as they take the steps to be more transparent about their hourly rates. This project is probably also the first of its kind, so everyone is slowly working things out. I have only experienced the beginning few days of this project, which may not be reflective of the current experience of working there now that they have fixed some of the kinks. So please do take what I have written below with a massive pinch of salt (I only worked there for like 5 days). Ultimately, it is up to you to decide on whether this job is for you.
While I had a negative experience with Mercor, Mercor was happy was to tell me that many others positive feedback about their experience. I would like to see blog posts in the future from these people too :)
The audience of this blog for those people who are sitting on the fence on joining Company M. Don’t. I quit already.
Basically, some company hires Company M to do HR to get competitive programmers to be data slaves.
Recently, company M has been recruiting competitive programmers.
When I saw the original copy of this document, the clause that said “The floor is \$25/hr for grandmasters” instead had \$75/hr. So it was a lot of money.
Edit: some proof that the price keep going lower
All these screenshots are taken from what I can find from AC server.
Now, I can understand that putting \$75 initially might have been an honest mistake because they corrected it in a few hours. From the point of \$45 onwards, the price kept decreasing. Shoutout to those in AC server who took screenshots of the documents as proof.
Some rambling
I know doing tuition is much more ludicrous. Indeed, I am in Singapore, so I can probably ask for much higher rate with all the tiger moms pushing their children towards Olympiads (Thankfully, my mom is not like that, she only forced me to learn Chinese, which now I regret not learning properly…). But personally, charging exorbitant rates for that sort of competitive programming tuition is against my morals, but that’s another story.
Generally, my philosophy is that I shouldn’t strive to earn money from competitive programming. You can see here how much coordinators earn per contest. It may seem like a lot at first, but then consider the amount of time and effort spent on each contest I coordinate (which is the cause for burn out lol). To me, coordinating codeforces rounds is a passion project, so I don’t really mind the pay. But of course, some money is a welcome bonus. This sentiment is echoed by dario2994 as well. In the same vein, I do not mind teaching competitive programming in the local competitive programming scene for very low pay as well. If you think competitive programming is fun, then shouldn’t you act like an evangelist, sharing this joy with the next generation of competitive programmers? In fact, I will be coaching the Singapore IOI team next year for the compensation of a free trip to Bolivia. Is it worth it? Monetarily, no. But who cares?
Now, the difference here is that I don’t have any incentive to work for Company M other than monetary benefits, so I will definitely want to ensure that I am paid fairly for using my time. Although the rate is lower than tuition, I believed it be an amazing rate because from the job description it seemed that I was going to be paid at least 75USD/h just for solving competitive programming problems. Sounds like an amazing deal!
Also, I was quite interested in the job itself, since I wanted to personally see the frontiers of LLM research and genuinely wanted to be proven wrong that LLM can’t do competitive programming. On the moral side of things, I don’t really have any qualms about this “destroying CP”. Did Chess or Weiqi die after DeepBlue and AlphaGo appeared? Refer to Um_nik’s opinion. And frankly, I don’t think we will get to a stage where AI actually defeats humans in CP anytime soon.
As pointed our in nor’s blog AI fundamentally lacks reasoning (and possibly also creative) to work in the same conjecture-and-proof style as humans. Recently, there has been a preprint suggesting that LLMs can’t even reliably solve gradeschool math word problems. I love how everytime LLMs do something really impressive, we realize it was just a data leak lol.
Then there is the other side of it which is creativity, which I thought AI would definitely have the upper hand. Surely it can enumerate all reasonable ideas faster than humans can? I still believe that the only difference a decent competitive programmer and a really strong one is that one has much more experience and has better heuristics to guide him through the massive search space of ideas in competitive programming as pointed out in this blog by smax. But why would AI need to care about heuristics if it can just iterate the entire “problem solving graph”? But maybe because of how LLMs fundamentally work with proabilistic next word generation, there is no way it can be “creative” if its thoughts are contrained? But I don’t even know how my brain comes out with novel ideas for CP so I’m not exactly sure what human quality LLMs are missing to not be creative. And maybe using text to search this “problem solving graph” is simply not the best idea. After all, if you have done enough competitive programming, you would probably have realized how some neat idea in your head can easily turn into some lengthy essay when you write it in English in the editorial. Simply, natural language is super unwieldy here. That’s not how humans think.
Therefore, I signed up. I had to do a 10 mins interview with an HR person from Company M. It was abit weird that they didn’t do any checks that we were not impersonating someone… Like we were hired on the basis of having high codeforces rating. So shouldn’t they properly check that my account belonged to me? As far as I can tell, they only made sure that my account name on Codeforces matches the name I gave them? So why can’t I just say my name is Zhou Kangyang? I think even TLE discord bot has better account verification.
Now, the first red flag started when they continuously decreased the 75/h salary listed in the original google docs to lower and lower numbers. I think it went to 40, 35, 30 and finally 25 currently. I confronted them about this and the HR person said they “made a mistake” and that 75-85USD was instead the max amount they are willing to pay for really good workers. Yea, I can’t imagine how you can make a mistake 3 times but whatever. I told the HR person I wanted 70/h and also I couldn’t do 20h/week, I think I gave 15h/week as an estimate.
A few days later, the offer came as 48/h. It was abit lower than I expected but sure I guess. But the HR person said that they will increase the pay after the probation period which was listed as 1-2 weeks in the document, so I guess it’s fine to wait it out.
Maybe the next day, another HR person sent an email saying that we will get 100USD bonus if we join now. I still had some questions about the requirements of the job so I wrote a few emails getting clarifications, and just when I was about to accept the offer, they dropped my salary to 45/h. Wtf? Another red flag! Here I was still naive enough to believe that they made an honest mistake, because everyone else who I asked had salaries that ended with 5. And well, if you can some mental gymnastics to convince yourself that on a 10key the keys for 5 and 8 are only 1 manhattan distance away, then you would believe that it was just a simple mistake.
Now, I surveyed some people on their salaries and this is what I got:
Rating Range | Salary |
---|---|
2800-3000 (me) | 45 |
2800-3000 | 35 |
2400-2600 | 49 |
2400-2600 | 25 |
2000-2200 | 35 |
Quite weird… unless proficiency in English is a more important factor than Codeforces rating?
Also if you read the google docs, they wanted to hire 50 grandmaster and 50 additional div 1 programmers. What was the actual number? There are about 30 people total, and I would estimate about 10 grandmasters… And according to my sources, they are also pestering people who registered with them but don’t want to continue to the job with daily emails. LOL
Btw, the HR person said that the AI team from the other company had a competitive programmer. It sounded promising because the openAI team has prominent CP people. But from what I can tell, the only person on the team that did CP was some person who hasn’t touched CP since 2018? So like I’m not sure if they are “in” on the current trends of CP and stuff like that, since 2018 is pre-Anton era. You can sort of tell that they have no idea what they are doing from their initial selection of problems, which were mostly disgusting implementation problems.
As for our actual tasks, well it was solving competitive programming problems as the google docs mentioned. I was initially ok with doing this because I realized they had hard problems that were fun to solve. But I think they realized they made a mistake putting super hard problems in (that only I could solve), so I think going forward most of my time will be spent on problems way below my skill level, which isn’t the most fun thing to do for hours on end.
This experience kind of opened my eyes to the otherside of AI. While I was and am still impressed by LLM technology, I didn’t realize the extent that this relied on the mundane job of “AI tutors”, which we were classified under in this job. (I kind of feel some similarities to, the recent Mechanical Turk scandal of Elon Musk’s robots or Amazon’s Just Walk Out. And I even recall reading about how openAI had to use human evaluators to make chatGPT not super racist.) While I had my hopes up for an interesting job where my skills as someone decently good at CP could be used to improve the state of art of AI, it really just ended up just being an unglamorous job where you are just another data slave. I don’t want to get all doomer and stuff, but is this what most jobs will be in the future…
Some people may be thinking I’m stupid for quitting a job that pays 45/h. Because if one works full time, that is like 85k USD per year, which many Singaporeans would probably kill to have. And the qualification for this was because I enjoy solving silly math problems with computer…
Well, my justification for this is that it is really not worth my time and effort. They are pushing people very hard to work 20h a week, even if you tell them at the start you don’t want to work 20h a week. 4h a day doesn’t seem like much. But here you are expected to be 100% productive. But remember that humans are quite unproductive creatures no matter how much we like to think otherwise. Unless you are as hardcore as Masataka Yoneda, I don’t think you could do spam easy problems for 4h a day with full concentration to hit their rather unrealistic quotas. Maybe I’m too used to codeforces style contests where people complain that 3h is too long (I also tend to zone out before the contest ends for these longer contests). Doing this job for 4h a day will definitely zap all the energy out of me, and I won’t have energy to do much else. Also, they use a spyware app to track what you are doing with your computer so for those 4 hours (they said the app even takes screenshots periodically), along with insane micromanaging on their data labelling website, so there really is no chance of skiving these 20h/week. So, either you pay me big amount of money for my mental energy or you expect shitty work. I was still hopeful that my pay raise might be higher after probation, which remember, they clearly written was 1-2 weeks in the google docs. But in the latest mandatory meeting (which is at 1am in my timezone mind you), they said it was 2-6 weeks instead. Top 10 scammers.
Finally, let’s consider what I will learn from this job. I probably won’t improve in CP since it is just solving easy problems…
So to sum it up, the HR team does alot of dirty tricks and the job is generally not enjoyable. So why bother?
I guess if you need some cash, this job is good. But don’t expect to do anything meaningful with your time there.