The Top 66 Developer Resources From 2017

Developers produced some really great resources for each other in 2017. After 8+ years reading and curating developer content, I thought it was about time that I compile an end-of-year list with the scores of resource links that I share on Twitter and Reddit throughout the year. I look through dozens of developer newsletters, subreddits, Medium publications, and HN each week — so I don’t miss much. Hope you find some gems you didn’t catch initially in 2017!

–General Dev–

Libraries.io, version 2

Search over 311 million rows of metadata about open source projects and the network of dependency data that connects them all in this easy-to-understand interface. In 2017 Library.io had its second open data release, so I’m including it even though the project didn’t originally start in 2017. You can use it to understand how various open source projects are used throughout an ecosystem.

Great for new contributors

GitHub made an awesome move by creating a page that finally answers this question many budding developers have: “What open source projects can I contribute to?” They’ve crunched and analyzed their data to determine which projects have a history and reputation for being welcoming to new open source contributors.

The Art of Comments

A really good perspective on how and why to write useful comments in code.

Computer Scientist’s Trivia

This is the kind of trivia from CS class that’s useful to know but asinine to make people memorize for technical interviews. Brush up on this stuff and see if it can help you improve your day-to-day code by showing you where deeper bugs and inefficiencies can occur.

dev-books.com

{WARNING: Commenters have informed me that this site uses your computer to mine bitcoin when you visit. If you still want to check it out, install an extension like No Coin. Hopefully they can’t circumvent that yet.} Somebody had an excellent idea to scan over 40 million questions on Stack Overflow for any book references. Think of it as a data-driven popularity ranking for the best developer books.

A guide to RESTful API design

Over 35 tools and resources for designing good RESTful APIs and keeping up with the API space. I collaborated with the author who built this list and I know that it is continually updated.

Programming Talks

To anyone who likes this resource list so far — you need to check out the “Awesome” lists on GitHub if you’re not already aware of them. Start with Sindre Sorhus’s Awesome list of Awesome lists. Programming Talks is a GitHub “awesome list” of programming video presentations sorted by language. The author of the list seems to like more academic languages like Haskell, Python, and Clojure, since there’s a large list of talks for those languages, but all the main ones are well-represented.

The System Design Primer

This repo is a collection resources to help you learn how to build systems at scale. It also includes study materials for system design questions in technical interviews.

The Right Way to Select Technology, An Excerpt

Although it’s only one chapter of an entire book on selecting technologies for your technology stack, it’s still a good article to help guide your mindset.

Readings in Database Systems “The Red Book”, 5th Edition

It’s the first update to the Red Book in over ten years. This collection of chapters includes opinionated takes on both classic and cutting-edge research in the field of data management.

The Unofficial MySQL 8.0 Optimizer Guide

Some unofficial but very good docs on how to use and understand the query optimizer in MySQL 8.0

–Web Performance–

The State of the Web

If there’s one web performance resource you can’t miss from 2017, it’s Karolina Szczur’s collection of tactics for impactful performance improvements.

Everything by Addy Osmani

His stuff isn’t just about web performance, but if you develop in JS, you need to be reading Addy’s blog.

Measuring web performance; it’s really quite simple

An attempt to simplify and focus the topic of web performance to make it more accessible for those who are overwhelmed by some of the complexities discussed in the community.

Front End Performance Checklist 2017

So much good advice for setting your front-end performance goals. I think there’ll be a new one soon since this one has been around for just over a year now. Not that I expect any huge differences.

A Comprehensive Guide to Font Loading Strategies

It may not sound like the most riveting topic, but it’s actually very digestible and heavily bulleted. You’re going to need it if you want to check all the boxes on that Front End Performance Checklist.

The Browser Hacker’s Guide To Instantly Loading Everything

Instantly loading everything — sounds pretty great. Hear about some JS performance strategies from Addy Osmani. It’s one of several excellent talks he gave in 2017.

Reducing CSS bundle size 70% by cutting the class names and using scope isolation

One cunning web developer figured out how Google reduces its CSS bundle size and shows you how to do it yourself.

–Web Development–

Modern JS Cheatsheet

This resource isn’t a learn-JS-from-scratch cheatsheet. It’s more focused on the next step after basics — recognizing some of the things you might encounter in more modern JS codebases.

30 seconds of code

A curated collection of useful JavaScript snippets that you can understand in 30 seconds or less. Currently there are over 100.

Awesome Awesome Node.js

It looks like Awesome Awesome Node.js is an attempt to gather all of the best list resources on Node.js, in addition to the existing Awesome Node.js repo. So meta…

Node.js Best Practices

A curated list of content that covers Node best practices.

Checklist: Node.JS production best practices

This checklist for running Node.js in production is well-designed, using best practices gleaned from high ranking blog posts.

React’s Five Fingers of Death. Master these five concepts, then master React.

A nice primer that distills the five key concepts you need to grasp before starting to develop in React.

The Beginner’s Guide to ReactJS

This React fundamentals course by Kent C. Dodds — A JS developer/speaker of PayPal fame — is now free forever.

Best ReactJS books, tutorials, courses & videos 2017

Curated by ReactDOM: The ReactJS, React Native & GraphQL newsletter.

Best Vue.js books, tutorials & courses 2017

Also curated by ReactDOM.

A 10 minute primer to JavaScript modules, module formats, module loaders and module bundlers

Planning to start using JS modules? Start here.

The Survive.js Webpack Book

Survive.js… an appropriate name when you think about all the churn in the JS space. There are also survive.js books on maintenance and React in addition to this webpack book, but there are plenty of resources on those topics, and I think the webpack book stands out among its competitors. Webpack is one of the most useful tools in the JS ecosytem you can learn.

Front End Checklist

Unlike the previous checklist on front-end performance, this one is focused on best practices for page structure and design. Plus, it’s an actual checklist with checkboxes. Fancy.

What Web Can Do Today

Here’s another useful website that helps you quickly determine if a particular browser supports a specific web standard.

My giant JavaScript Basics course is now live on YouTube. And it’s 100% free.

freeCodeCamp has a lot of free resources on its YouTube and Medium pages. This resource is probably a good place to start if you want to get into web development or brush up on JS basics.

How Flexbox works — explained with big, colorful, animated gifs

I know the internet is littered with Flexbox tutorials, but this one from 2017 has very helpful animated gifs to help you visualize the concepts while you read about them.

Your Regular WordPress Maintenance Checklist

Wordpress continues to evolve, and with it — your security and performance maintenance need to evolve as well.

WTFJS

Inspired by Brian Leroux’s talk “WTFJS” at dotJS 2012, this list contains “funny and tricky” JavaScript examples that can teach you a lot about the language. I tried to end this section with something a little more entertaining!

–Security–

The Basics of Web Application Security

You know when the Martin Fowler blog breaks down a topic, you need to start taking this shit seriously. Also, how have you not studied the new OWASP top 10 yet?

Web Developer Security Checklist

And here’s a good, simplified checklist to go with the “Basics” article above.

Wargames

Here’s 12 unique games for improving your security skills. If you’ve been around the security community at all, you’ll know that games are a common tool for learning.

–Testing–

Awesome Testing

The collection of “awesome lists” for testing grew substantially in 2017. Here’s the basic primer that anyone new to testing in the software industry (or needing a refresher) should read.

Awesome Visual Regression Testing

Visual regression testing can be tricky to carry out. This list is not tailored to a specific role, so it’s useful for anyone in UX, testing, or development.

Awesome Static Analysis

More teams need to use static analysis tools, and this curated list of static analysis tools, linters, and code quality checkers is a great place to start.

Five Factor Testing

This could be a useful framework for discussing test strategy if your testing strategies aren’t already super-mature.

–Ops/DevOps/SRE–

How to Deploy Software

A funny, whimsical, and very readable guide to building a general deployment strategy that isn’t outdated and stupid.

Monitoring the SRE Golden Signals

This is an ebook in slideshare format outlining how to monitor the “golden signals” aka. important metrics of an app. Apparently a lot of people talk about the golden signals, but not how to monitor them.

Best practices for staging environments

Staging environments are considered a best practice, but why? This article gives you a lot of good reasons along with great general techniques and advice for running your own staging environment.

Minimum Viable Analytics

A lot of teams know they need UX and operational analytics for their apps, but they don’t know what specific metrics they need, and they might not know how to get them either. This article gives you the baseline analytics that every application development team should have, and it tells you how to get them.

Onboarding New Site Reliability Engineers

This is a short article, but it’s useful if you’re starting to hire and use SREs for the first time.

–Data Science–

Every single Machine Learning course on the internet, ranked by your reviews

There are tons of really good machine learning courses on the web now. Here’s a list that can help you sort through some of the noise.

Essential Cheat Sheets for Machine Learning and Deep Learning Engineers

A list of cheatsheets for popular ML and DL libraries.

Python Data Science Handbook

Python is perhaps the most common programming language used for data science. While this book was published in late 2016, it became free online in 2017.

How to Get Your First Data Science Job

You’ve got plenty of resources here, but do you know how to land a data scienmce job? This guide gives you a good starting point (you have to register, but after that it’s free)

Learn data science: 44 essential resources for developers

I collaborated with the author to build this data science resource list. It has all the best resources and courses from the last couple of years. There are also new resources in the comments since the article was published.

datavis.tools

A curated guide to data visualization tools and resources.

–Soft Skills/Teamwork–

Periodic Table of Agile Principles and Practices

Any topic turned into a periodic table is pretty cool in my book. This one organizes and defines the more granular practices of XP, Agile, Lean, and other work styles. You might find a few interesting tactics that you never knew about.

Awesome Diversity

A list of organizations, conferences, actionable resources, and more related to improving diversity in tech. I think it’s a really important and often-overlooked or dismissed topic in our field, so I decided to write up two articles myself on hiring and keeping underrepresented team members.

Culture Codes

This repository contains many interesting and inspiring employee handbooks and culture decks. Some of the companies include Netflix, Spotify, Valve, GitHub, and Google. I summarized the lessons from several of these culture decks and handbooks in an article last year. (The site was literally published in the same month that I wrote that article. Same idea at the same time.)

Mental Models: The Best Way to Make Intelligent Decisions (113 Models Explained)

Developers and managers can benefit from learning mental models. They help us make better business and technical decisions.

Public Product Road Map: A How to Guide

Ever heard of public product road maps? Read about them here and see how they’re done.

The Side Project Marketing Checklist

2017 was the year of the “side hustle” (or at least the year where no one would shut up about it). So if you’re looking to market your own side project, there’s no better place to start than with this checklist.

7 Powerful Ways To Get Feedback From Users

Some of these strategies might seem like overkill or unnecessary work, but if you want to be sure that you’re making something that people actually want, then you need to be a little extreme sometimes.

A free guide to building awesome communities

Maybe your side hustle is to start a blog or community. This guide can help you get started with that.

–Career–

Stack Overflow’s “Calculate your salary” Tool

Using data from their annual dev survey, Stack Overflow built a salary calculator web app that shows you typical salaries for your experience level, location, specific technologies, and education.

Trending Developer Skills, Based on my Analysis of “Ask HN: Who’s Hiring?”

One blogger decided to take Hacker News’ weekly “Who’s Hiring” posts and count the requested skill keywords. It should give you a good look at the skills and stacks that startups are looking for right now.

Become a productive programmer, and work saner hours

A multi-article series by Itamar Turner-Trauring on how to live your best dev life. Lots of good “learning to learn” material, as well as productivity tips, career advice, and work/life balance advice.

Hiring Without Whiteboards

I wrote an article in 2016 summarizing the widespread backlash against the “whiteboard interview”. This GitHub repo contains a list of companies that don’t do whiteboard interviews. It helps job seekers who don’t want to support companies that use these technical interview strategies.

Rethinking the Developer Career Path

Instead of counting the number of days someone’s been paid to write code and massaging that into a title, Randall Koutnik suggests an alternative way for looking at the trajectory of a developer’s career. In this talk, he describes three stages of a developer’s life that can help developers reconceptualize their own growth, and help managers understand a better way to promote developers.

That’s a wrap.

If you want to see what developer resources I find in 2018, follow me on twitter: @mpron

Topics of interest

More Related Stories