Learn Icon

Learn

Learning to code, leveling up, building your skills. Expand your résumé and pursue a fulfilling developer career.
161 Stories
All Topics

JavaScript github.com

Clean Code concepts adapted for JavaScript

Software engineering principles, from Robert C. Martin’s book Clean Code, adapted for JavaScript. This is not a style guide. It’s a guide to producing readable, reusable, and refactorable software in JavaScript.

Not every principle herein has to be strictly followed, and even fewer will be universally agreed upon. These are guidelines and nothing more, but they are ones codified over many years of collective experience by the authors of Clean Code.

Learn github.com

How I write backends

From late 2012 to the present I have been writing backends (server-side code) for web applications. This document summarizes many aspects of how I write these pieces of code.

I’m writing this lore down for three purposes:

  1. Share it with you.
  2. Systematize it for future reference and improvement.
  3. Learn from your feedback.

Jobs github.com

The path to a software architect

What exactly is a software architect, anyhow?

A software architect is a software expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. (Source: Wikipedia: Software Architect)

If that’s something you’d like to do (or are doing, but want to do it better), then this is a great resource for you. It covers the levels of architecture, important skills to obtain, books to read, and a technology roadmap.

Python github.com

Exploring and understanding Python through surprising snippets

Here’s a fun project attempting to explain what exactly is happening under the hood for some counter-intuitive snippets and lesser-known features in Python.

While some of the examples you see below may not be WTFs in the truest sense, but they’ll reveal some of the interesting parts of Python that you might be unaware of. I find it a nice way to learn the internals of a programming language, and I believe that you’ll find it interesting too!

Learn devdegree.ca

Shopify's Dev Degree

This is awesome! I hope it’s a huge hit and is quickly emulated by other successful tech companies.

Dev Degree is a 4-year, work-integrated learning program that combines hands-on developer experience at Shopify with an accredited Computer Science degree from either Carleton University or York University.

Working closely with our university partners, students take three university courses on campus each term and spend ~25 hours each week at Shopify.

This is 4,500+ hours of work experience paired with 4,000+ hours of academic experience. You earn $160k in salary, tuition, & vacation AND there’s a built-in 50/50 gender parity in the program.

Learn github.com

A compiler writing journey

In this GitHub repository, I’m documenting my journey to write a self-compiling compiler for a subset of the C language. I’m also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.

But not too much theory, I want this to be a practical journey.

Join Warren on his journey and learn a lot along the way.

Gaming github.com

The NES you left outside in the rain but let dry and still kind of works

This is an NES emulator and a work in progress. The CPU, PPU, and APU mostly work, though there are still at least a couple bugs. I’ve mostly tested on Donkey Kong and Super Mario Bros. so far. There are plenty of full-featured emulators out there; this is primarily an educational project but I do want it to run well.

If you’re interested in learning about Rust and/or emulators, this is for you.

The NES you left outside in the rain but let dry and still kind of works

Hardware blog.athrunen.dev

Learning hardware programming as a software engineer

I’ve had never really come into contact with hardware programming, working mostly in python or C#, until a friend of mine asked me for some help with programming a simple controller for RGB strips using Arduino Nanos.

We’d, of course, fail spectacularly.

Not only did our hardware not work quite like intended and a few Nanos died in the process(but that’s a story for another time), but I actually learned a lot from this and similar projects.

And I want to tell you some of my mistakes, what I learned by making them and how to prevent them.

Learning hardware programming as a software engineer

Bill Kennedy ardanlabs.com

The why and what of Go modules

If you’re looking for a thorough primer of Go modules, Bill Kennedy has you covered:

In this post, I will focus on the transition from GOPATH to modules and the problems modules are solving. Along the way, I will provide just enough of the semantics so you can have a better understanding of how modules work at a high level. Maybe more importantly, why they work the way they do.

When you’re done with this, check out part 2 of the series about projects, dependencies, and gopls.

Learn github.com

A booklet on machine learning systems design with exercises

This booklet covers four main steps of designing a machine learning system:

  1. Project setup
  2. Data pipeline
  3. Modeling: selecting, training, and debugging
  4. Serving: testing, deploying, and maintaining

It comes with links to practical resources that explain each aspect in more details. It also suggests case studies written by machine learning engineers at major tech companies who have deployed machine learning systems to solve real-world problems.

The Changelog The Changelog #369

Five years of freeCodeCamp

Today we have a very special show for you – we’re talking with Quincy Larson the founder of freeCodeCamp as part of a two-part companion podcast series where we each celebrate our 5 and 10 year anniversaries. This year marks 5 years for freeCodeCamp and 10 years for us here at Changelog. So make sure you check out the freeCodeCamp podcast next week when Quincy ships our episode to their feed. But, on today’s episode we catch up with Quincy on all things freeCodeCamp.

Quincy Larson freeCodeCamp

Lessons from 5 years of teaching the world to code

Congrats to Quincy and everyone who has joined his mission with freeCodeCamp on an astounding rise:

More than 40,000 freeCodeCamp graduates are now working in tech at companies including Apple, Google, Microsoft, Amazon, and Spotify.

Millions of people watch freeCodeCamp’s YouTube channel each month.

Millions of people read freecodecamp.org/news each month.

And people ask - and answer - thousands of tech-related questions each month on freecodecamp.org/forum.

freeCodeCamp.org is now one of the most-used technology sites on the entire web.

The future is bright. Click through to read what they accomplished in 2019 and how they’re up and running on a JAMstack.

Elixir github.com

A source code companion to Elixir's official Mix/OTP guide

This is a great resource to have at your disposal while reading the official Elixir docs.

While working throughout the guide - there were multiple positions where the ideolog seemed overwhelming resulting to various logical bugs because of shorthand syntax mismatch. There is no repository available to cross-check your results either to fix your bugs. Hence - I thought it would be nice to have this as a reference guide to how you need to implement your project.

I need this in my life.

0:00 / 0:00