Hacker News new | past | comments | ask | show | jobs | submit login
I was rejected by Codecademy three times, so I built my own (codeamigo.dev)
832 points by plondon514 on Oct 28, 2021 | hide | past | favorite | 250 comments



>My favorite part of the photographic process was watching prints come to life. I loved starting with a blank sheet of paper and applying various photographic methods to bring the image to life.

>I found that building websites was similarly satisfying. For example, click the "Reveal Image" button to watch an image fade in to the blank canvas!

I think a lot about why I went into computer science and this is the same conclusion I came to. There's something really cool about starting with a blank page and coding in elements that appear one by one and adapting the code to be what you want. Maybe there's other ways to do it but programming seemed to be the most powerful.

Just to be clear, it was video games, not photography that kinda nudged me into programming, but same idea with a blank canvas and having control of it.


This gets me too. In high school I called it "the power of a blank text file." Something about knowing that this was how every great software product began life was very empowering and intoxicating to me.

When you open vim and look at the blinking cursor, you stand on the precipice of greatness in the shoes of every programmer who has ever lived, all of you united across space and time by that peculiar feeling you get when you peer into the infinite possibilities of your empty text file.


I suppose this is what "high self-effiacy"[0] means.

I've only recently learned this word/concept, but your quote fits. You see a blank text file, you see an interesting challenge, something you're sure will lead you somewhere nice. I'm gonna admit - I'm the opposite. A blank text file scares me. I don't know what to do. I spend a lot of time agonizing over what I want to write, trying to desperately narrow the space of possibilities until I have the design[1] sharp in my head, and only then I'm able to actually write anything in that empty file.

I guess I'm the "low self-effiacy" kind of person.

--

[0] - https://en.wikipedia.org/wiki/Self-efficacy

[1] - Or at least the first iteration of it.


This may come across as facetious and/or condescending, despite my intentions to be to give actual advice here... Learning TDD is what helped me get past this. It's surely not the only way to do it but it really made it click when I did.

In learning the craftsman style of TDD (i.e., the fluffy altruistic style) helped me to grok breaking down tasks, not because I wasn't able to have a detailed view of the big picture in my head, but because I simply didn't need to. It's also ok to change what you've already done. The guidelines for code modularity and separation are there to make this process of change and evolution easier, not just to make the system arch and code pretty, but because it should be expected to change and evolve your code as you develop the system - in both the short and long term.


It doesn't come across as facetious/condescending. Thank you for your advice.

I'm actually using a TDD-ish approach in my work, but I never felt comfortable letting it actually drive design decisions. I don't believe it works that way - I can explore the design space up front and pick good solutions faster than it would take me to organically arrive at them through applying orthodox TDD.

I'd like to do more TDD-ish approach, because the design process feels way too slow to me. The problem is, refactoring involved in test-driven design discovery is even slower. I constantly feel bottlenecked by the speed of tooling we use - and not on the surface level (I have my Emacs configured well, thank you), but at a fundamental one. Programming languages are not expressive enough. The whole approach of writing code as plaintext document is not ergonomic enough.

When I'm sitting in front of an empty text file, staring at the sea of infinite possibilities, all I feel is dread - the fear of how much effort I'm going to spend fighting tools to conceptualize my design, how much time I'm going to waste dealing with infrastructure, build systems, dependency management, constructing intermediary layers, writing and rewriting tests...


I start at step 1 in the task I'm trying to accomplish. First write the main function then put in the first thing your program needs to do.

I guess I usually have a plan before I even sit at the editor of what I'm going to accomplish with the project. You don't have to know all the classes and data structures you'll need at the start, you will discover it along the way when you find you have data you need to group together or code you need to call in multiple places.

I think of writing code like writing a list of instructions to tell the computer how to do something. The natural place to start is step 1. Then of course you can start roughing out the major steps in order and filling in the details once you have something you can run and start testing parts with (either manually or automatically).


This resonates well with me. I too have my Emacs well configured and I dread the blank canvas. I think it also might have to do with me being an avid procrastinator.


I am like you too. I’m not fond of blank projects where I can let creativity thrive. I would not know what to do. But give me a piece of paper and an idea and I can roughly detail all requirements for the project, create a backlog and tasks for a week. I’m more interested into the coding challenge offered by the work. I get more satisfaction in finding the best solution than in the result.


Wow, that is such a well written quote.

I hope to one day remember and shamelessly cite it around.


Gold for the quote!


My introduction to computers was similar. I began by learning turtle graphics in the Logo programming language during my childhood days. It allowed me to be creative and draw pictures on a blank canvas using code. Back then, for me, programming was not about solving useful problems. Instead it was about expressing whatever random ideas come to mind.

Quoting a relevant excerpt from my own blog post[1] that I wrote sometime back:

> FD 100

> That is the "hello, world" of turtle graphics in Logo. That simple line of code changed my world. I could make stuff happen in an otherwise mostly blank monochrome CRT display. Until then I had seen CRTs in televisions where I had very little control on what I see on the screen. But now, I had control! The turtle became my toy and I could make it draw anything on a 320 × 250 canvas.

[1] https://susam.in/blog/fd-100.html


Me too. I learned LOGO in the 90's during 3rd grade. Now thinking back, it was probably an important defining moment in my life because it let me experience creativity through coding and visual feedback (and also the constant discovery of new ways of using the various commands).


Similar sort of experience, although we had no turtle, so it was BASIC on the MICRO for us.

  10 MODE 7
  20 PRINT CHR$141”A text adventure”
  30 PRINT CHR$141”A text adventure”
May as well have been the opening bars of Beethoven’s 5th, for the infinite and incredible possibilities which followed. Anything. I could make anything. It was the most incredible sensation and realisation - and still is.


For me, it was QBasic under MS-DOS.

    SCREEN 13
is the start of endless possibilities!

I think this kind of experience is missing for kids now – but I'd guess it's more about how ubiquitous computers are, and how there's a lot more between the kid and the computer. When a CLI is your interface, making even rudimentary graphics feels like achieving magic. When your interface is a cell phone or GUI, there's a much larger leap from zero to "feels like magic" – OK, so I made a circle bounce around the screen... there's already an app that does that.


Totally. I mean, as ridiculous as it may seem, the thing that got me into Linux was seeing a printout of a screenshot of Enlightenment 15 and just going “what is that” - and for me, the idea that a GUI could be visually exciting was revelatory - I ended up wrapping my head around SuSE 4.2 on hardware it hated, getting E16 running (hey, it took me a while to figure out X, never mind anything else), and ended up learning C, C++ and Ruby because I wanted to make more of this unbelievably cool (in a very 90’s way) stuff.

Now… Great UIs are everywhere. You can just use them. You don’t need to poke under the hood, or learn the mechanics of CRTs, or compile a kernel and a zillion libraries to get them working - you just flip open your phone, or hit up the uri.

I think there’s something quite specific about having learned the trade through that cusp, that changing of worlds - if you started with punch cards and ended with dumb terminals, your world changed only somewhat, and always had a utilitarian edge to it - we went through that Bildungsroman of growth and explosive expansion as a natural function of our environment.

I feel somewhat blessed to have been born in possibly the most interesting time since Gutenberg wrote “hallo, welt”.


Heh, Enlightenment (somewhere before DR13) was also what got me interested in Linux, as a kid. But, in retrospect, I'd classify it as a "pretty UI" rather than a "great UI."


I feel like for a lot of us, at its most basic level, software development is truly creative. It's not the activity that people traditionally associate with the term "creative outlet" but for me at least it's akin to combining human emotional experience and music theory to compose a song or a flavor inspiration and the 12 tastes in food to create a dish. Even further as I've moved into a Machine Learning Engineer role the creative aspect needn't even be sensual, like visual or auditory, it could be totally abstract: I find the concept of some of the tensorflow graphs I have created to be beautiful even though they are way too complex to visualize (suck it tensorboard).


Completely agree. I wonder what it is about programming something from nothing that still makes people think it isn't a creative pursuit. The Venn diagram of writers, painters, guitarists and programmers needs to be more heavily advertised to get past this stigma of engineer meaning some boring old fart typing mindless code at a keyboard.


> suck it tensorboard

The poor little TensorBoard is crying right now because you didn't love it.


Old timer who had an Apple II as a kid, and the experience I try to sneak into every class I teach is:

  10 PRINT "John is Awesome";
  20 GOTO 10
This little gem is the beginning of it all. Little me is understanding, okay, so if I'm willing to put in the time and thought, the machine will obey and I I have the literal power of infinity at my fingertips.


I once wrote my daughter a similar BASIC program…she immediately changed it to her sisters name and wrote “S is stupid” and said “see, the computer said so so it must be true.”

I tried to reach her programming but she schooled me in AI-hype.


Love it, in first grade I use to remove the 5 1/4 inch mid game to get to the command prompt and do this. Thought it was the coolest thing ever.


And then reading the manual to discover the other things it could do


10 PRINT "You are correct, sir!"

20 GOTO 10

* Edited for formatting


That's kinda what did AND didn't work for me when it came to programming.

In college my first class was a class about C, the instructor read from the book (that appeared to be written about C for people who already knew C...) and then you worked on the assignment.

I didn't have the patience at that age to work that way and dropped the class / decided programming wasn't for me.

I did some other tech things and decades later ended up working with a bunch of engineers at a company and realized that we understood each other / how we worked really well. Company was bought out and I had time to think about what to do next.

By this time the world of web development and web apps had taken off and there was so much information available / folks sharing the land of programming seemed entirely different to me. Attended a boot camp and everything just clicked, the immediacy of producing something in a web app (even if it broke) really drove home what I was doing and so on. I've been happily coding since then.


Similar thing happened to me. I had to take a C++ course (with C++ 2008 on Windows) and hated the way it was taught. I conflated that with hating programming. After I finished my engineering degree, I got frustrated with repetitive tedious manual processes, so I started automating them. As my skill grew, I realized I liked programming more than I liked being a mechanical engineer. Now I write code full time, but I'd be way farther ahead if I'd just got the CS degree to start with.


But since then have you gone back and learned all of that stuff from those classes? Is the point of school to make you interested in the first place or just assume you already found the topic interesting and see the value and you want to learn more


Yes, sort of. I haven't taken a deep dive into anything like how to implement an OS, and I know I'm woefully undereducated about networking and the internet, but I have a tough time learning stuff without a concrete problem to solve that will make my life better. For example, I've written plenty of stuff that uses Python's requests library, but I don't know what happens under the hood between me making the library call and the network packets leaving the PC. I'd like to learn, but I don't have any problems facing me that would require that skillset or anything tangentially related.

As far as programming itself and designing software, I think I have learned as much as I would have retained in an undergraduate degree in CS. I have a minor in math and I took some basic circuits courses, and Ben Eater's YouTube channel has been hugely illuminating in areas of CS.

Really, if I could find places that are something like "solve this useful problem, here are the requirements, you'll need to know these 10 keywords to search stuff on the internet, here's how it'll be useful later" and then have someone or something evaluate my work, I'd love to see it.


Yep, same same, but different. For me it was music and sound, starting with a blank canvas and mixing in digital signals and controls to build something out. Could have been with a DAW, but programming was just a more flexible and free-form blank-canvas for self expression.

...although I also got a kick out of "remixing" Windows 95. And "remixing" video games (Civ and Colonization were particularly great because they were SO EASY to edit both assets and configuration). So many custom mouse cursors, shutdown screens, start-up sounds, etc etc.


Ha! Both of those are Microprose games! I remember mixing XCOM and Transport Tycoon music. It was really amusing when you failed an XCOM mission and the upbeat song Road Hog played, as if it's mocking your ineptitude (of course, the same music is played when you win a mission too. Oh well).


For me, programming was like being a little god in my own little world. For an introvert especially, it was exhilarating. You write a command, and it obeys. When you see something on screen is even more satisfying.

In fact, the all-night coding binges happen because in an intense period of learning, you are producing a ton of adrenaline, and that annihilates sleep. (Sorry, working, don't care to look for the study right now). But it checks out.


And when I was a kid, it was the only world that I COULD control.

But then I went professional and that felt a little like how the Old Testament God must have felt: overwhelmed and irritable.


Reminds me of my first programming experience as a 10 year old kid. My dad showed me the QBASIC IDE. He typed one line of code:

    PRINT "Ach leck mich doch am Buerzel"
And hit Run → Start...

I broke out in laughter, realizing I can make real grey-on-black DOS programs just like that. It blew my mind and started my programming career.


I know that feeling. It's a godlike feeling. We start with literally nothing and we create whole a universe inside the computer. A personal virtual universe that reflects our minds and our understanding. We are the gods of these realms.


This was my go-to answer for why I started programming, too. Only recently I realized that it didn't hold true for me, the real drive I think was wanting to explore things. I loved computers, and games, and naturally was very curious about wanting to understand why and how they worked.

Understanding driving motivations is so incredibly important, as it now gives me quite a lot more perspective in which direction I want to take my career and hobbies.


I found it to be like my favorite toy as a kid: Lego, with the computer i could do something very similar and build my own stuff, i never wanted to do anything else..


I've had to focus on accessibility in our product lately, and learning to use a screenreader created a whole new version of this concept.


as opposed to inheriting legacy goldberg machines or walking on quicksand (by quicksand I mean constantly changing librarires fatigue)


Good on you man! You:

1. Dodged a bullet (booo on any company that would reject someone with this level of passion).

2. Created your own product (which you seem even more passionate about)

3. Did all the heavy lifting to make it interesting out of the gate (provided content).

Wishing you all the success!


> 1. Dodged a bullet (booo on any company that would reject someone with this level of passion).

Passion is a double-edged sword: When a person's passions align closely with the company's needs, it's wonderful.

But if a person's passions conflict with what the founders want, the passion can amplify the conflict.

That's why it's important to understand exactly what the candidate is passionate about. If they're passionate about helping the company wherever necessary, that's one thing. If they're passionate about something tangential and they expect the shift the company in that direction by joining, that's something else.

Codeamigo appears distinctly different than Codeacademy in some key areas, as the author explains, so I wouldn't assume that his passions aligned exactly with what Codeacademy was hiring fire. I think it's best to give the benefit of the doubt to Codeacademy in this case.

Remember: Being rejected from a job doesn't mean someone is unqualified or a bad developer. There's more to matching candidates to a team and not every candidate is a good match for every team.


> If they're passionate about helping the company wherever necessary, that's one thing.

Why would anyone be passionate about any specific corporation? Sounds like a great way to be exploited. People are passionate about enjoyable activities such as programming, not companies. They help companies with their problems because they get paid for it.


> Why would anyone be passionate about any specific corporation?

Corporations are made of people, many of whom have a moral compass, and operate by that moral compass. If you believe in the mission of a company, the company is filled with people who also believe in that mission, and you're making real progress on that mission...then why wouldn't you be passionate?

Sure, you could be "exploited", but many people don't really care whether or not they're being exploited, if they're being treated well and doing meaningful work with people they like -- even more so if they're working towards a goal that can only be accomplished by a larger organization.


Why would anyone be passionate about any specific corporation?

Speculating that it's perceived risk mitigation. If you're perceived as loyal, helpful, and even somewhat capable, they'll keep you around! This is in fact the perfect role for that person who gets a lot of juice out of supporting someone else achieve their goals. It is also probably a personality thing.

Of course, you have to answer a generalization of your own question: why be passionate about anything? It doesn't seem to be a necessary, or indeed very useful, to improve darwinian fitness.


> Why would anyone be passionate about any specific corporation?

This is quite evident in the entertainment (video games, film, music, etc.) industry. It has been established that many creative resources go to companies that produce most of their favorite work.

Sadly, it is quite common for those companies to have rather diverse and relaxed ethical guidelines around crunch and overtime.


I've seen this first hand. Even heard a manager asking a whole company "don't you want this game to be good?!" when challenged regarding increased overtime.

Luckily, my own experience is moving away from a company with crunch and a product I didn't particularly care for to a company strongly against crunch making a whole array of games I really love.


> Sadly, it is quite common for those companies to have rather diverse and relaxed ethical guidelines around crunch and overtime.

Rather: Hiring based on passion is a way to get away with demanding a lot of overtime or crunch time. :-(


Why is it best to give Codeacademy the benefit of the doubt? They likely hire by committee, like any tech company. In that scenario it's entirely dependent on who the committee is. It's not like Codeacademy, or any company for that matter, has some idempotent interviewing process. If you changed the interview panels, or some of the questions, the candidate may likely have received an offer.


Have you hired anyone? Asking because your comment make it sounds like there's science to it. I don't like the committee hiring as well but team or manager level hiring can segment the company culture. Also individuals can be biased and hire based on vibes or who is like them etc. - committee brings a check to that, that's why it's common.

The truth is - you'll miss some great candidates because they simply interview poorly and of the flip side sometimes get a professional interviewee that cannot deliver once hired.

You can also get a brilliant 10x candidate but a complete asshole (e.g CEO wanna be) that will destroy your team once hired.


Hiring is hard. We, as an industry, simply cannot interview.

We don't know how to accurately gauge a candidates experience, personality or knowledge. We can only make them perform monkey-see-monkey-do on a whiteboard or through stupid, asinine puzzles and leetcode style exercises.

To make matters worse, we often place our most senior software developers on interview circuits. For better or for worse, engineers trend towards more anti-social traits. It makes the whole process of understanding one's personality, how they think, and whether or not they'll be a fit for the company a complete crap-chute. This is literally the only industry I have been apart of that sucks this bad at a process that is so fundamental to professional life.

I would rather interview at McDonalds or for a call center (having had both of those jobs).


it’s “crapshoot” as in the game of craps, meaning “it’s a gamble” but crap-chute is pretty good too. just not for this sentence


> > the whole process of understanding one's personality, how they think, and whether or not they'll be a fit for the company

It's a chute you shovel crap into (or out of), with no justifiable expectation of useful results. The interview process as a whole is a crapshoot, but the process of understanding the candidate is a crap chute.


It's a crapshoot whether or not you end up in a crap chute of a company.


I have -- quite a few times in quite a few different jobs. There actually is a lot more science to it than we usually take credit for. There have been studies that our typical interview process gives us 17% predictability of how they will perform, but if we do a contract-to-hire (of just one week) that improves to 80%.

We have proven time and time again that certain times of interview questions are not helpful.

If you look at the best investors, their job is similar, I would say that most notably as YC being crazy successful and found similarly in my own hiring is that passion for a given space is one of the best predictors of success.


> There have been studies that our typical interview process gives us 17% predictability of how they will perform, but if we do a contract-to-hire (of just one week) that improves to 80%.

The pool of candidates interested in full-time jobs is not the same as the pool of candidates interested in doing contract-to-hire positions.

Contract-to-hire selects for people with the ability to risk working for a company for a period of time without a high risk of near-term unemployment if it doesn't work out. The people willing to take those jobs are usually more qualified to begin with because they have more career options open to them if the contract-to-hire doesn't turn into a contract job.

So you're basically pre-selecting your candidates.


There are two different types of "contract-to-hire". This type, I'm talking about working for 1 week, most people think of "contract-to-hire" as a 6-month gig that _might_ turn into a position. This is more of a "trial week", but is still technically contract to hire. They are not two different types of people, but it is true that it is much harder for someone who has an existing position to take off 5 days -- but we did it in our company and made accommodations to make sure we fit. It also weeded out people who wouldn't fit.


So, you're agreeing that it works, then.


I think they were trying to convey the idea that not all very qualified candidates would even consider a contract-to-hire option. I know I wouldn't. That’s an unnecessary risk for me to take.


> improves to 80%.

Sounds interesting. If you happen to have links to any articles about that, it'd be interesting to read


I wish I kept the references, I didn't think they would be hard to refind but they have been. This is a reference I just found that's more recent (I found the others around 2016): https://www.qualified.io/blog/posts/truly-predictive-softwar...


Thanks! I've seen that article, it was posted at HN 1.5 years ago: https://news.ycombinator.com/item?id=22704116

Turns out I still had it open, half read, in one of my 100+ browser tabs :-)

Nice to hear that you recommend it. (Hmm I wonder if maybe some of the other things you've read were also based on Schmidt & Hunter, 1998?)

I have in mind to do as they recommend (incl work sample tests and structured interviews and work knowledge tests), when/if later on I'll look for people to help me with the software I'm creating.

I wonder b.t.w. if you know about any automatically generated GMA tests?

(Edit: I found some, I can post a link if you want.)

It'd be nice if there were ways to auto generate GMA tests. Then maybe it could be just fine if everyone was allowed to practice as how as they wanted -- if there was an unlimited supply of new questions, because they were auto generated.

Maybe something with generating random 3D shapes and applying rotations.

But then it seems to me it's necessary to measure how well begin good at such things, correlates with being able to learn and get good at software, and scrap any poorly correlated tests.


you get 80% chance of the idiots willing to work supposed contract to hire positions. Not sure that's anywhere near the same thing.


Some people prefer to work as contractors since that tends to pay a lot more, and they might have many many offers to choose among. And, paired with (not in the US) a well functioning social welfare system in case of really bad luck


This is why it's important, in the corporate world, to cultivate a VB programmer's or PHP programmer's mindset, no matter what language you're working in: your passion should be with the business and solving exactly the business problem at hand, and treating your programming tools strictly as tools in service of the business.


Is there any room left for someone to just be good at something and a company pays them to do that thing.


I think one should be passionate about the mission. If someone is just passionate about the company and is willing to follow any orders from management, then the original vision can easily be corrupted in a way no one notices. Having universally agreeable employees also puts the target demographic at risk of being undermined by the employee based who never cared about the mission


Small note: It's "Codecademy", not "Codeacademy". Like a mash-up of words rather than just two whole ones squished together.


This is where you take a gamble and hire them, then ask them to leave if it really doesn't work. The chance you're giving up on a 10-100x leverage hire is just too high in such a case.


> Codeamigo appears distinctly different than Codeacademy in some key areas

I imagine that building and releasing _the exact clone_ of the product from a company that rejected you would be petty and legally dubious.


> 1. Dodged a bullet (booo on any company that would reject someone with this level of passion).

Considering what he writes on https://docs.codeamigo.dev/blog/why-codeamigo, I would assume that he has a somewhat different vision on the product than Codeacademy.


Agreed - passion is great when aligned with the business direction, but can be downright toxic when in conflict.


I can only concur, having someone who's extremely passionate about a project but whose vision diverges drastically from the project's leads is hell all around.

Given GP seems to indeed have quite divergent opinions about the product's focus:

> What bothered me about the platform was that I didn't know or connect with my teachers. I wanted to connect with members of my community and learn from them, instead of just digesting information from a black box.

then it's probably a better thing that they went and created their own version focused on what they think is important.


Its where "mac fanbois" or "BOFHs" come from...

I worked with a guy who was so mac focused he was blind to other tools/perspectives and it was often a friction point between team-members...


So many people like this just need a little dose of pragmatism. It helped my worldview immensely.


The problem is that this kind of idealism is often what kindles the passion for various programmings topics in quite some people.


> 1. Dodged a bullet

I'd argue that Codecademy dodged a bullet. Calling them out by name is in really bad taste IMO.

Let's be honest: if he had launched a coding tutorial website thing and it didn't have the "comeback story" marketing narrative then no one would care.


If it's so easy to build a coding tutorial website, then what advantage does Codecademy have beyond name recognition? So you're not competing with their tech, you're competing with their marketing. You say bad taste, I say good marketing.


I don't think it's objectively good marketing. But then I guess it depends on what your philosophical stance is on "succès de scandale" (a logical extreme; there isn't much controversy here).

My stance on the ethics of marketing is that "anything goes" until you start tarnishing the names of others to get ahead. This is why trash talking past employers/coworkers has always been an insta-no-hire in my book for example.

Now I don't know to overstate what this guy did. Obviously he's not outright trash talking here. But I think once you form a company and start marketing then you should be held to some ethical standard. If you mention other people or companies by name then consider how what you're saying could be perceived.


Content? Seems like a good advantage to have for a tutorial website.


What kind of harm does this actually do to Codecademy? I would argue none. There is no downside to calling them out.


Just look at the comment above mine: "booo on any company that". Some people will perceive his rejection as bad hiring practices on Codecademy's part.

Every comeback story needs a bad guy that rejects or pushes down the hero before they rise. That's what makes this post interesting.

It's certainly not the content; creating a web app of stitched together NPM packages isn't exactly a major challenge these days. Especially if you're copying something else feature-by-feature.


> Some people will perceive his rejection as bad hiring practices on Codecademy's part.

FTR, I have no opinion for or against Codecademy.

Whether it's a bad or good hiring practice depends on what you think of this guy. The information on whether any company hires or rejects a certain applicant is not a trade secret. If you read this and think, "this guy's a douchebag," then yes, the company looks sane and reasonable, the opposite of bad. If you read it and think, "this guy is perfectly reasonable," then yes, the company looks bad.

This poster isn't saying anything about whether Codecademy is good or bad, they're just stating the facts, which were created as a result of the company's hiring decisions. If the facts make them look bad, that's on the company for making the choices they did. If they make them look good, the same applies. Again, I have no horse in this race.


> they're just stating the facts

They're stating their projected version of the facts. It's the narrative as they see it. Important details could be missing.

Suppose you and I made a few attempts to start a company together and it didn't work out. Then I went off on my own as a solo founder and got seed funding. Then imagine I made a blog post titled "I tried to start a company with ironmagma 3 times and failed, so I became a solo founder instead and succeeded".

> Again, I have no horse in this race.

There's no race? Just commentary. It's an interesting discussion IMO.


Okay, but in that sense of projection, all stated facts are projected versions of the facts. In your opinion, should we just not discuss our experiences with companies at all, since the descriptions will be mere projections of what actually happened?


> In your opinion, should we just not discuss our experiences with companies at all, since the descriptions will be mere projections of what actually happened?

I don't think I can answer that question without more context. It largely depends on the situation.

In this case he could have simply omitted the name of the company:

> I was rejected by <insert succinct description of what these coding tutorial sites are> three times, so I built my own

He's sharing the same story without throwing jabs at a particular company. I could have done the same in my above example with the same result:

> I tried to start a company with someone 3 times and failed, so I became a solo founder instead and succeeded

--

IMO it comes down to professional etiquette. Don't broach muddy topics in public because the audience doesn't have enough context to see the complete picture. It's sort of like airing your dirty laundry in a public restaurant.


> He's sharing the same story without throwing jabs at a particular company.

I would argue it’s not the same story. He wanted to join this other company but couldn’t, which means that his product or at least personage is going to be different in a way that is irreconcilable with Codecademy. They are thus his direct competitor, which is extra information conveyed by this title.

> the audience doesn’t have enough context to see the complete picture.

No one has enough context to see the complete picture, though. The logical progression of this is, “don’t talk about things in general,” which I rather fundamentally disagree with. If someone is unhappy, that can be a good motivator for a story. The same is true for happiness IMO, by the way.


I sometimes think the most brilliant/creative people are often overlooked in hiring, and admittance to programs.

Whomever you are--you will do well in life.

I've know some brilliant people who seem to suffer from anxiety, and depression. Don't push yourself to hard.

I love the simplicity of your site.

I will now signup.


Way to be! It's silly how often employers overlook the "I just really want to be part of/build this" factor. People with that make for excellent teammates.


> It's silly how often employers overlook the "I just really want to be part of/build this" factor. People with that make for excellent teammates.

Every startup I've been a part of has picked up a few extremely passionate but not necessarily fully qualified people along the way. It's hard to turn down an enthusiastic candidate who really, really likes your company, so they're often given a chance.

Some of them turned out to be excellent teammates who did everything necessary to grow into the role.

But sadly, many of them just wanted to be startup people without doing the startup grunt work. Worst case, someone with a lot of passion that goes in a different direction than the founders can become a drag on the company or create a lot of conflict. (NOTE: I'm speaking generally, not implying this is the case with the linked author)

Passionate people are generally good when their skills and wants align with the company, but if they're not well-aligned then the passion just amplifies every conflict.


Well said, and this is especially a great point:

> Passionate people are generally good when their skills and wants align with the company, but if they're not well-aligned then the passion just amplifies every conflict.

I'm starting to see where my original comment was definitely oversimplifying the depths of this topic.


I agree completely. I have a pattern of joining projects because I really love the idea and the concept, but upon landing find out they are doing it _all wrong_.

and generally in these situations I find my criticism to be too deep and cross cutting to really be accepted or be really actionable.

so yeah, I think dialing up the passion just increases the magnitude of the risk or reward.


It's complicated. At my last startup (web application) I was in charge of hiring for the technical team. I've got an application from a guy who really really wanted to work there. But the truth is that he didn't have basic coding skills (in that, he couldn't do FizzBuzz level of coding). I really tried to get him in but in reality we would not have been able to put him in any position.

I was sad because he sent the best "cover letters" I have read ever. And I almost never care about cover letters.


Oh wow, that it sad.

Based on the responses, I think I should clarify:

People that show that they want to be there often make for excellent teammates, because they actually care (the old missionaries vs mercenaries idea), and will often be willing to put in the effort to fill whatever gaps they lack, while creating a positive work environment.

Plus, they might have a really good feel for the product and market, because they're genuinely interested in it. You want people like that on your team.

Now, of course - businesses are not a charity that only employ people because they want to be there. There is a minimum bar of skills required and plenty of other traits that matter. And on the employer side, there's a ton of factors there too (budget, existing skills of the team, etc etc).

So yes, I was generalizing. But in general: I'd take someone who wants to be there with high aptitude who has things to learn over someone who has skills but doesn't actually give a crap about the product or company any day of the week, for the types of companies I'm trying to build. That doesn't mean my or your companies needs/goals are the same.


Someone that passionate can probably be mentored into the skill set necessary to do the job.

I spent a year at a TA at a University and in that time I had two students who were really stellar. They were outstanding programmers. They paid attention detail and wrote elegant but easy to read code that worked. I took the time to offer both of them my assistance if they needed any help after graduation.

I play video games with one of them. The other one got out of CS and changed her major to something art related.


What does the conclusion of your comment have to do with supporting your argument?


If you're still measuring candidates with leetcode and fizzbuzz, I'm afraid you're part of the problem in with broken hiring in tech. I just hope the candidates you pass up trickle down my way.


I mean, if the candidate can't do fizzbuzz I doubt there is much programming of any kind they can do.

It's a ridiculously basic problem. It doesn't filter good candidates, it filters terrible candidates.


He did qualify that: he said "FizzBuzz level of coding", which might not have been the actual FizzBuzz test. But his point was that the guy couldn't write code at the level they were hiring for.


> "I just really want to be part of/build this" factor. People with that make for excellent teammates.

Not always. You want to be a part of something/build something, and then you want to build it YOUR way. Or you see an obvious hole and then an ugly battle between your ego and that of the chief architect ensues.

Also, there may be cases when you want to be a part of something, meet your heroes, and then it all goes pear-shaped. Because you shouldn't meet your heroes.

And sometimes it's better to have mercenaries who don't necessary believe in the same thing as you but care a lot about their own reputation and take pride in having done a good job.


> People with that make for excellent teammates.

I agree, sort of. All things being equal, you want someone who has that sparkle, that enthusiasm.

But things often aren't equal and people are really prone to hiring who they like, over who will get the job done and it's a real problem.

It's tough, really. There are many highly disagreeable software developers I've met who are good at their job, but you just want to get away from, and then there are starry eyed social people who are fun but terrible at their job.

A software dev that's good and still has some sparkle in them after being in the industry for a decade is like a unicorn in my experience. I don't know what it means but it does make me sad.


Sorry but anyone who comes with that attitude is extremely naive and cannot be trusted. And is NOT a good teammate. How can you want to be part of something when you don’t even know what it’s like on the inside?

What happens when you are given a task you do NOT want to be part of? What happens when a task has moral gray area? What happens if you suddenly decide you really want to be part of something else?

Fuck people like that, if you’re hiring someone you want someone with valuable skills who is ready to be of service, ready to do whatever you ask, and will remain loyal so long as they are paid. You don’t want people to be nice, you want them to be predictable. That’s true value.


Ah yes, obedient workers. But also creative and open minded. And autonomous. Well as long as they are autonomously doing the thing I want. Scratch the creative part, I‘m already creative enough! Also loyalty is super important - for them of course. I reserve the privilege to lay them off or fire them - business is business after all.


I believe he put it in a wrong way but he has a valid point. How can you be so passionate about working in a place you never worked at? there's a big risk you're just in love with the idea and you'll be deluded once you experience it first hand. It's a risky hire if the day to day job doesn't match his big expectations.


I agree with the point. Fully. I think this would be a good thing to try and clear up during hiring if the candidate is inexperienced or seems to have trouble with commitment.

However when reading the above the tone seemed ridiculously over the top, which is why I tuned in.


> However when reading the above the tone seemed ridiculously over the top, which is why I tuned in.

Mission Accomplished.


Isn't that what probation periods are for?


Way to generalize everybody who is ever enthusiastic to work somewhere - they're all untrustworthy and horrible teammates.


By the sounds of it they just want robots.

"Moraly gray", "do whatever asked".

Sounds a lot like how we've needed up with the current nightmare in big tech.


I suspect that it often does not hold and people are not completely honest about it.


I think it's less that it doesn't hold and more that many people saying this are being disingenuous.


Ha! I have a kind of similar [0] story with Substack.

I couldn't get to work there (I really wanted to) so created a "read fiction on your email" side-project[1], which evolved to a more ambitious "substack for fiction" project: https://www.confabulistas.com.br (for Brazilian market, so in portuguese).

[0] "Kind of" because I couldn't even apply. Very early on I exchanged a few emails with the founder and they wouldn't hire remote. Then months later a recruiter reached out, but they wouldn't hire remote still. Then they started to hire remote, so I sent an email to the recruiter to apply, but they only hire remote in the US. So I wasn't exactly "rejected", but prevented from applying.

[1] https://www.serialliterature.com It got to the front page of HN when I launched.


If you're a freelance or equivalent, you should apply anyways to those Remote (US) positions, YMMV, but since you can be treated as an external provider, they don't care about where you reside as long as it makes sense with timezones and such for meetings etc...

That's my experience at least, have worked for some US companies remotely from europe that way anyways


Yeah, I got this advice before and it makes sense. Even if I was looking for more of a "full-time-like" position that would happen to hire through a 1099 contract (not exactly sure if it's that form exactly for foreign contractors).

I ended up finding a job exactly like that on a small startup, so I am happy. But next time I am in the market, I will for sure apply to those "Remote(US)" jobs. Even though, in Substack case, the internal recruiter that told me that I couldn't apply.


That works if they are willing to treat you as a contractor (external provider as you say), but if they're hiring remote employees it won't fly. The company generally has to have a presence in the jurisdiction where the employee lives, and that adds overhead.


That is my experience also. As a freelance dev, I am hired as a foreign contractor.

Being hired as a foreign contractor makes tax and regulations issues easier. If you are growing rapidly, You can open an LLC in America then operate as a US contractor. You can work with larger and established companies that way. It would be easier if you have a business partner in America.

Hiring contractor has its pros and cons for both parties but usuaully it is quite different than hiring an employee.


I was always curious about this: Is there any reason why you need LLC in America to work with larger and established companies? Is there any law or limitation why they wouldn't like to work with e.g. European Self-Employed or LTD companies? Many of recruiters I talked to and they offered perm roles they won't consider changing to contractors.

Always thought that generally contractors are a better deal for companies (less tax burden, no paid holidays, easier to hire/fire, etc). Unless maybe when people here word 'contractor' they assume they will have to pay 2x more and that's why they prefer perm-employees? Or is there are any law in US that make it harder for companies to work this way?


I think the main problem is depending in your jurisdiction, if all your employees are contractors, and they are long time, which is actually masquerading-as-contractors, you can get in trouble, in Germany for example I think it's two years max.

Since this is a difficult subject, YMMV


Take my response with a grain of salt. I have been working as an offshore freelance dev but I am not registered as a local LLC or a US LLC. I might pick either US or Canadian LLC if I get paid really well for a permanent contract. But until then I hope to work with individuals, startups and small businesses.

One word answer (Pick One): Legitimacy/Accountability/Trust.

> Is there any reason why you need LLC in America to work with larger and established companies?

Companies need people they can hold accountable for the work they do. If you are an American LLC it means that you are a legitimate business that they can interact through proper legal channels and you are legally liable and held accountable under the contract. They are not going to take you to international court for breach of contract but if you are an American business you are fair game.

Also this allows you to sue client in failure of payment or breach of contracts. You have easy access to proper contract engagement services like escrow, small claims court etc.

With larger business you have higher degrees of authority as you come as a business based in America. It makes taxation and legal fillings easier for them. Money laundering acts, audit, tax fraud, wire fraud etc. have extremely strict laws and have serious consequences for a larger business. I have worked with people who are subjected to FinRa (wallstreet people). I had to file proper paperwork or there is a risk of them getting audited.

> Is there any law or limitation why they wouldn't like to work with e.g. European Self-Employed or LTD companies?

It is very grey. You have to file paperwork and send documentation that you are a legit tax paying business in your local country. You have audits and internal control team in large organization that cross checks every transaction made to individuals outside the company. You have to back it up with proper paperwork. Kind of a hassle for larger companies but if a startup, small business or an individual is hiring you that is no problem.

> Unless maybe when people here word 'contractor' they assume they will have to pay 2x more and that's why they prefer perm-employees? Or is there are any law in US that make it harder for companies to work this way?

There are some hassle but it mostly comes down how bad they want you. For individuals, startups and small business the pros far outweigh the cons. I am affordable, I am culturally on point, I am a decent dev. I submit invoice, I get paid. That's it.

But for larger companies there are some legal hassle. But if they really want you, they will find a way. They can hire you as an employee, or ask you send over paperwork as a business. The recruiter can and will make arrangements to hire you. But often times they could hire locally and not risk getting asked questions about you.

Very long answer but again grain of salt.


I've wondered about that when I've seen it described as 'US timezones' or similar, which on the face of it seems to just mean the Americas (modulo I have no idea if maybe Canada or somewhere South has an extra one not used in the USA) - but maybe it suggests they're pretty open to anyone anywhere who convincingly says they'll work Pacific (or whatever) hours. Good to hear it's worked out for you.


I beleive Nefoundland Canada is in its own time zone outside any the US has. but unlike most time zones it is off by 30 minutes.


Yes, Newfoundland has it's very own timezone, 2.5 hours off from Central time.


Leading a team spanning more than 8 timezones is hard - but what it usually means is they don't know how to manage (read: trust) and have no leadership experience with remote teams. The factory/assembly line of managing teams is still common - they don't really understand how to asynchronously build software itself. Many employers in the US are particularly keen on NOT hiring in the EU because of the significant difference in both contract and employment laws in the two regions, whereas in Asia is cheap enough and there are plenty of contracting or outsourcing firms to help manage that requirement.


I've never been on a team where having people spread the globe worked well. In fact, just this morning I got off a 7 am (PDT) call with people at 7:30 pm (IST), and as always I was thinking "this sucks for all of us". I don't believe there's a clever hack that can optimize around the circumference of the planet.


the one caveat I've found is that if you _can_ get it running you get a two or three stroke engine instead of a single one. its absolutely fantastic to wake up and find out that not only was the problem solved but we solved another one and we're on the next.

that memory is pretty tarnished by all the other times I couldn't even get very much done because the night team is asleep and its completely unclear where we are - not only did they not make any progress but they actually left things in a bit of a mess.


Dig a deep hole and build a conference room in the middle of the globe!


…we’ll call it Central Time


Wait, so how do you propose this in a way that they will take it? Simply mention that you're a freelancer and then they know it's fine, or how do you introduce this in a handy way?


This sounds a lot like Athens Research[1] vs Roam Research[2]. Jeff Tang wanted to get a job at Roam so he built a toy open source version for themselves, and then continued and it's now a YC company [3]

[1]: https://www.athensresearch.org/

[2]: https://roamresearch.com/

[3]: https://www.ycombinator.com/companies/athens-research


Rejecting someone three times from something is pretty brutal. How bad could this candidate have been? Is Codeacademy like the Rhodes Scholarship or something?

One of my luckiest breaks was when a college that rejected me the first time around accepted me the second time I applied. Really grateful for that opportunity.


How is it brutal? Dependeing on the job and the applicants CV/interviewing skills, it would be easy to consider that she/he is not a good fit for the company or the role.

The fact that they have created their own site is not a reflection on Codecademy, just that the interview process is not necessarily great or even that they would still not be a good fit for CA for whatever reason.

I don't like the tone of naming the company then basically sticking two fingers up at them "look at me now". There is a tonne of stuff involved in these sorts of sites and we will see whether they can keep up or not.


> I don't like the tone of naming the company then basically sticking two fingers up at them "look at me now".

That’s true, me neither…


you should ask how bad the interviewing process in this industry is instead


Love them! Reminds me of Larry David opening a Coffee Shop in Curb your Enthusiasm.

I call them spite-sites.


I just hope you can do number 2 there. ;)


I believe the internet equivalent of "going number 2" would just be a comment section. Seems easy enough.


haha yes


you lost your mind have some water, not soup


What does 'rejected' mean, I thought they let you sign up free?

Either way, it's always nice to see alternatives, thanks for sharing


Hey! I was rejected as a frontend engineering job applicant 3 times. The most recent application led to an on-site. After that rejection I started working on codeamigo, it's been a ton of fun!


Ah thanks! I didn't know if you meant as a student, thus wanting to make your own classes. Looks great!


Their job applications were rejected: https://docs.codeamigo.dev/blog/why-codeamigo


I think OP probably means he was rejected from working for codecademy. Their loss judging by codeamigo.


Possible loss, on the other hand "this guy wants to build his own site / make the decisions" might not be a great hire if you're trying to hire a worker drone to build a given widget.

Lots of different situations could apply.


I would've been very happy to contribute on any level. I have a desire and passion to be in the ed-tech space. Eventually I just figured that the lowest barrier to entry was building my own site.


Cool site and congrats on a successful launch!

Tip: Add it to your HN profile.


Thanks for the tip!


The only possible situation here is "A-types hire A-types; B-types hire C-types". If a single applicant can replace your entire engineering team (which definitely happened in this case) why wouldn't you hire them to build a widget?


Haven’t you answered your own question? Because they don’t want to build the widget you want them to build. They want to replace your whole engineering team.

What about hiring them to replace the whole engineering team, saving on salaries? Then you’re fucked when that person gets bored and leaves.

Hyper passionate individuals don’t make good hires. They might make good founders though.


The number of presumptions in your reply is astounding. Based on replies and the blog post, OP clearly has projected the best of intentions. This is classic owning of a clown show hiring process and the hiring wing of Codecademy by the OP. I say "well done."


You've misunderstood. I was directly answering the question in the comment that I was replying to. I know nothing about the OP's situation and said nothing about it.


>If a single applicant can replace your entire engineering team (which definitely happened in this case) why wouldn't you hire them to build a widget?

Because possibly that's not what they want to do, build a widget.


Really? I don't want to be rude, but that site is really awful-looking and looks like something a bootcamp grad would do for their final project.

The complexity though of making something like this though is definitely intermediate+.


Oh, you don’t want to be rude? Really? Why just come in here to shit on the devs project? I saw your previous “constructive” criticism. Do you know how hard it is? How many fine details are involved in launching something? Please display some of your solo work, so we can see the merits of your valuable “feedback”


I definitely know how hard it is, I have 10 years of experience and I'm now staff eng and team lead at a 50B+ MC company.

I had my own startup, and built many projects first-hand, but I'm not going to de-anonymize myself for the sake of argument.

In my opinion, it should always be hard. OP had a good launch and delivered, which is something that's incredible and that only < 1% of devs do, especially by themselves. The design is terrible, but the idea and execution was great.

I also love the fact that he did this out of wanting to prove that he could do the work, and not taking the L from the rejection.


I hope I never work on your team, the attitude you're displaying would me an instant no-go from me. Junior devs need encouragement, guidance, and positive feedback. You've managed to wrap semantically positive feedback in a negative mantle. Please leave this guy alone and allow him to continue kicking ass.


Solid humblebrag there.

There are legions of engineers perusing HN that have double+ your experience sans the narcissism.


Experience doesn't equate to skill though? Tons of 20+ years devs can't even do what OP achieved here.


The design doesn't need to be great for an educational site. More frontend tasks can be done to change the css with a library like tailwind ui and it will look better, doing css from scratch is harder but cheaper than the $200 tailwind download. The hardest part of this application is done.


How much experience do you have with design, which was your criticism? More importantly, what objective characteristic of the design do you think is awful?


Hey actually explains in a blog entry here: https://docs.codeamigo.dev/blog


I think he means as a teacher?


I applied to codecademy earlier this year, recruiter never showed up to our intro call, and then never emailed me back. Took it as dodging a bullet!


Really like what the site is doing, however the styling needs some work though.


I'll be honest, this is a great start and a good app that not a lot of people would achieve and deliver. Hopefully this feedback can be constructive.

It does not feel like a modern "professional" app though, the design is extremely lacking and not something you'd see from an intermediate+ frontend dev.

The "New lesson" part doesn't work because it's behind an auth check, but there's no error message and it's displayed as an unauth'd user.

There's a bunch of console errors everywhere for undefined objects.

It's basically a reskinned version of this https://riju.codes/, so nothing of major complexity was done here.

That said, delivering this is impressive, especially for a more junior developer. This is major step towards building up your career and I'm looking forward to see more!


The design is fine, it’s totally functional, perfect for a developer focused site and quite refreshing actually.

Great that you’ve pointed out a couple of bugs but I’ve seen “senior” developers who couldn’t conceive of, build and deploy anything close to this.

There’s enough here to build a SaaS business out, and the OP can be CEO, CTO or whatever title they want


Yeah I totally agree, OP is definitely further off in delivery and self-drive than most developers, senior or otherwise.

I just meant to give him fair feedback to keep him growing. Design is subjective, so if most here people love it, it must mean it appeals to its audience!


Appreciate the feedback and I don't disagree! I definitely would love to work more on the design and general "smooth-ness" of the app. I've been focused on functionality and driving towards something that works. Time to tighten some screws!

PS, did you interview me last year at Codecademy? ;)


I didn't, I never heard of the company before this.


> It does not feel like a modern "professional" app though

True, it feels better that the standard "modern professional" design that you see nowadays, that it is just boring. Here you see some personality and functionality.


I disagree about the design. The layout of the app is fine, and its very functional and easy to use. The only problem is the colors. That blue has to go.


If you sign up you can change the theme in settings!


Agreed, more neutral color is needed. Also, the contrast/thickness of the borders is way too high. Funny, because I usually complain contrast is too low for typical sites.

I also had trouble reading the About... tooltip. I'd probably move that to the sidebar?


I don’t understand the title? How do you get ‘rejected’ by Code Academy? It’s not a ‘boot camp’ with an application process. You either do the free lessons offered, or pay up for one of the ‘Pro’ level tiers.

This title seems sensational, and it’s misleading to people not familiar with Code Academy. Considering that, it doesn’t sell me on this product. In fact it makes me not even want to look at the lessons offered, since the premise feels dishonest.

Edit: I don’t think I’m the only one that read it that way based in other comments. Honest mistake, it looks like English is not the authors first language.


I think he applied to work there and was rejected, as opposed to applying as a student.


Thanks, that makes more sense. Totally misread that. The blog post was buried at the bottom didn’t make it that far.


> I don’t understand the title? How do you get ‘rejected’ by Code Academy? It’s not a ‘boot amp’ with an application process. You either do the free lessons offered, or pay up for one of the ‘Pro’ level tiers.

From his blog:

> I've applied to work at Codecademy three times, once in 2014, again in 2015, and most recently in 2020. I've been rejected all three times. I wanted to prove to myself I was capable of building something like it, so I decided to build my own version.


Thanks, I didn’t dig deep enough to find the editblog buried at the bottom. That definitely clears things up.


> Thanks, I didn’t dig deep enough to find the boy buried at the bottom. That definitely clears things up.

...there's a boy buried at the bottom? i hope that's a typo!


Lol, fixed it. But ‘boy’ was funnier!


Si ingles es mi lengua materna, pero hablo Espanol tambien.


Oh. Es raro ver español en hacker news


I assumed he meant rejected as a job candidate.


Good luck!

I tend to have a similar reaction to being excluded.


Why don't they just call it Code Academy. why does it have to be some weird little made up word that doesn't even make any sense


Codecademy was filed as a trademark on September 6, 2012. When they did that there were some pre-existing similar names around (eg CA Code Academy filed on September 7, 2011). It's probably the case that they couldn't get a "Code Academy" based .com domain or something too. Plus portmanteau names for startups were trendy back then.


If it was 15 years ago it probably would have been named "Codr.io", so there is progress


Codebedandbreakfast with the YC founders saying “no that’s not quite right, how about…”


Don't for get the xylophone, ukulele, and middle aged white guy with a beard to play the mime in all the marketing material.


I had never realised that codecademy wasn't codeacadamy. Oops.


I always have issues spelling it


Can't tell if this is a joke or not.


Amigo means friend in Spanish. No more of a made up word than academy.


I believe the parent was referring to Codecademy itself.


cademy is not a word though. code cademy.


Say Codecademy and Code Academy out loud. Also in general, weird little made up words are more defensible in terms of trademarks.


And better for SEO as well, is it not?


Yeah and urls for that matter, but actually I just checked and codecademy owns codeAcademy.com


probably purchased after they started making money.


So they can copyright their name.


Names are not copyrightable; do you mean trademark?


*Trademark. Copyright protects creative works.


You own the rights to copy something you made, you don't copyright something you made.


I suppose the people who get rejected by every company just need to build an entirely new internet to redeem themselves.


Everyone responds to rejection differently ;)


This is great - love the frictionless signup and onboarding experience. I'm planning to teach my niece some basic programming stuff (moving on from scratch) and this seems like a great way to put together some mini-lessons that are quick and rewarding.


Hey, great work. I have a small feature request. I want to be able to give feedback on code to my students, just like in github. Click on a particular line(number), a text box pops up and then I can type in my comments. Is it possible to build the feature?


..and the deluge of feature requests begins! Do you know what else would be a good idea? Lots of things. The difference between the successful company and the unsuccessful one is the ability to say, "not really the most important thing at the moment but thanks for the idea"


I love this idea!


Small fix: when you click next it should bring you to the top of the page instead of staying at the bottom. It gets annoying needing to scroll up every time and really takes you out of focus.


Mobile friendly strikes again, been meaning to tackle this one, facepalm


Here's the link with more information, from the linked blog at the bottom of the page: https://docs.codeamigo.dev/blog


So this is completely unrelated to the YouTube Channel amigoscode? https://www.youtube.com/watch?v=9SGDpanrc8U


This is great; Code Academy fueled the desire in you and made it as inspiration to create your own. I have watched some videos, and I do love your byte-sized coding tutorials.


with blackjack and hookers


In fact, forget the coding!


I’m a teacher and I’m hoping someone can share some of the best platforms to teach middle schoolers how to code. Thanks.


Codecademy and Treehouse are both great platforms that I've used and recommend.

If you're looking for a great free intro to programming, I recommend "Learn to Program", available at https://pine.fm/LearnToProgram. It's concise, introduces the reader to a very approachable programming language (Ruby), and geared toward total beginners. Coincidentally, I went on to work at the same company as the author later down the line which was pretty cool.


OP here. I think Codecademy, Scrimba, and freecodecamp are great resources for new learners. Middle school though, that’s tough…

If you’re interested in writing your own tutorials for your students, I think codeamigo would be great for that. Feel free to email me (email in profile) if you want help with that!



I tried visiting https://codeamigo.dev/lessons/preview/90, but no matter what I type in the text editor, if I press the Test button, Ctrl+E, the right arrow, or Ctrl+Enter, it doesn't get executed.


Sorry about that. I’ve rebooted the aws instance so the execution env should be back

Edit: there might be a bug in that lesson, thanks!


Ok, should be resolved now!


I had a similar experience, not that I got rejected, but that I didn't like their content very much. I made https://qvault.io to focus on computer science. I'd actually love to chat with you, we could potentially collaborate or something :)


Let’s chat! My email is in my profile!


F. it! Build your own! congrats.


What brought me into the coding world was its novelty. In those days an electronic games were: Merlin, Simon and Mattel Football. Today, there is nothing novel about coding and its crushing and relentless.


Fantastic work.

Would you have anything to help a kid build a blog and learn by doing it?


Hi Philip, Its great to see codeamigo come to life. Definitely a platform I would use myself to learn more. I am following you from radon's riju project.


Hey! Radon's project is great and powers the languages not executable by the browser! Check us out on discord as we grow the community there: https://discord.gg/UUgEe5MH


This is awesome! Love the focus on short practical tutorials and not leetcode style questions. Are you planning on iterating this further?


Yes! Check us out on twitter to follow along on our progress @codeamigo_dev


If ya can't join 'em, beat 'em.


Well it looks like you are down, apparently the 'HN Hug of Death' still occasionally exists.


Yeah does seem to be struggling a bit...


Very nice job!

One small request: add an option to move the step/info column from the far left to the far right.


Oh nice fainlly a place to test my sandbox escapes... get ready to pwn!


It was nice to see C will still run execv(), I appreciate the trusting nature - maybe someone can do a Beej-like lesson


the app for "build your own crypto wallet" is essentially:

const App = ( <div> <h1>Hello Bitcoin!</h1> </div> );

curious about version 0.0.2 ;-)


Yeah that's definitely Step 1, but there are a few more steps that dive into how mnemonics are created, their importance, and how addresses get derived.


Think you’re missing the “next” button at the bottom haha


ups - Thanks - lol


Way to go! Very inspiring. Website looks like a good start


Brilliant! That's the mindset the world needs!


Congrats! That's very inspiring.


Oh hi, Zach!


Can I request a Svelte tutorial?


You certainly can! And thanks for reminding me, I need to add an interest form on the site. BTW the svelte tutorial on the official docs site is really great! https://svelte.dev/tutorial/basics


and that doesn't work


Hey! What doesn’t work for you? Maybe open a bug report on discord? https://discord.gg/c2JrzbMH


hug of death?


nice work!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: