Learn Icon

Learn

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

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.

Yaser Adel Mehraban yashints.dev

A comprehensive intro to Vue.js

From Yaser Adel Mehraban on getting started with Vue.js.

Vue.js is an approachable, versatile, performant, and progressive framework to build user interfaces with. This core library is focused on building the view layer only. It uses the goodies of Angular (such as template syntax) and React (such as Virtual DOM) and adds a few more enhancements on top.

… Another bonus point of it is that migrating to it is really easy. You just need to add a script tag to your page and you’re good to go.

Daniele Scasciafratte daniele.tech

Contribute to open source: the right way (Free 📘)

There’s probably nothing life-changing in here for those of us deep in the open source world, but I thought this was worth sharing just in case someone in your life could use a primer on what open source is all about and how to get involved.

Have you ever wondered how the open source world exists thanks to the contribution of thousands of people all over the world? Is there a way to learn the skills to contribute at maximum, or to improve it?

Julia Evans jvns.ca

SQL queries don't start with SELECT

Yesterday I was working on an explanation of window functions, and I found myself googling “can you filter based on the result of a window function”. As in – can you filter the result of a window function in a WHERE or HAVING or something?

Eventually I concluded “window functions must run after WHERE and GROUP BY happen, so you can’t do it”. But this led me to a bigger question – what order do SQL queries actually run in?

Kind of a snappy headline because Julia is talking about order in terms of execution and most of the time we’re thinking about order in terms of authoring. But still, TIL!

0:00 / 0:00