My suggestion pertains to the fact that the Git course on Codecademy is over 50% focused on a single git platform, instead of focusing on the skills needed to navigate a wide variety of platforms and workflows.
I understand that GitHub is the current most popular git hosting service on the market, but that doesn’t mean it will stay that way, and that doesn’t make it the best service to use. Competitors such as GitLab, BitBucket, Sapphire, and self-hosted solutions all provide equally valid services to GitHub and in many cases, excel in performance and support. Codecademy’s effective promotion of GitHub as the de-facto standard only serves as a form of “vendor lock-in,” similar to the use of Adobe products in digital media education. This phenomenon is harmful to students because it focuses on teaching them how to use one specific piece of technology instead of building the fundamental skills they can carry over to other tech. Specifically, the Adobe example has caused a huge rift in the digital media industry because so many students graduate with no real experience in media production, they only know how to accomplish their goals in one piece of software. A personal story was during my time working for a broadcaster that used Edius who had trouble finding editors because none of the new hires knew how to use Edius, or even fundamental concepts of video editing because they just followed the instructions on how to do x in AfterEffects without ever learning the “how” or “why”.
Combined with the fact that GitHub is owned by Microsoft, a company which has already been proven in US courts to be guilty of anti-trust practices, and leaked documents showing that the company is currently engaged in a renewed policy of “Embrace, Extend, Extinguish” with regard to the open-source community, encouraging new developers to lock themselves into the platform is arguably a violation of the ethical standards that Codecademy holds itself to.
A better alternative would be to remove the GitHub specific content in the Git course, and replace it with additional content focused on using the git system more effectively, such as adding a module on the various methods to revert changes or fix mistakes safely (something that many new developers encounter when first starting out participating in public projects). git rebase
is a very useful tool, but the lack of educational material around it combined with the potential for destructive outcomes makes it seem almost frowned upon as a tool to fix commit issues.
Having a separate GitHub course would work to help new users who want to learn about the platform get the material they need, or a “comparative git” course that reviews the different popular software (GitHub/GitLab/BitBucket) and some of the differences & similarities between them. Alternatively, replacing a vendor-specific course with a DevOps course that covers various optional features that many platforms use (for example, courses on how to use the various features of GitHub/GitLab such as Releases, tags, issues, etc.) would be more beneficial, since that knowledge would be transferrable across platforms and services, and apply to many in-house workflows that use other git software.