Top 3 in Tech: Reading code, GitHub Copilot, Hydrogen

How getting better at reading + understanding code can make you a better developer  ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Hey hey hey,

Mads here with another edition of the Top 3 in Tech newsletter, filled with amazing web dev goodies. Let's get into it with today's essay:

1. Reading code

When you work as a developer, you’re going to be spending a lot of time reading code. You will probably spend more time reading code than actually writing it - that's why learning how to properly read code is a key skill to master. It’s not always the most fun, but it’s necessary and can be learned quite easily with practice.

Reading code is about your understanding of what a particular piece of code is doing. There’s several different scenarios where this proves useful:

  • Understanding code from a tutorial so you can modify it to your needs.
  • Trying to familiarize yourself with a new codebase at work or in open source.
  • Debugging 3rd party code from a dependency in your project
  • Understanding what on Earth is going on in the code you wrote last night, or last week, or 6 months ago.

The last one will probably be familiar to you. Looking back at older projects, it’s impossible to remember how the code was working. Knowing how to effectively read code will help you understand what the code is meant to do, and it’ll be easier for you to modify it or fix bugs in the future.

So, here's 3 tips for getting better at reading code:

  1. Try to understand what the author was going for. What is this piece of code trying to accomplish? Why? Try to uncover the reason it was written this way.
  2. Read it line by line. If you get to a part that exists in another file, follow the trail. Make sure you understand what each part of the code is supposed to be doing. Trace every function call.
  3. Do it often. Make it a habit to properly read through 3rd party code that you use in your project. You don’t need to read every single library, but if you copy a solution from StackOverflow, read it thoroughly to understand how and why it works. Add a few comments if you’re unclear about something. That’ll make it so much easier if you need to revisit the code later.

If you can apply these simple habits, you'll get MUCH better at reading code - and by reading lots of code and understanding it, you'll also begin to understand what makes code "good" or "bad" based on how readable it is. Which will automatically make you better at writing code. Sounds like a win/win to me!

2. GitHub Copilot

Some months ago I included GitHub Copilot in the newsletter, right around when it got announced initially. But in case you missed it, the basic idea is simple: Copilot offers suggestions to automatically complete parts of your code based on what it thinks you are trying to do.

Well, I had my doubts of how useful this could actually be in practice. To be honest, I thought it was mostly a gimmick that would only work for very specific usecases.

Boy was I wrong.

I got invited to the technical preview last week and have been playing around with Copilot - and it's insane. The ease at which it can write out entire functions for you, purely based on the function name or even a COMMENT, is ridiculous. I seriously think it's gonna be one of my biggest productivity boosters in development, so I definitely recommend checking it out and signing up for the waitlist if you haven't already:

Learn more and sign up for GitHub Copilot

3. Hydrogen

The last pick for this week is a new JavaScript framework. And yes, I know what you're thinking:

Do we really need another one???

Well, Hydrogen is different. It's based entirely on React, and created by the fine folk at Shopify. It's designed to provide a modern front-end stack to use with Shopify to create ecommerce stores, and it looks very promising. By leveraging cool new tools like Vite, React Server components and GraphQL, they've truly modernized the experience when creating Shopify themes, and I'm excited for where it goes next. It's not quite production ready, but I'm definitely gonna be testing it out ASAP.

Learn more on the official landing page or check out this 5 minute breakdown by Fireship:


Thanks for reading! I would really appreciate if you would share the newsletter with your friends on Twitter, Facebook, LinkedIn, by email or copy/paste the link mads.fyi/top3 on other platforms. It really helps to keep me motivated and let the newsletter grow ✌

Until next time,

Mads Brodt

Older messages

Top 3 in Tech: Coding principles, Cryptography for developers, Favicons

Wednesday, November 3, 2021

Hi again! Mads here with more development advice and awesome resources to help you crush it as a developer and improve your career - issue #40 of the Top 3 in Tech newsletter in a row! Huge thank you

Top 3 in Tech: You are not your code, NextJS 12, Tailwind JIT CDN

Wednesday, October 27, 2021

Getting too attached to your code can be dangerous, as it hampers your ability to learn - here's how to deal with it. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: JavaScript array methods, New MacBook Pros, Have single-page apps ruined the web?

Wednesday, October 20, 2021

Properly learning the common JavaScript array methods will be a huge productivity boost when writing JS code ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: Embracing your tools, React Remix, SVG animations with CSS

Thursday, October 14, 2021

How learning basic tools can greatly increase your development productivity and improve your workflow ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Top 3 in Tech: Facebook's downtime, Animating with Lottie, CSS Box Model

Wednesday, October 6, 2021

What can we learn from Facebook's disastrous downtime? ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

You Might Also Like

Data Science Weekly - Issue 545

Friday, May 3, 2024

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

When accelerator dreams become company nightmares

Thursday, May 2, 2024

Plus: Illinois gives Rivian incentives and AI is not SaaS View this email online in your browser By Christine Hall Thursday, May 2, 2024 Hello, and welcome back to TechCrunch PM. We have a great lineup

📱 Issue 409 - Claude Team plan and iOS app

Thursday, May 2, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 409 Release Date May 02, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 415 - Hotel WiFi JavaScript Injection (2012)

Thursday, May 2, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 415 Release Date May 02, 2024 Your weekly report of the most popular JavaScript news, articles

💎 Issue 415 - Choosing the Right Audit Trail Approach in Ruby

Thursday, May 2, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 415 Release Date May 02, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 408 - Speeding up C++ build times

Thursday, May 2, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 408 Release Date May 02, 2024 Your weekly report of the most popular .NET news, articles and projects

💻 Issue 415 - Ditch dotenv: Node.js Now Natively Supports .env File Loading

Thursday, May 2, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 415 Release Date May 02, 2024 Your weekly report of the most popular Node.js news, articles and

💻 Issue 333 - React 19 Beta

Thursday, May 2, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 333 Release Date May 02, 2024 Your weekly report of the most popular React news, articles and projects

📱 Issue 412 - The Composable Architecture: My 3 Year Experience

Thursday, May 2, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 412 Release Date May 02, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 410 - Lessons learned after 3 years of fulltime Rust game development, and why we're leaving Rust behind

Thursday, May 2, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 410 Release Date May 02, 2024 Your weekly report of the most popular Rust news, articles and projects