HNHacker News
TopNewBestAskShowJobs

ihid

223 karma · joined May 12, 2012

Developer. CEO/Co-founder at Exercism.
submissionscomments
ihid··on Ask HN: How would you learn AI-assisted development from the ground up?
Yeah - Jiki is designed to equip you to be a modern developer: 1. Learn to code (because you still need to know how) 2. Learn how to do agentic coding and how all the technology you interact with day-to-day works beyond code (which is 90% of a modern devs job IMO).

(1) is live and ready to go. (2) is launching properly in August once our big translation project is finished.

ihid··on 2M users but no money in the bank
Exactly. Thank you. Also, I'm using the new thing to keep exercism funded. But even if I wasn't, your post would be entirely true!
ihid··on 2M users but no money in the bank
Hello. You'll get an email after a day telling you about it, and you'll get a banner after you've submitted a couple of exercises :)
ihid··on 2M users but no money in the bank
Thanks so much for your support :)
ihid··on 2M users but no money in the bank
I've replied to this further down. Exercism is a nonprofit - we have no shareholders. We've had many large organisations donate to us (including Mozilla and Google) who have vetted all this.
ihid··on 2M users but no money in the bank
Thanks, yeah. New product will hopefully mean I can keep funding and growing exercism. They're very synergistic and will support each other.
ihid··on 2M users but no money in the bank
Thank you so much for commenting. Always awesome to hear about from the people exercism has helped.
ihid··on 2M users but no money in the bank
> And other times, you're doing something really good that's just not going to get you paid.

This. I feel that this has been missed in the thread a little.

ihid··on 2M users but no money in the bank
Hello. Blog post author and Exercism co-founder here.

Thanks for all the comments, especially those kind supportive ones. I've replied to a few, but I thought it would making a couple of general points for context.

1. I feel something that's missed is that if Exercism just continues to help tens of thousands of people per month and has no-one working full-time on it in the future, that's not the end of the world. Our donations cover server costs (thank you, donors!) so there's not an existential threat. And our wonderful volunteers keep our content growing and up to date (we've added a dozen new languages already this year). For most of Exercism's existence, it has had no paid staff. Me and Erik having to become volunteers again is ok - it just means things will improve slower.

The blog post was written as an update to our community, and our community has been on this journey with me over the last few year. They've seen us go from zero money, to raising over $1M in donations and hiring people, to not having follow-up donations and having to let those people go. They have a lot of context that's maybe not seen by people new to the story. The post is sad, because Erik, who's well loved is leaving, and because the last couple of years haven't financially gone in the direction we'd have liked it to. But the post is not me complaining.

Exercism hasn't been financially successful during the last 18 months, but it's fulfilled the core part of its mission by helping hundreds of thousands of people. And it will continue to help people moving forward.

2. Our aim is to get people to learn a programming language and then to get on with their lives. It's actively not to monetise people. That's important, because it changes the model a little. We don't expect people to stick around month-after-month doing stuff (one person said that having 70k MAU is terrible - but you can also see it as totally expected - you sign up, learn, leave - that's the point). Which means having some recurring Premium offering doesn't massively work. Nearly all the people who donate are also contributors, power-learners (learning multiple languages), or people who feel aligned to a world where something like Exercism exists, and want to ensure it continues to do so.

So the only real end-user model is to charge an upfront fee for using Exercism, which actively goes against the mission and doesn't honour the commitment under which people have contributed.

3. To all the other monetisation ideas, thank you for them. I appreciate you all wanting to help. We've considered and experimented with lots of them over the years. We've not found one that fits well yet but maybe/hopefully that'll change in the future. I have areas I will continue to peruse and am hopeful about.

4. There are numerous threads on server costs, and while I appreciate the opinions there, saving some cost there wouldn't massively shift the needle. Our donations cover our server costs. Hiring good developers and other people costs a lot more money than the ~$3k/month we'd save. I'd also say that there's some general under-appreciation of the complexity of running student's code in 73 programming language sandboxes in real-time. Exercism is a lot more complex than a webserver/database model - we have over 400 GitHub repos. I'm certain some ops gurus would be able to do a better job at building a server infrastructure than I've done for less money, but the one I've built works with basically zero maintenance and not having to be on call 24/7/365 is something I need/value.

As I said in my blog post, I'm going to take a couple of weeks out now, and come back hopefully re-energised to keep building Exercism, and the new project alongside it, which hopefully will help keep Exercism funded. Thank you again for all the support, ideas and well-wishes.

---

Changelog: - Added "For most of Exercism's existence..." to the end of that paragraph.

ihid··on 2M users but no money in the bank
We're not shutting down :)

But yes, rather than shutting down, I'd probably just put the whole thing behind a paywall to try and keep it alive.

ihid··on 2M users but no money in the bank
It takes people about a month to work through a language track, learn the language, and get on with their life. So I wouldn't expect to have more than 45k MAU. 70k MAU is because people LIKE the site and come back to learn another language.

We're not trying to be some business that sucks people into using our site every day and monetise them. We're aiming to teach people effectively and efficiently and then get them moving on with their lives.

We could make the site less efficient, or change it's purpose, but that's not the mission of the organisation.

ihid··on 2M users but no money in the bank
Done, although I emailed the email in your profile. I'll send it to that one too :)
ihid··on 2M users but no money in the bank
No problem. Thanks for acknowledging that! :)
ihid··on 2M users but no money in the bank
It's also worth pointing out the Exercism isn't for coding newbies - it's for developers learning new languages. This often gets missed.
ihid··on 2M users but no money in the bank
We're paying ~$1k/month for all our webservers (which is a dozen ECS instances). They're handling about 3,000 requests per second (but that does sometimes massively spike to tens of thousands if not more).

We're paying ~$1k/month for all our tooling servers (so the 150 different test runners, representers, analyzers that are used to check peoples code. There's >=1 of those running every second). Bare in mind, we're running student's code in over 70 languages here. Each is a docker container (often many gb large) - so we pay for HDD too.

The biggest actual cost is the database at $2k/month. We have about 600 queries per second, and around 10MB per second (spiking to 47MB per second) of read throughput. It's an autoscaling database, but AWS determines that it's at the level it needs to be, and if I turn that down, performance suffers (I've tried).

Beyond that, all the other individual services are ~$300/m, so quite small amounts, but for things we rely on (e.g. caching servers, a shared filesystem amongst all those servers, and other things).

$1.2k on tax is also fun.

ihid··on 2M users but no money in the bank
We're not really part of the "leetcode industry". People have used Exercism to learn new programming languages for a decade. We've deliberately not wanted to become a place of competition or a recruitment space. We've always focused on helping people learn based on their intrinsic motivations.
ihid··on 2M users but no money in the bank
Thanks :)
ihid··on 2M users but no money in the bank
We have about 70,000 MAU.

People tend to spend an intense few weeks learning a language, then disappear for a year. Then come back and learn another language. A large part of the 2M is still "alive" (I don't know exactly what number that would be, but I'd think around 600k) but Exercism isn't the sort of product you use day-in-day-out.

ihid··on 2M users but no money in the bank
Hello :)

Appreciate the comment. If you have thoughts on that, I'd love to hear them here: https://forum.exercism.org/t/exercism-teams-coming-soon/1266...

ihid··on 2M users but no money in the bank
Thank you for being so kind and supportive. I really appreciate your comment.

I'm ok. I'm hopeful for the future. I believe there's lots of amazing stuff we can do and that Exercism has a great future. But right now it's in a hard, low place. The last few months have been pretty tough emotionally, but I think getting to this place is one of acceptance. The only direction now is up :)

ihid··on 2M users but no money in the bank
Hello. This isn't actually correct. Exercism is a Company Limited by Guarantee. It has no shareholders. It can't pay dividends.

Community Interest Companies do have sharedholders and can pay dividends. CIC's are definitely not charities in the scope of the word that you're using it.

ihid··on Exercism's #48in24 Challenge
Exercism has a new annual challenge for 2024. This year we're focussing on digging deeper into the languages you use day-to-day rather than trying new languages.

Each week we'll be launching a different programming challenge, with videos exploring different approaches, looking at some of the best solutions from the community, and highlighting some of the more wild and ridiculous solutions too.

It's totally free (Exercism is a free, open-source, not-for-profit organisation for programming education)

ihid··on A reflection on Exercism's #12in23 from someone who completed it
Last year, Exercism ran a challenge to try 12 different programming languages through the year. @xavdid was one of only a few hundred people that managed to complete it. This is his experience.
ihid··on Nim 1.2
Exercism co-founder here. We get bots spamming the site in every way possible if we don't have a recaptcha. Happy to accept other suggestions for stopping bots signing up if you have any more ethical alternatives that are as an effective?
ihid··on Coding Intentionally in Bash Grains
For public comments, this is correct. For mentoring (in Mentored Mode) you will receive comments about the quality of code.
ihid··on Coding Intentionally in Bash Grains
They're not normalised, no. But the theme holds true. We have about 80% more solutions submitted per day and about 500% more comments per day. So engagement per solution is much higher.

It's also worth pointing out that this whole thing is dramatically evolving. It may be that you're a more "expert" developer and doing the more complex problems that means you're effectively lower in the queue (harder to mentor than basic solutions). Things like https://exercism.io/blog/automated-mentoring-support-project aim to free up our mentors to give them more time to deal with the harder problems. And things like https://github.com/exercism/exercism/issues/4658 and https://exercism.io/blog/track-anatomy-project aim to make mentoring easier and more enjoyable, which means we keep mentors around for longer and they mentor more because it's more fun for them. It may also be that you're on a track that has had 5x or 20x growth (I'm not sure if there are any but you get the idea) in which case the speedbump might have corresponded more to the growth of that track than v2.

If you don't mind telling me your exercism handle, I'd be interested to dig into your situation further to understand why you hit that speedbump. It's easy for me to talk in terms of data, but I'm limited to seeing the general patterns rather than hearing real people's stories such as yours, so it's really valuable for me to understand. Feel free to email me (jeremy@exercism.io) if you don't want to disclose it on here :)

ihid··on Coding Intentionally in Bash Grains
Ah awesome. Sorry I dropped the ball on that. I'll reply now. Have you seen about https://exercism.io/blog/automated-mentoring-support-project ?
ihid··on Coding Intentionally in Bash Grains
So there are two modes: 1) Mentored Mode: Submit, get structured feedback from mentors, then publish and get stars (ie upvotes/kudos) and/or public comments. 2) Independent Mode: Submit, publish, get stars (ie upvotes/kudos) and/or public comments.

So Independent Mode is very similar to "classic" Exercism.

I'm defining "feedback" really as (1) - so there are 5x more comments (from mentors + public) now than there were in old Exercism (public).

So for a tangible example: - Feb 1st 2018 (classic): 162 comments, 110 stars - Feb 1st 2019 (new): 831 comments, 46 stars

I randomly picked that date, but every date is basically the same sort of ratio.

Lots of people say the same as you do that it feels like there's less interaction, but really there's a lot more. I feel like we're failing to make Exercism feel as alive as it actually is for some reason, but I'm not sure why :)

ihid··on Coding Intentionally in Bash Grains
Nice work! I'd be interested in how we could improve the UI to cater better to your third point. If I'm interested in how a language looks I tend to find one good solution, then look at the poster's profile and browse other of their solutions in that language. I'd welcome your thoughts :) Would like to open an issue on https://github.com/exercism/exercism and we can discuss this more widely with the Exercism community?
ihid··on Coding Intentionally in Bash Grains
The "explore languages" link is now fixed. Thanks :)

Feel free to open an issue at https://github.com/exercism/exercism for the random language order. If there's consensus then it's an easy one to change.

Page 1 of 2Next →