Do not blame this on Groupon's US engineering team. This is code from crazeal.com, which Groupon acquired (check the 'was thrown in' part of the exception message).
A lot of Groupon's international sites are on different platforms than the Groupon US site. This is because they expanded by acquiring the leading daily deals sites in all the countries they moved in to. There's been a big project within the company to move all international markets onto a single system but I'm sure you can imagine how difficult and time consuming of a project that is.
Not full time consultants, and being a consultant to a startup is way different.
1. They are already doing it for the YC funded firms.
2. Unlike real consultants, they can build startups, fund startups, get involved more.
3. YC has lot of traction for this, I feel a good idea is being overlooked.
2. Doing it for YC funded firms make sense because they have vested interest. This is different than being bombarded with a ton of questions much like a support forum, for which their time is probably better spent on YC as a whole.
Fake data? Give me a break. Groupon pioneered a new business model. With a new business model you need to account for things in ways they have never been accounted for before. While I'm not arguing their numbers didn't look shady at times, but it's because no one knew how to account for how the cash moved through Groupon's books because no one had ever done it before.
Do you count the full price of the deal as revenue? Or do you count only Groupon's cut of the deal as revenue? How often should they pay out the merchants? How do you account for refunds? Where do you keep the reserve pools Groupon needed to pay out all those refunds? Are the reserve pools considered an asset? Or a liability? How long do you need to hold the reserves before you can be sure there won't be any more refunds?
Management had to answer all of these questions in a matter of weeks because Groupon was growing so fast. It's not surprising they kept changing the way they accounted for things so often. The fact that you think Groupon knowingly misled investors like it's some sort of conspiracy is absurd.
The problem with this argument has always been that the answers are clear to people with some business experience.
"Do you count the full price of the deal as revenue?"
Gross revenue? Sure. Net revenue? Of course not.
"Or do you count only Groupon's cut of the deal as revenue?"
Yes, as net revenue. Of course. Same as any marketing/advertising company.
"How often should they pay out the merchants?"
As slowly as possible, from Groupon's perspective. What was so amazing here was they essentially built an ad network where the inventory suppliers had zero power over the scenario and accepted unfavorable payment terms. Instead of getting paid net 30, they accepted net 90 or worse.
"How do you account for refunds?"
As credits to the expense account where the original purchase was posted, just like with any other business.
"Where do you keep the reserve pools GRoupon needed to pay out all those refunds?"
You don't have to keep it anywhere because they get marked as credits to the expense account. There's no need for a pool or any other sort of artifice. Creating a pool makes sense only to cloud what's going on.
"Are the reserve pools considered an asset?"
Of course not. But why do we have a pool again?
"Or a liability?"
Of course.
-------------------
Groupon did a lot of brilliant things. One of the smartest was realizing that though their model was no different from any other sort of ad network, since it wasn't immediately obvious to outsiders, and since their suppliers had so little power, they could make up new accounting rules and principles to generate favorable cash flows.
I don't write this to say this was wrong. It was brilliant. I want to disagree with the idea that they HAD to do this. They could have paid out net 30 and counted refunds like any other business, but they realized they could get away with not doing this for some time, and ran with it.
Rocky Agarwal is far from credible. He made a name for himself by making it his personal goal to bash Groupon as much as possible. Probably because a number of his co-workers at TellMe left to join Groupon and he supposedly wasn't offered a job to join Groupon.
His so called reporting wreaks of jealousy as he watched his former co-worker's equity skyrocket with Groupon's growth while he was left out.
I'm fascinated by the theory that somebody's reporting on a topic is automatically suspect because they have developed a strong opinion on the topic.
If you've got issues with what he wrote, I'd be interested to see what specifically you feel he got wrong. But regardless, I think he deserves credit for digging into Groupon financials, and for calling out the lack of substance well before most people did. Jealous or not, the collapse of the daily deals space and Groupon's sickly stock price suggest that he was broadly correct at a time when most financial journalists were hyping Groupon and its stock.
I just came across this today and I couldn't find much online as far as reviews or testimonials. If anyone is using this I'd love to hear about your experience.
This has the potential to be a great example of software making a real difference. I'd never heard about nextdoor until a few days ago when my parents of all people told me how great it was and that they had heard on nextdoor of a series of break ins around our neighborhood. I've now heard greats things about nextdoor multiple times from different people since then
You'll never comprehend just how good a 10X developer is until you actually work with one. You'll be able to tell they are 10X when you see how much work they get done in short amounts of time.
I don't think it has anything to do with "getting in the zone." A novice programmer that spends 4-5 hours straight focused on a problem is still a novice programmer no matter how far "in the zone" he gets. 10X can only come with experience. And that has to be experience working with other 10X programmers.
A programmer that has 15 years of freelance experience may be good at his/her job, but I doubt they would be as productive as a programmer with 15 years of experience working at top tier companies like Google, Amazon, Facebook, etc.
I really think the only way to become 10X is to watch and learn from other 10X programmers and that will still take years of learning.
The best programmers I know (those we refer to 10X) check Hacker News once a week, their email once a day, twitter once every 2 days and have every notification turned off in every application that could send them one. They also turn off chat entirely.
One even works with a single monitor so as to only see his code and get 0 distractions.
It comes down to what one reads, when, and with how much focus, too.
I just started trying to "chunk" my time in Google Reader, and I noticed a significant increase in actionable information taken away from the articles despite reading from the same sources as during my "between work duties" peeks.
Depends on the job, I guess. Some jobs you hammer out the spec in a meeting once a week, and then sit down, shut up, and implement the heck out of it. Maybe a few tweeks on a public wiki or bug reports fixed during that time.
I suppose I'm noisy as heck, and attend lots of events and meetups and conferences, but I know whole companies full of people who don't get out, dont't talk or read much, and they just stay at work and make a killing. You don't hear about them because they don't get out.
My point is: no doubt that twitter et al are distracting. But that's not what makes the difference between a good and bad programmer. Really complex engineer tasks require your brain to slowly process the ideas that you have, sleep on them, discuss them with colleagues, maybe read something online about it. But I find that the argument that says 'you suck because you are too distracted' is kind of dangerous. Taken to the extreme and it becomes: 'oh I won't answer my mom because that makes me worse at my job' or 'oh I am not drinking wine tonight because I won't be at my best tomorrow'. I think on the contrary, it is important to take one's job slowly to be better at it.
I'll echo and extend that. It isn't about production. It's about the quality of the programmer and his/her ability to think.
fizzbuzz is a good example. There are people who simply cannot do it. No matter how perfect the environment, there are people who will never do it. You cannot teach it, train it, or otherwise wish it into existence.
10x is a misnomer probably in most cases. It isn't that the "10x" programmer is that much faster. It's that he/she is doing things the others cannot.
I worked as a consultant for 11 Months right out of college. During that time I launched a side project that got some traction and a little press but didn't really go anywhere. I put it on my resume and started applying to startups in the Bay Area. The project got my foot in the door for some interviews and I was eventually hired as a lead dev for a YC company.
I didn't create a startup but I was able to work in my spare time on a project that proved I could ship a product, which enabled me to leave my soul sucking corporate consulting gig.
A lot of Groupon's international sites are on different platforms than the Groupon US site. This is because they expanded by acquiring the leading daily deals sites in all the countries they moved in to. There's been a big project within the company to move all international markets onto a single system but I'm sure you can imagine how difficult and time consuming of a project that is.