u/VastAmphibian wrote (the comment Michael replied to):
Sounds like you have looked at a lot of Codesmith's project code as someone from outside of the CS system to give an honest review. Have you done, or are you interested in doing one for a Launch School **Capstone** project? Their website claims Capstone program projects are model
u/michaelnovati replied · ★ FEATURED
I have looked at a few yeah! The documentation, presentations, and overall code structure is more consistent with a production codebase, the GitHub orgs and repos are setup more consistent with larger.o0en source work as well. I see more "good practices" and haven't seen the kinds of security vulnerabilities I see in Codemsith projects. But the actual code occasionally has commented out code and things and isn't flawless. The PR naming and structure could improve too on some I've seen. But they are a lot closer to a real production codebase than the Codesmith OSPs. I still don't think any of many become widely used or maintained projects though just like Codesmith.
The state of the Codesmith ones is a result of (my opinion synthesizing dozens of private comments):
1. Don't have anyone with extensive industry or open source experience so the guidelines and best practices are hit and miss. This is totally fine if the students didn't think they were doing "mid level and senior" projects and rebut my comments with "we just have imposter syndrome, you are wrong". Like they are fantastic entry level bootcamp projects compared to typical bootcamps and the problems they are trying to solve are great ideas to tackle.
2. They are rushed. You can tell from the commit history within PRs that people are frantically flailing around the codebase. Intermediary commits show a ton of copy paste, guessing, mistakes, arbitrary refactorings, inconsistencies, etc... Again, nothing wrong with this but not mid-level or senior work.
3. No overall architecture. The super consistent things about them are the surface level things: the medium posts, the boilerplate code, the websites, all the marketing. But the code architecture is a mess. One of the major projects has several different UI frameworks all mismatched together for example. The end state doesn't matter as much as how we get here and I don't think the people making these changes have any idea how they should even approach decisions like that. Again, totally fine for entry level, not mid level or senior.
This is just 3 examples because I timebox my comments but there are many more.