[HN Gopher] Launch HN: CodeCrafters (YC S22) - Practice writing ...
       ___________________________________________________________________
        
       Launch HN: CodeCrafters (YC S22) - Practice writing complex
       software
        
       Hey everybody, it's Sarup and Paul, founders of CodeCrafters
       (https://codecrafters.io). We make interactive courses for software
       engineers, where you get to recreate popular developer tools from
       scratch. Build your own Redis, Git, Docker, and SQLite--in Go,
       Python, Rust, etc.  For example, if you did our Git course, you'd
       learn how Git internally stores file data by building an
       implementation of Git that can clone a GitHub repo. If you did our
       SQLite course, you'd end up with a SQLite implementation that can
       read a valid SQLite database file, and retrieve data by performing
       an index / full-table scan on it. The projects you'll build are
       always end to end compatible with the official spec. Given the same
       input, your program would behave the same way the official one
       would.  We're different in the developer education segment in 3
       main ways:  First, we cater to people with programming experience.
       There are tons of introductory "learn to code" resources out there,
       but surprisingly little once you get past the basics. Good
       programmers want to get better and to develop in areas where
       they're not strong yet, and that's what we help with.  Second, the
       coursework involves writing actual code instead of consuming
       videos. You handle concurrency, develop statecharts, traverse
       B-trees, etc. While we test against a fixed spec, you're welcome to
       try different approaches. E.g in our Redis course, you could
       implement handling concurrent clients either using threads, or
       using an event loop.  Third, instead of coding in the browser, you
       build these projects in your local dev environment. We create
       repositories for you to work out of, and you git push to run tests.
       The actual code can be written in your editor of choice (VSCode,
       JetBrains, Emacs, etc).  This last point in particular--our git-
       based workflow--is something customers repeatedly tell us they
       enjoy. We run our own git servers, and have server-side post commit
       hooks configured to run tests on every push. These post-commit
       hooks also send back logs to users, with colors to indicate
       pass/fail, errors, etc. Our feedback cycle for popular languages
       like Go, Python, JS often takes ~2.5sec (including pushing code,
       running tests, and streaming back results), faster than even
       regular GitHub pushes. We do this by executing code within
       firecracker VMs and caching aggressively wherever possible.  As
       open source contributors, we've always been interested in the
       internals of software we use day-to-day. When Paul became an
       Engineering Manager for a team of 12, he decided to conduct in-
       person "Build your own Redis" workshops as a way to engage his team
       and help build skills. He had a mini-curriculum, a physical
       leaderboard for scorekeeping, and a Slack channel for discussing
       solutions. Participants loved it and wanted more. With
       CodeCrafters, we've essentially built an expanded version of that
       workshop experience on a website--for engineers and teams that want
       to challenge themselves, dive deeper, and grow.  We've learned how
       much hunger there is for a skill-building path that's structured,
       fun, and focused on cool, well-known projects with serious
       technical dimensions. Jumping straight into the deep end as an
       open-source contributor has always been an option, but it's
       daunting, if not intimidating. It can take a long time to get
       oriented in a major codebase, and mentorship isn't always
       available. There's a need for an intermediate approach with lessons
       that build technical expertise, and that's what we're supplying.
       So far, we've seen developers and teams use CodeCrafters to learn
       the internals of complex software, master programming languages,
       onboard devs in a new language, and even as a continuous team-
       bonding activity.  If you're a developer, we'd love for you to try
       CodeCrafters. Most customers expense the subscription through their
       learning / professional development budgets. If you need help
       convincing your manager, feel free to email me --
       sarup@codecrafters.io.  Paul and I are excited to continue helping
       software engineers become the best technical version of themselves.
       We'd love to hear your ideas, experiences, and suggestions. What
       new courses should we add? What other formats of learning have you
       found to be effective?
        
       Author : rohitpaulk
       Score  : 206 points
       Date   : 2022-08-04 13:05 UTC (9 hours ago)
        
 (HTM) web link (codecrafters.io)
 (TXT) w3m dump (codecrafters.io)
        
       | theptip wrote:
       | This looks very promising, I think it could be a great resource
       | for companies that want to invest in training their developers,
       | but don't have the resources to build a curriculum themselves.
       | 
       | > What new courses should we add?
       | 
       | The courses you have already are good, but are quite low-level.
       | To broaden the applicability perhaps you could also try something
       | like "build a REST API that matches this OpenAPI schema" (getting
       | persistence working properly could be an interesting challenge).
       | Going further, I wonder if it's possible to do a course like
       | "build a web app that does X" (Realworld or TODOMVC are possible
       | values of X), using browser automation to test. This is probably
       | very hard without manual review. (Scoped broadly enough, this
       | could be solved with a server-rendered framework or a client-side
       | framework.) Common engineering/craftsmanship problems here are
       | authentication, persistence, navigation, performance tuning,
       | perhaps log-wiring, etc.
       | 
       | More generally, I'm wondering if there is a good open-source
       | option as a competitor / baseline comparison? As others have
       | noted, Leetcode is one common source of study exercises, but it's
       | quite annoying to work with as you need to submit code in the
       | browser rather than using your IDE. I'd love to see a repo with
       | exhaustive test cases for the things you're building; for example
       | low-level algorithmic exercises like "exhaustive tests for binary
       | search tree" or higher-level "build a git client" like
       | CodeCrafters offers. Being able to step-debug through failing
       | test cases is always going to be more realistic training than the
       | Leetcode workflow.
        
         | sarupbanskota wrote:
         | Thanks for the ideas -- you're right that automating the UI-
         | oriented testing is more difficult. We're already piloting some
         | ideas in this area (e.g Build your own React) -- but the
         | current focus is on perfecting what we have.
         | 
         | Our testers are all OSS. Here's our git tester for example --
         | https://github.com/codecrafters-io/git-tester.
         | 
         | Others can be found on our GitHub org.
         | https://github.com/codecrafters-io
         | 
         | We need to do a better job of exposing links to testers in our
         | in-app UI -- good feedback!
        
       | jamestimmins wrote:
       | This looks really awesome, and as someone who loves reading
       | source code (and works in OSS full time), this is my ideal way to
       | learn.
       | 
       | The price seems sensible as long as the quality is high. The
       | question I'd want answered before asking my employer to pay for
       | it is how complex it can get. There's certainly value in a Redis
       | that takes 3 hours to build, but there's a _lot_ more value in
       | the 30-50 hour version where you have to think through design
       | tradeoffs and dealing with hard edge cases. It 's the more
       | complex version that I'd ask for my employer to pay $80/month
       | for.
       | 
       | For context, I've been in industry for 8 years and work on the
       | Airflow OSS project as my day job.
        
         | sarupbanskota wrote:
         | Thanks James! We're just getting started, and the current
         | thinking is that we'll add depth to our courses along different
         | "branches". e.g after you've been through the basic stages of
         | Redis, you can continue along a path to dive deeper within the
         | persistence aspects of Redis, or the networking aspects.
         | 
         | You can preview the current stages for each of our courses
         | here: https://app.codecrafters.io/tracks/go. You can do a trial
         | to get a feel for the learning experience. If you find that the
         | current stages aren't at the complexity level you're looking
         | for, you should keep an eye out for future updates (would also
         | love to hear what other stages / branches you'd suggest for our
         | courses)
        
       | mandeepj wrote:
       | You've appealed to me. I'm continuously learning to become
       | better. My next self goal is to add sharding and replication into
       | SQLite.
       | 
       | Question - Can you share an example with me - how would you teach
       | someone to use OOPS (inheritance/composition), design patterns,
       | and SOLID principles - to better structure code for
       | maintainability, enhancements?
       | 
       | One of my personal philosophies is to write less code, but still
       | achieve as much if not more.
        
       | scottydelta wrote:
       | I like the idea but the price seems very high and it's not even
       | for continued access but a subscription for a limited time.
       | 
       | The kind of experienced engineers you are targeting are also the
       | people capable of doing this kind of learning on their own. But
       | if someone's employer is paying for it then it helps expedite the
       | learning because of the guided process you guys provide.
        
         | gbersac wrote:
         | If it's done on my spare time, I don't have time to create
         | proper test suite, proper CI... This is done for me by
         | CodeCrafters. It helps save a lot of time.
        
           | sarupbanskota wrote:
           | Agreed!
           | 
           | One of the things we also hear frequently is: "I don't know
           | what to build"
        
         | automatoney wrote:
         | They're not "experienced engineers" but I could see this being
         | useful at the new grad/early career level - where people can
         | code (and leetcode) but there's maybe a need for a more guided
         | class-like experience, especially when it comes to breaking
         | down tasks and working on a larger piece of software.
        
           | sarupbanskota wrote:
           | Good assessment, lines up quite accurately with what we're
           | seeing. In our post, when we said "experienced engineers", we
           | meant more "folks with programming experience" and less "pro"
           | users :) We've updated the post.
           | 
           | When we first started out, we didn't pay any attention to
           | guidance at all, and instead focused entirely on the
           | "challenge" aspect. At that time, it was less common for
           | early career engineers to try out the product.
           | 
           | We've evolved a bit since, and now it's common for us to also
           | see early career professionals, support engineers at devtool
           | companies, bootcamp grads, etc. From time to time, we come
           | across Engineering Managers who'll do our modules as a way to
           | "stay in touch" with programming (and picking up a new
           | language they'd been itching to learn -- e.g Rust).
           | 
           | We're probably not suitable for someone new to programming,
           | but otherwise all other levels are welcome and find value.
        
       | abe94 wrote:
       | Looks great, honestly would have loved something like this back
       | in university!
        
       | aliasxneo wrote:
       | Is this targeted at companies? Sounds right up my alley but the
       | pricing is a bit steep.
        
         | sarupbanskota wrote:
         | We're targeting engineers with access to company-provided
         | learning / professional-development budgets. From speaking with
         | customers, we're seeing companies offer employees between
         | $500-$5000 in annual allowances.
         | 
         | Which course intrigues you most? :)
        
           | isaacaderogba wrote:
           | Are there pricing options for developers that aren't in this
           | position? The platform looks great, but $80/month on a
           | personal subscription feels really steep.
        
             | sarupbanskota wrote:
             | Thanks for your appreciation! I've touched on the pricing
             | topic a bit here
             | https://news.ycombinator.com/item?id=32345899
        
       | jcmontx wrote:
       | I might be interested in this. Saved!
        
       | rayman22201 wrote:
       | I was pleasantly surprised to see support for Nim as a task
       | language! very cool! Particularly considering your target market
       | of developers with corporate education budgets, I expected a much
       | smaller set of mainstream languages.
        
         | sarupbanskota wrote:
         | Thank you! Our language support mechanism is OSS, and we
         | welcome community contributions. It's designed in such a way
         | that you don't strictly need to have knowledge of the course
         | material to be able to add support for a language.
         | 
         | https://github.com/codecrafters-io/languages/blob/master/doc...
        
       | yewenjie wrote:
       | Sounds cool but without being able to actually try a full course
       | out, there is no way to know if I'll enjoy it.
        
         | gbersac wrote:
         | Maybe they should make one course free to use like create your
         | own git and access to other would be payed.
        
         | sarupbanskota wrote:
         | Agreed, learning styles are different for everyone, and it's
         | important to be able to try things out. We've added a 3-day
         | trial for you to experience what it's like -- looking forward
         | to seeing you on the leaderboard!
        
           | EddySchauHai wrote:
           | The 3-day trial is only on $700 annual memberships though!
           | I'd very much try this out on a 3-day trial if it's then
           | _only_ $70 a month afterwards. $700 in one go means I have to
           | ask the wife and you 'll miss out on a sale there ;)
        
             | sarupbanskota wrote:
             | Argh, I'm so sorry, our pricing page should have been
             | clearer (fixed now).
             | 
             | The trial is available on all plans, so no need to ask the
             | wife!
        
               | EddySchauHai wrote:
               | Haha cool, then you have a sale later today :)
        
           | samstave wrote:
           | What is you're "Hello, world... again" project? for the
           | trial?
           | 
           | Maybe you have a small trial project for each language which
           | you support, allowing for a quick evaluation with real
           | results?
        
             | sarupbanskota wrote:
             | I think doing the first 2-3 stages of any course is usually
             | a good enough to understand the core for the learning
             | experience. The later stages tend to get more involved (e.g
             | the last stage of Git & SQLite are rather tricky for most).
             | 
             | Good suggestion regarding having trial projects for every
             | language, we'll consider that.
        
         | aaur0 wrote:
         | I felt the same too. A 3-day trial is not enough to try out
         | complex software.
        
       | theylovezmw wrote:
       | Congrats on the launch! I've been using CodeCrafters for a year
       | now and am a huge fan of the product. One problem I had was
       | finding proper documentation/guidance for when I got blocked.
       | Beyond the Discord are there any plans to unblock users?
        
         | sarupbanskota wrote:
         | Thank you for your kind words!
         | 
         | Until a few months back, we were focused solely on the
         | "challenge" aspect of the product. Based on customer feedback,
         | we've been making new features available that offer more
         | guidance when you're stuck -- a 2min preview is available on
         | this demo video -- https://codecrafters.io/videos/demo.
         | 
         | 1. We show you expert-vetted code approaches for different
         | languages in each stage, and also explain the interesting /
         | difficult parts in the approach.
         | 
         | 2. For further inspiration & knowledge, we now also include
         | source walkthroughs for many of the stages, which link to how
         | the official implementation does it. Here's one for Redis,
         | which explains how the PING command is implemented (stage 2 of
         | Redis). https://app.codecrafters.io/walkthroughs/redis-ping-
         | command
        
           | theylovezmw wrote:
           | That look's perfect, great job!
        
       | tzarko wrote:
       | Love the concept, and could see myself really benefitting from
       | this as a self-taught developer.
       | 
       | That said, I agree with most everyone's assessment that the
       | price-point is a bit too high.
       | 
       | Is providing different pricing schemes for
       | companies/hobbyists/students something you're looking into?
        
         | sarupbanskota wrote:
         | Thanks for the kind words, and I appreciate your interest!
         | 
         | Our long-term intention is indeed to be able to help anyone
         | who's interested to learn and grow regardless of their
         | financial situation.
         | 
         | We also realise that not everyone has access to a learning
         | budget. As an early-stage company, our pricing reflects what
         | our current target audience is comfortable paying, and is also
         | a test for long-term sustainability. Over time, we hope to be
         | able to overcome pricing-related hurdles and enable broader
         | access.
        
       | jjallen wrote:
       | I was excited to try the Clojure track, as I have been planning
       | on learning Clojure soon but couldn't get it to work. I attempted
       | to start the free trial a few times and was redirected to the Go
       | or Redis track repeatedly. So couldn't try it really.
        
         | sarupbanskota wrote:
         | I think we know what happened there (our message for the
         | "close" button on the trial modal was confusing), and we've
         | fixed it.
         | 
         | Please give it a try once more?
        
       | throwaway2__22 wrote:
       | If only the market cared about this and not soley leetcode.
       | 
       | Looks cool though, I will likely try this out.
        
       | metadaemon wrote:
       | Getting a Rails "The page you were looking for doesn't exist."
       | When trying to login with Github currently.
        
         | sarupbanskota wrote:
         | Thank you for flagging, looks like you hit an edge case. We've
         | pushed a fix, please try again?
        
         | [deleted]
        
       | thewebcount wrote:
       | This is a really cool idea! I may check this out.
       | 
       | One concern I have is that it looks like you're having people
       | rebuild Unix command line tools. Tools which have a tendency to
       | look at the world in one particular way. Unfortunately, that way
       | is not very good to users. I'm really concerned about how many
       | different programming courses, from boot camps to graduate level
       | CS courses, push this narrow view of programming. I'd like to see
       | some more variety in the ways that programming is taught. Have
       | you considered bringing in projects that have graphical user
       | interfaces or that use different paradigms than those espoused by
       | Unix?
        
         | sarupbanskota wrote:
         | Thanks for your question. If I understand right, you mean for
         | example projects that involve a frontend web component?
         | 
         | That's on the cards (e.g we have Build your own React on the
         | pipeline). There are unique challenges to making that
         | experience predictable, so we're focusing on the "console-
         | based" projects for now. There's also often a "subjective"
         | nature when reviewing/testing UI so we need to think through
         | the ideal feedback workflow for courses with frontend
         | components.
         | 
         | That said, I do wanna highlight that these courses do cover a
         | lot of ground. I look forward to your feedback once you manage
         | to get your hands on it!
        
       | alangou wrote:
       | Pricing seems fine, that's a drop in the bucket for developer
       | education--my learning stipend at my first tech job (this was
       | pre-IPO) was over $1000/year. Investing in quality education is a
       | price willingly and even eagerly paid by those who want to grow.
       | Bet a large swathe of immigrant parents would approve, too.
        
         | sarupbanskota wrote:
         | My Indian Mom thinks the pricing is outrageous
        
           | password4321 wrote:
           | Paging https://twitter.com/shit_hn_says, stat!
        
           | alangou wrote:
           | That is funny. Seems frugality vs. education is the
           | unstoppable force meets the immovable object.
        
       | toyg wrote:
       | Server not found. Hugged to death? Hacked?
        
       | nanomonkey wrote:
       | This looks great!
       | 
       | What languages are supported? Are the tests language agnostic, or
       | is the coursework specific to a subset of languages? I see
       | reference to Rust, Go, Python and JS...but am unsure if this
       | would be useful for something like Clojure, where I can produce
       | JS, JVM or compiled code, that could be tested against, but
       | wouldn't expect an imperative pseudo-code explanation of an
       | algorithm to be helpful for explaining a functional solution.
        
         | sarupbanskota wrote:
         | Thanks for the great question. We support ~14 languages at the
         | moment and are working on adding more. You can visit our tracks
         | page (https://app.codecrafters.io/tracks) to see the courses
         | available against each language.
         | 
         | As a 2-person team, we're prioritising making a complete
         | experience for Go, Python & JS for starters (our most popular
         | languages).
         | 
         | So far, our tests are language agnostic. Our testers are
         | written in Go (they're open source, example:
         | https://github.com/codecrafters-io/redis-tester). The testers
         | interact with user code by testing for observable behaviour -
         | exit codes, stdout/stderr, files written etc.
         | 
         | Although the testers are language-agnostic, a lot of the
         | educational "content" is language-specific. We emit language-
         | specific hints in stages where appropriate, and have expert
         | solutions that are language-specific. A lot of this is new, so
         | we might not have coverage across all challenges - this will
         | improve over time.
         | 
         | Does that help explain our setup a little better?
        
       | debarshri wrote:
       | I think a bigger value I see with your product is replacing
       | leetcode challenges with something like this. We often give take
       | home assignments to our potential candidates and this would be a
       | great fit, if the platform had features around code evaluation,
       | ephemeral environment with seeded data that would be great. I
       | think that is quite a big market too.
        
         | winphone1974 wrote:
         | Experienced devs won't bother with your LC exercises but you
         | now want them to implement SQLite or redis? Good luck with your
         | recruiting!
        
         | avinassh wrote:
         | also check out https://hackattic.com/ it has some really fun
         | problems
        
           | rohitpaulk wrote:
           | Glad you mentioned this - Hackattic was in fact one of our
           | early inspirations to start CodeCrafters :) I thoroughly
           | enjoyed going through the challenges there:
           | https://hackattic.com/u/rohitpaulk.
        
         | mritchie712 wrote:
         | check out https://codesubmit.io/.
         | 
         | You can link a custom repo to it, pretty amazing experience all
         | around.
        
         | sarupbanskota wrote:
         | Good insight, we've been suggested that using CodeCrafters for
         | onboarding engineers increases your overall talent pool (hire
         | language agnostically, then internally train engineers in your
         | target language).
         | 
         | In the absence of leetcode-style challenges, what do your
         | current take-home assignments look like? Do they test for
         | skills specific to your domain, or are they agnostic?
        
           | debarshri wrote:
           | Key thing we look for in a candidate is the ability to solve
           | real world problem. We are an early stage startup, so most of
           | the people we hire has to a broad spectrum of knowledge which
           | I think is hard to capture with leetcode. Ideally we would
           | like to capture their networking skills, programming skills,
           | operational skill, understanding computer science basics etc.
           | I think we would definitely pay subscription for a service
           | like this as lot of grunt work is currently is done by us.
        
       | GordonS wrote:
       | I love the idea!
       | 
       | The pricing, not so much. When I think about what that money gets
       | elsewhere (e.g. Pluralsight), IMHO your pricing is 2x what it
       | needs to be.
        
       | andy_ppp wrote:
       | This is a great idea, I've had a slightly different one that
       | could be added to this that is a different type or programming
       | more within your application. Examples of this off the top of my
       | head you should know are caching, login, image uploading direct
       | to s3 and resizing, event driven systems, scaling stuff with the
       | dynamo db/Cassandra style of writing out denormalised views etc.
       | So instead of concentrating on software that already exists
       | outside of your application for me it would be super helpful to
       | absolutely have down all the different parts of logging in and
       | auth, for example. Good luck with the continued development of
       | Code Crafters, it seems like a really awesome idea with loads of
       | potential!
        
         | sarupbanskota wrote:
         | All good ideas! Thank you for your appreciation!
        
       | iamjk wrote:
       | The concept seems cool and the price seems reasonable if the
       | quality is high. But how does this translate to value for
       | subscribers? It seems like the company is treating curation as
       | the core value prop but I see it as more of a means to some end.
        
       | rsweeney21 wrote:
       | This looks awesome! Since moving to a smaller company, I miss
       | being able to learn new things from more experienced engineers.
       | 
       | This also satisfies the itch to learn a new language by building
       | something really interesting, and not just another Todo app.
        
         | sarupbanskota wrote:
         | Thanks for the kind words! We kind of stumbled into the
         | language learning insight.
         | 
         | In the early days, we'd find folks sign up to do CodeCrafters
         | because they had a "niche" job that involved knowing Redis or
         | Docker internals (typically platform engineers at infra
         | companies).
         | 
         | However, we saw that there were a set of engineers that would
         | do all of our courses, then do redo some of them in different
         | languages. We initially thought that to be strange (why re-
         | learn the internals once you've already done it) -- and they
         | clarified they were in fact looking to pick up a new language.
         | 
         | Possibly my favorite customer call till date is a final year
         | college student who didn't know what Redis was, had experience
         | with C but none in Java -- and within a few weeks times, he had
         | learnt about what Redis was (and a bunch of backend concepts
         | while he was at it), then it's internals, while learning Java
         | at the same time
        
           | cercatrova wrote:
           | Have you heard of Rustlings? It's a series of exercises for
           | Rust that teach you the language as you do them. I just
           | finished that recently and this reminds me of that, except
           | more complex. Now that I've done Rustlings which is for
           | beginners, I have a high interest in doing something like
           | CodeCrafters.
           | 
           | Perhaps for other languages which don't have a Rustlings
           | equivalent, maybe you could add something like that for
           | beginners as well as your more complex challenges. If I were
           | to rewrite Redis to learn Rust, that probably would have been
           | too complicated a project, but having a guided beginner
           | course before the complex projects makes more sense to me.
        
             | sarupbanskota wrote:
             | Rustlings for other languages seems like a really good
             | idea, thanks! Were you doing Rustlings as part of
             | onboarding at a new job / project, or as a hobby?
        
               | cercatrova wrote:
               | As a hobby, I do full stack in JS mainly for work. You
               | could take a look at exercism.io as well, although some
               | of their questions are more like Leetcode rather than
               | teaching the language which is not the way to go I think.
        
       | yardie wrote:
       | This is awesome but the only way I would be able to afford it is
       | if my company paid for it. I'd have to make a case for prof. dev.
       | anyway to add some sort of certification to it? HR really, really
       | likes certificates, degrees, etc. for PD.
        
         | sarupbanskota wrote:
         | We do have user pages.
         | 
         | Here's an example of a real user's page, who's in-progress:
         | https://codecrafters.io/users/jaredpalmer
         | 
         | And some examples of "completed" users:
         | https://codecrafters.io/users/eyalfoni
         | https://codecrafters.io/users/byarr
         | 
         | Do these help? Please feel free to drop me a brief note
         | (sarup@codecrafters.io) and I'll be happy to help you write a
         | compelling case for PD and also explore certificates.
        
           | yardie wrote:
           | I'll ask and see.
           | 
           | I just renewed my CPR/First Aid they took a photo and added
           | it to my profile with the expiration date. And it was my name
           | and the date literally scribbled on cardstock.
           | 
           | It might be pedant but even a simple PDF with name, date, and
           | subject taken would probably satisfy HR. They are rigidly
           | loose like that.
        
             | sarupbanskota wrote:
             | Gotcha, I got this. I'm happy to spend some time on Figma
             | hand-crafting a super slick certificate for you. Just reach
             | out and ask!
        
       | rahimnathwani wrote:
       | I love the idea of this, and I disagree with others about the
       | price being too high. If you're in the US/Canada/UK and planning
       | to spend even a couple of hours per month using this to further
       | your skills and career, then the value of your time investment
       | will exceed your cash outlay on the subscription.
       | 
       | That being said, I wonder whether you've considered offering a
       | student discount for bona fide students? You could do this via
       | sites like Unidays or StudentBeans. You can rely on their process
       | for verifying students, instead of just accepting anyone with an
       | edu email address (which are sometimes available to alumni).
       | 
       | I'm sure some of the folks doing online CS degrees at WGU and
       | Georgia Tech would be interested in this.
        
         | sarupbanskota wrote:
         | Ooh, super interesting. Thank you! We weren't aware of Unidays
         | / StudentBeans, indeed sounds like something we should explore.
         | We have organically seen students sign up -- so I'm sure a more
         | favorable pricing to them could go a long way.
        
           | avarun wrote:
           | There's also SheerID which is what Spotify uses to validate
           | student IDs and is IME better than Unidays.
        
       | bytelane wrote:
       | This concept seems great, and I work for a very large company
       | shown in the "trusted by" section. I also noticed that you have a
       | quote from an engineer at my company who does not exist in the
       | company directory or on LinkedIn. I cannot find any information
       | about a subscription on our intranet. Are the companies shown in
       | the "trusted by" section actually subscribers, or are these
       | placeholders for now?
        
         | EddySchauHai wrote:
         | > Trusted by engineers at top companies with learning budgets
         | 
         | They probably have one guy at a company and add it, based on a
         | survey/form where people could in theory lie about where they
         | work or add previous positions if they're unemployed. Note the
         | _companies_ aren 't subscribers, an 'engineer' from that
         | company is a subscriber.
        
           | sarupbanskota wrote:
           | Indeed, you're right -- it's companies where our engineer
           | customers work. It's been a while since we looked at that
           | list tho, so it probably could use a refresh!
           | 
           | For some companies on that list, we do have more than one
           | engineer subscribing, and for in many cases we've spoken to
           | them to learn about their motivations and feedback. We also
           | have a Private Leaderboards feature for teams.
           | 
           | In the past few months, a nice small win for Paul and I is
           | what we like to call the "Slack Share Effect".
           | 
           | It's when one of our users shares CodeCrafters within their
           | company Slack, and then we notice multiple new users that
           | work at the same company. When we get in touch with them, I
           | always enjoy asking "how did the OP describe CodeCrafters on
           | Slack?" and 100% of the time, I discover that customers do a
           | better job describing CodeCrafters than we ourselves could.
           | It's also how we uncover use-cases :)
        
             | EddySchauHai wrote:
             | Fwiw I like the idea and will look at subscribing myself
             | later. These are projects I see as magic and would love to
             | know more about, especially Docker and SQLite.
        
               | sarupbanskota wrote:
               | That gives me an idea for a tagline! "We explain the
               | magic"
        
         | sarupbanskota wrote:
         | Thanks for the kind words!
         | 
         | The logos highlight companies where our customers (the
         | engineers) work. Since we're early stage, so far it's more
         | common for engineers to discover CodeCrafters, sign up by
         | themselves, and expense it to their company. That might explain
         | why you can't find information about subscription on the
         | intranet.
         | 
         | We also do have cases where we work with companies to land team
         | subscriptions, so if you'd be interested for us to engage with
         | your company, feel free to drop me a note --
         | sarup@codecrafters.io, and I'd love to help. It might be that
         | the person you couldn't locate has moved on from the company,
         | but I don't have a good explanation for why you couldn't find
         | them on LinkedIn :-D If you emailed me, I could ask them and
         | find out for you (for references, etc) -- for most listed on
         | the website, I've been in contact with them :)
        
           | bytelane wrote:
           | Thanks for clarifying! I got excited that maybe there was a
           | corporate subscription in place.
        
             | sarupbanskota wrote:
             | Of course! Please feel free to drop me an email, I love
             | working with engineers to get their companies team
             | accounts. It's even more fun with colleagues :)
        
           | turtlebits wrote:
           | It seems kind of disingenuous to show companies logos, when
           | it could just be a random employee- let alone using the
           | phrase "trusted by".
        
             | m00dy wrote:
             | oh come on guys. "Trust by" sections are pure marketing
             | bullshit. I wonder who really takes a step back and thinks
             | about whether they are real or not. Welcome to Internet.
        
             | molyss wrote:
             | Really nothing disingenuous here. "Trusted by top companies
             | with learning budget" is pretty damn clear and accurate.
             | All in the same font, so there's no "fine print" argument
             | to be had either.
        
       | gbersac wrote:
       | Since most developers started programming because they dreamed of
       | becoming a game developer, you should create a course to create a
       | game engine by yourself. It sure would gain a lot of success.
        
         | sarupbanskota wrote:
         | Great suggestion! I'd take that course :-D
        
       | nojvek wrote:
       | This is neat. Although I'm not a huge fan of subscription
       | payments where you lose access once you stop paying.
       | 
       | I'd happily pay a few hundred dollars and have access to it years
       | later.
       | 
       | Like the way we bought books and software CDs a while back. You
       | buy, you own it.
       | 
       | Not everything needs to be a subscription unless it is a truly
       | recurring service where every month there is value add.
        
         | sarupbanskota wrote:
         | Agreed. Who likes "talk to sales" :)
         | 
         | We have a pricing page -- https://codecrafters.io/pricing, and
         | do have it linked on our menu and footer. Would that help?
        
       | wnolens wrote:
       | The price for 3mo doesn't seem high to me at all IF that ought to
       | be enough to complete a single project with 1-2h/day. Coding
       | books cost upwards of $50-80.
       | 
       | So I would prefer a per project pricing. And a trial that doesn't
       | require credit card.
       | 
       | Awesome idea! I'd love to contribute somehow.
        
         | sarupbanskota wrote:
         | Def enough time to complete a project with 1h/day, and you can
         | also do it in "super deep dive mode" to take full advantage of
         | the experience. We've definitely seen engineers do that.
         | 
         | For example, we're now starting to introduce source code
         | walkthroughs. Here's one going over how the Redis event loop is
         | implemented -- https://app.codecrafters.io/walkthroughs/redis-
         | event-loop.
         | 
         | So as you build out your Redis project, you can study in
         | parallel how the official source does it, learn some cool
         | facts, and overall spend more time developing fluency with the
         | Redis docs.
         | 
         | One of the ways you could contribute is adding language
         | support. If one of our courses doesn't support one of the
         | languages you work with, you can add support for it here --
         | https://github.com/codecrafters-io/languages.
        
       | JamesBarney wrote:
       | The etc.. seems to imply you support more languages than Go
       | Python and Rust. Do you support C#?
        
         | sarupbanskota wrote:
         | Yep! We support 14 languages, C# included.
         | 
         | https://app.codecrafters.io/tracks -- full list here!
        
       | AlchemistCamp wrote:
       | It's generally just the largest and highest prestige tech
       | companies that pay for $80/month worth of training for their
       | employees. I suspect the price is a barrier not only for the
       | median dev, but even for the median American dev. It's likely a
       | bit of a barrier even for the 20th percentile dev living in the
       | US.
       | 
       | In other words, if the quality of this offering is excellent, it
       | will be a powerful example of the Matthew Effect. The best
       | compensated 5-10% of mid-level devs will pull further ahead.
       | 
       | I can definitely see going for the corporate training budgets as
       | an appealing business model, though.
        
         | kodah wrote:
         | Yeah, I'd love to use this service. Some of the challenges are
         | really cool sounding. That said, I don't even pay $80/m for my
         | IDE, and that's a critical tool I can't go without at this
         | point.
         | 
         | One data point I learned being a programmer in the American
         | South was that companies generally did not pay out for things
         | like conferences, education (aside from college) etc... If you
         | want to serve those folks (and I suspect there's a lot of
         | them!) then the price point might need to be different.
        
       | automatoney wrote:
       | How long does it take to develop new challenges with support
       | across all of the languages you have? And how scalable is that
       | process? This looks super cool, and a fun way to spend some of an
       | education stipend (that for me mostly goes unused) but I'm not
       | sure how many times I'd want to re-implement git in additional
       | languages.
       | 
       | At the moment it looks like there's git, redis, docker and sqlite
       | as challenges (that have varying support for different languages)
       | with a regex parser, http server, shell, bittorrent client, and
       | react up as future candidates, if I've read the site correctly.
        
         | sarupbanskota wrote:
         | You're read correctly about the challenges available. A new one
         | ships next week!
         | 
         | Today it takes us ~2 weeks to build the "core" parts of a
         | challenge (planning, stage instructions, tester etc). From then
         | on, the changes are incremental (adding support for more
         | languages, better hints/instructions, getting experts to
         | provide feedback on solutions etc).
         | 
         | Hard to say how much time the incremental changes take because
         | they're done over a span of months, but it's definitely work.
         | At times our community pitches in to add language support:
         | https://github.com/codecrafters-io/languages
         | 
         | Paul also did a series of tweets when we were building the
         | SQLite challenge if you'd like to see what the challenge-
         | building process is like:
         | https://twitter.com/RohitPaulK/status/1421517393780740100
        
       | nindalf wrote:
       | I signed up for the year subscription.
       | 
       | But that's not actually what I want. I want a one-time payment
       | because I know I'm terrible with these recurring subscriptions. I
       | know in a year I'm going to be like "damn, I didn't cancel
       | that??"
       | 
       | Could you please implement non-recurring purchases? Or at least,
       | enable it for users who ask.
       | 
       | Speaking of which, could you make my purchase non-recurring? My
       | username is the same as HN.
        
         | sarupbanskota wrote:
         | Thanks for signing up, excited to see what you build! Our
         | quarterly and annual plans are both one-time, so you should be
         | good! I also verified your details on Stripe and can confirm
         | this.
        
           | nindalf wrote:
           | I misinterpreted what Stripe was telling me. It said
           | something like "you're agreeing to allow Codecrafters to
           | charge you recurring fees". I realise now it was just the
           | charge after the 3 day trial.
        
             | sarupbanskota wrote:
             | All good! Glad it's sorted!
        
       | altruios wrote:
       | Price point I feel is too high for specifically what it is
       | offering.
       | 
       | A general point I would make.
       | 
       | In education: cost is a barrier of entry - a smaller ask might
       | yield far more results from people in disadvantaged situations
       | able to scrabble up ladder. A rising tide raises all ships.
       | 
       | You are doing work creating the material and course work - I'm
       | not saying release stuff for free. but $80/mo is something to bat
       | an eye at for a lot of people that would otherwise be interested
       | in this.
       | 
       | I would price it at $40-60, with maybe an intro month at $20. the
       | $60 price point is a video game: which fits in my mind as roughly
       | the value you seem to be offering per month. but I don't actually
       | know how much time each course takes - thus the range from
       | $40-60.
       | 
       | that's just my two cents.
        
         | sarupbanskota wrote:
         | Thanks for your suggestion!
         | 
         | I've touched on the topic a little more here:
         | https://news.ycombinator.com/item?id=32345899
        
         | dangom wrote:
         | Makes sense, but if there is a slack channel where people are
         | supposed to be responsive and answer technical questions, then
         | that's value beyond just material and course work. And given
         | there is a community, if you set the price too low you start to
         | get spammers and people that are not truly interested in the
         | content, bringing down the value of the community in the first
         | place. I think the price is fair.
        
           | Archit3ch wrote:
           | Counter-intuitively, a free community adds more value by
           | attracting people of all levels. Paid communities attract
           | beginners (who are incentivised to pay for education), but
           | not experts ("Why am I paying for a Slack channel?").
           | Spammers are easily handled by enforcing community rules.
        
             | Nuzzerino wrote:
             | Hard disagree. There is incentive to pay for education
             | (particularly the type offered by CodeCrafters) regardless
             | of experience level, but the more engaged, more motivated,
             | more mindful personality types will be more likely to make
             | the connection that it's well worth the investment.
             | 
             | A free community is going to have more lurkers that aren't
             | engaged, aren't committed, and may post one thing if they
             | even post at all, before slithering away. Drive-by-comments
             | would be more common. It would not add value, it would be
             | like most of the rest of the public Internet.
             | 
             | Additionally, you might have missed this from the OP:
             | 
             | > First, we cater to people with programming experience.
             | There are tons of introductory "learn to code" resources
             | out there, but surprisingly little once you get past the
             | basics. Good programmers want to get better and to develop
             | in areas where they're not strong yet, and that's what we
             | help with.
        
         | lamontcg wrote:
         | I think the prices are more or less in line with what they're
         | offering. Based on the descriptions I expected low-to-high
         | triple digits, which is in-line with Arden Labs golang
         | training.
         | 
         | The subscription model is a bit annoying, though, I'd prefer to
         | spend a bit more to get lifetime access to sets of tutorials so
         | that you can come back to it at any time in the future. The
         | future upsell would be new tutorials sold to existing users.
         | And it'd be nice to be able to buy it sliced either by language
         | or by target. Most likely someone is learning Python so then
         | they want to buy the Python set of courses, then they come back
         | later and they're learning Go so they buy the Go set of
         | courses, etc.
        
           | sarupbanskota wrote:
           | Thanks for your feedback here! While we don't offer lifetime
           | plans currently, our quarterly and annual plans are one-time.
        
             | lamontcg wrote:
             | It looks good, I probably would have pulled the trigger,
             | but I'm going to be AFK for three weeks coming up with no
             | electricity or running water... Did bookmark it to come
             | back to it though.
        
         | ethanrc wrote:
         | It seems like they are specifically targeting engineers at big
         | co's with learning budgets rather than people paying out of
         | pocket. Much cheaper than sending an engineer to a conference
        
           | sarupbanskota wrote:
           | True. From our research and speaking with customers, many
           | tech companies have learning / professional development
           | budgets in the range of $500-$5000. Often they're trust-
           | based, and self-directed, so engineers are free to spend them
           | on whatever they feel helps them most with their growth.
        
         | rrishi wrote:
         | I think the reason that the charge is that high is because they
         | are targeting 1. people who are already in the field i.e.
         | employed and have source of income and 2. people who are serios
         | about it.
         | 
         | Just my $0.02.
        
           | EgoIsMyFriend wrote:
           | I think the reason that the charge is that high is because
           | they are targeting big corp's training budgets
           | 
           | FTFY
        
             | rrishi wrote:
             | Hmmm ... i think that could definitely be a part in this
             | too.
        
           | adamnemecek wrote:
           | People who are in the field will not have time for this.
        
         | dnissley wrote:
         | I don't think this type of resource would be all that helpful
         | for people trying to scrabble up the ladder. They would almost
         | certainly be much better served by countless other resources.
        
           | qsort wrote:
           | If you are already a professional developer though, it's also
           | questionable what is the added value. I'm willing to trust
           | them that the quality is top notch, but it's basically a
           | glorified tutorial; I have to agree with GP that the price
           | point is way too high.
           | 
           | I think they're targeting professional developers with self-
           | training/learning budgets. I'd be totally down for this if my
           | company were willing to pay the time and subscription cost.
           | I'd certainly rather do this than some F-tier shite about
           | Agile or whatever.
        
             | sarupbanskota wrote:
             | Indeed, you're spot on!
             | 
             | Our current target is professional developers and teams
             | with learning budgets.
             | 
             | Here are some reasons why experienced engineers have found
             | value (the first expensed it, the second didn't):
             | 
             | 1. One customer manages the Redis team at an infra company,
             | and they used CodeCrafters as a starting point to get up-
             | to-speed on Redis internals -- to be able to do their job
             | better. We ended up getting feedback from them on areas we
             | could dive deeper on, to be useful to platform engineers in
             | general.
             | 
             | 2. A Distinguished Engineer at a Fortune 500 had built a
             | database product before, and wanted to pick up a new
             | language (Java, if I remember right). So they did our
             | course because they preferred the "learning by doing"
             | approach, and existing resources felt a bit too "hello
             | world / todo-app"-ish.
        
             | cercatrova wrote:
             | The value is many devs know how to do their work but many
             | might not know enough of the intricacies to build their own
             | Redis for example. I do full stack and while I can make a
             | website with a corresponding API, I don't know enough to
             | rewrite Redis which includes more low-level backend
             | knowledge than a typical fullstack engineer might have, so
             | this would be useful for me.
        
               | sarupbanskota wrote:
               | From a customer call I had last night --
               | 
               | They were 4 years into their job, and felt that their job
               | was mostly cobbling together a bunch of frameworks.
               | Nothing wrong with that, but they constantly had the itch
               | of not knowing how the pieces _really_ tie together.
               | 
               | Their next goal is to explore platform engineering roles,
               | which involves work that is one level lower in the stack.
        
       ___________________________________________________________________
       (page generated 2022-08-04 23:00 UTC)