A collection of the best resources for programming, web development, computer science and more.
Ultimate Coding Resources List
A collection of the best resources for programming, web development, computer science and more.
DISCLAIMER: it is worth mentioning that a portion of resources (mainly courses and books) included have affiliate
links or items
mentioned are projects I have built that I directly benefit from their sale or use.
Books
Clean Architecture - by applying universal rules of
software architecture, you can dramatically improve developer productivity throughout the life of any software
system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary
software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them.
Clean Code: A Handbook of Agile Software Craftsmanship - even
bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year,
countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that
way.
Code Complete - widely considered one of the best practical
guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software
for more than a decade.
Cracking the Coding Interview - learn how to uncover the
hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop
techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189
interview questions and solutions.
The Clean Coder - this book is packed with practical
advice–about everything from estimating and coding to refactoring and testing. It covers much more than technique:
It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work
well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and
understand that deep knowledge comes with a responsibility to act.
The Complete Software Developer's Career Guide - early in
his software developer career, John Sonmez discovered that technical knowledge alone isn't enough to break through
to the next income level - developers need "soft skills" like the ability to learn new technologies just in time,
communicate clearly with management and consulting clients, negotiate a fair hourly rate, and unite teammates and
coworkers in working toward a common goal.
The Pragmatic Programmer - Dave Thomas and Andy Hunt wrote
the first edition of this influential book in 1999 to help their clients create better software and rediscover the
joy of coding. Topics range from personal responsibility and career development to architectural techniques for
keeping your code flexible and easy to adapt and reuse.
The Mythical Man-Month: Essays on Software Engineering - Few
books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend
of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing
complex projects.
Soft Skills: The software developer's life manual - Soft
Skills: The software developer's life manual is a unique guide, offering techniques and practices for a more
satisfying life as a professional software developer. In it, developer and life coach John Sonmez addresses a wide
range of important "soft" topics.
HTML and CSS: Design and Build Websites - Introduces HTML and
CSS in a way that makes them accessible to everyone―hobbyists, students, and professionals―and it’s full-color
throughout.
Utilizes information graphics and lifestyle photography to explain the topics in a simple way that is engaging.
Head First Design Patterns: A Brain-Friendly Guide - At any
given moment, someone struggles with the same software design problems you have. And, chances are, someone else
has already solved your problem. This edition of Head First Design Patterns shows you the tried-and-true,
road-tested patterns used by developers to create functional, elegant, reusable, and flexible software.
Grokking Algorithms: An illustrated guide for programmers and
other curious people - Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to
apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting
and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns
such as data compression and artificial intelligence.
A Smarter Way to Learn JavaScript. The new tech-assisted
approach that requires half the effort - Learning JavaScript is hell because of two problems.
I remove the problems, and you start having fun.
The first problem is retention. You remember only ten or twenty percent of what you read. That spells failure. To
become fluent in a computer language, you have to retain pretty much everything.
Code: The Hidden Language of Computer Hardware and Software -
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show
us the ingenious ways we manipulate language and invent new means of communicating with each other. And through
CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological
innovations of the past two centuries.
Eloquent JavaScript: A Modern Introduction to Programming -
JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to
browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with,
JavaScript is a flexible, complex language that you can use to build full-scale applications.
Structure and Interpretation of Computer Programs - Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming.
Courses
The 100 Front End Interview Questions
Challenge -
By the end of the course you'll be able to pass a front end technical screen covering the fundamentals of front
end web development HTML, CSS, and JavaScript. We also will dive into interview prep, cultural questions, and
general HR screening questions.
100 Algorithms Challenge - Technical
interviews are the filter between good and great developers. At least that is how the industry sees it. In this
course we will up your problem solving ability and speed with 100 algorithm problems and solutions.
Harvard
CS50 An introduction to the intellectual enterprises of computer science and the art of programming by
Harvard University.
SitesSites - Coding Platforms
FreeCodeCamp - Learn to code. Build projects. Earn
certifications. Since 2014, more than 40,000 freeCodeCamp.org graduates have gotten jobs at tech companies
including
Scrimba - Our mind-blowing learning experience makes it easier
than ever to grow your coding skills. So pick a course, start learning, and give your career the boost it
deserves.
CodeCombat - CodeCombat is a game-based computer science
program where students type real code and see their characters react in real time.
SoloLearn - Join the largest community of mobile code
learners today.
Coding Game - At CodinGame, our goal is to let
programmers keep on improving their coding skills by solving the World's most challenging problems, learn new
concepts, and get inspired by the best developers.
The Odin Project - The Odin Project is one of those
"What I wish I had when I was learning" resources. Not everyone has access to a computer science education or
the funds to attend an intensive coding school and neither of those is right for everyone anyway. This project
is designed to fill in the gap for people who are trying to hack it on their own but still want a high quality
education.
Bento - Bento's mission is to make technology education and
opportunity available to all. Bento is a technology education company focused on educating and empowering the
next generation of self-taught developers.
Codecademy - Codecademy is an education company. But
not one in the way you might think. We’re committed to building the best learning experience inside and out,
making Codecademy the best place for our team to learn, teach, and create the online learning experience of the
future.
Pluralsight - At Pluralsight, we believe everyone
should have the opportunity to create progress through technology and develop the skills of tomorrow. With
assessments, learning paths and courses authored by industry experts, our platform helps businesses and
individuals benchmark expertise across roles, speed up release cycles and build reliable, secure products.
Treehouse - Our mission is to diversify the tech
industry through accessible education and apprenticeship, unlocking the door to opportunity and empowering
people to achieve their dreams.
FrontEndMasters - Join Now and Learn Straight from the
Experts Who Shape the Modern Web
LinkedIn Learning - Formally Linda, LinkedIn Learning is one of the worlds largest course platforms with content being created monthly.
Sites - Algorithm Platforms
AlgoExpert - If you want to ace the tech interview, being
well-versed in all common data structures and popular problem-solving methods is paramount. With 85 questions
spanning 14 categories and 5 difficulty levels, we've got you covered.
HackerRank - Join Over 7 million developers, practice
coding skills, prepare for interviews, and get hired.
LeetCode - LeetCode is the best platform to help you enhance
your skills, expand your knowledge and prepare for technical interviews.
Code Signal - formerly CodeFights a grate Algorithm site
with a beautiful UI.
Code Wars - Codewars is a collective effort by its users.
They are creators - authoring kata to teach various techniques, solving kata with solutions that enlighten
others, and commenting with constructive feedback. The leaders among them moderate the content and community.
Exercism - Level up your programming skills with 3,173
exercises across 51 languages, and insightful discussion with our dedicated team of welcoming mentors. Exercism
is 100% free forever.
Project Euler - Project Euler is a series of challenging
mathematical/computer programming problems that will require more than just mathematical insights to solve.
Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and
programming skills will be required to solve most problems.
Code Chef - CodeChef was created as a platform to help
programmers make it big in the world of algorithms, computer programming, and programming contests. At CodeChef
we work hard to revive the geek in you by hosting a programming contest at the start of the month and two
smaller programming challenges at the middle and end of the month. We also aim to have training sessions and
discussions related to algorithms, binary search, technicalities like array size and the likes.
Coderbyte - Coderbyte is a web application built to help you practice
programming and improve your coding skills. We offer a collection of code challenges and web development courses
that can help you prepare for upcoming job interviews. The coding challenges range in difficulty and they can
all be completed straight in our online editor.
Edabit - We're like Duolingo for learning to code. When learning to code, most
people get stuck on the "bridge" between memorizing syntax and understanding the logic that makes it all work.
Pramp - Join thousands of professionals practicing live mock
interviews & interview questions online, with peers, for free. We help you prep & land your dream tech job.
Codility - Codility is a software platform that helps
tech recruiters and hiring managers assess their candidates' skills by testing their code online.
CodeAbbey - CodeAbbey hosts a series of simple to complex
programming problems that allow the user to practice their ability to solve problems.
Advent of Code - Advent of Code is an Advent calendar of
small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming
language you like. People use them as a speed contest, interview prep, company training, university coursework,
practice problems, or to challenge each other.
Sites - Course Sites
SkillShare - SkillShare has a ton of free courses
and access to tens of thousands of paid courses all for the low price of $10 a month.
Udemy - The leading global marketplace for learning and
instruction. By connecting students all over the world to the best instructors, Udemy is helping individuals
reach their goals and pursue their dreams
Thinkster - a better way to learn. Learn how real apps are
built, from scratch, using the latest frameworks.
Frontend Masters - Advance Your Skills with In-Depth,
Modern Front-End Engineering Courses
EggHead - egghead is a group of working web development
professionals and open source contributors that provide you with concise, information dense video courses on the
best tools in the industry.
Laracasts - Push your web development skills to the next level, through
expert screencasts on Laravel, Vue, and so much more.
Udacity - Our mission is to power
careers through tech education. We partner with leading technology companies to learn how technology is
transforming industries, and teach the critical tech skills that companies are looking for in their workforce.
Khan Academy - Khan Academy offers practice exercises,
instructional videos, and a personalized learning dashboard that empower learners to study at their own pace in
and outside of the classroom. We tackle math, science, computer programming, history, art history, economics,
and more.
Codecourse - Rather than just teach theory, we focus on
real code to inspire your next project. Learning shouldn't be boring, so let's have some fun.
JavaScript 30 - 30 Day Vanilla JS Coding Challenge. Build
30 things in 30 days with 30 tutorials. No Frameworks. No Compilers. No Libraries. No Boilerplate.
Flexbox Froggy - Welcome to Flexbox Froggy, a game where
you help Froggy and friends by writing CSS code!
Sites - Career & Job Sites
WayUp - is the industry leader for college students and
recent grads to get hired.
NovoResume - Novorésumé began in 2014 when Andrei, Cristian, and Stefan
noticed a common problem among several of their contacts. Despite having extensive work experience and
impressive skill sets, these individuals didn’t know how to showcase their talents with a professional resume
and cover letter. Sensing an opportunity to help others with their job search, the three of them joined forces
in exploring possible solutions as part of a university project.
Glassdoor - Search millions of jobs and get the inside scoop
on companies with employee reviews, personalized salary tools, and more.
AngelList - Apply privately to 130,000+ tech & startup jobs with one
application. See salary and equity upfront.
U.S. Bureau of Labor Statistics - The U.S. Bureau of
Labor Statistics provides a selection of useful reports on employment statistics and 10-year forecasts. Use them
to determine if the career you’ve chosen is experiencing — or is likely to experience — a talent shortage. If
so, you can expect a higher starting salary or more appealing perks if your skills match up with employers’
needs.
PayScale - WHAT AM I WORTH? What your skills are worth in the market is
constantly changing.
Salary - Understand your worth and plan your next career move with
easy-to-use tools.
W3Schools - W3Schools is optimized for learning,
testing, and training. Examples might be simplified to improve reading and basic understanding.
Mozilla - MDN's mission is simple: to provide
developers with the information they need to easily build projects on the open Web. If it's an open technology
exposed to the Web, we want to document it.
Stack Overflow - Founded in 2008, Stack Overflow is the
largest, most trusted online community for anyone that codes to learn, share their knowledge, and build their
careers. More than 50 million unique visitors come to Stack Overflow each month to help solve coding problems,
develop new skills, and find job opportunities.
DevDocs - Fast, offline, and free documentation browser for developers. Search
100+ docs in one web app.
Sites - Freelance & Contract Work
Upwork - To connect businesses with great talent to work
without limits.
Toptal - Toptal is an exclusive network of the top
freelance software developers, designers, finance experts, product managers, and project managers in the world.
Craigslist - Small web dev projects and web sites can be
picked up pretty easily in the jobs or gigs section.
Sites - Style & Component Libraries
Bootstrap - Bootstrap is an open source toolkit for
developing with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass variables
and mixins, responsive grid system, extensive prebuilt components, and powerful plugins built on jQuery.
Materialize - Materialize is a modern responsive CSS
framework based on Material Design by Google.
Bulma - Bulma is a free, open source CSS framework based on
Flexbox and built with Sass. It's 100% responsive, fully modular, and available for free.
UIkit - A lightweight and modular front-end framework for
developing fast and powerful web interfaces.
Pure.css - A set of small, responsive CSS modules that you can
use in every web project.
Sites - Hackathons
AngelHack - The world's most diverse hacker community,
driving
innovation of tech products through developer programs.
Meetup - Find Meetups so you can do more of what matters to
you. Or create your own group and meet people near you who share your interests.
Code.org - Code.org® is a nonprofit dedicated to expanding access
to computer science in schools and increasing participation by women and underrepresented minorities.
Girl Develop It - Girl Develop It is a nonprofit
organization that exists to provide affordable and judgment-free opportunities for women interested in learning
web and software development. Through in-person classes and community support, Girl Develop It helps women of
diverse backgrounds achieve their technology goals and build confidence in their careers and their every day
lives.
Dev.to - DEV is a community of software developers getting together to help one another out. The software industry relies on collaboration and networked learning. We provide a place for that to happen.
Sites - Code Playgrounds
JSFiddle - Test your JavaScript, CSS, HTML or CoffeeScript
online with JSFiddle code editor.
Codepen - CodePen is an online community for testing and
showcasing user-created HTML, CSS and JavaScript code snippets. It functions as an online code editor and
open-source learning environment, where developers can create code snippets, called "pens," and test them.
StackBlitz - Code the Future.
In Your Browser.
Create, edit & deploy fullstack apps — in just one click.
Repl.it - Powerful and simple online compiler, IDE, interpreter,
and REPL. Code, compile, and run code in 50+ programming languages.
CodeSandbox.io - Founded in 2017 by Ives van Hoorne and Bas
Buursma, our mission is to make web development faster. By removing complexity we enable web developers to be
more productive. By simplifying collaboration we make it easier for teams to work on code together.
Sites - Tools
Trello - Whether it’s for work, a side project or even the next
family vacation, Trello helps your team stay organized.
Slack - Slack replaces email inside your company.
Discuss, collaborate, share — work is better without the inbox.
Github - We’re supporting a community where more than 40
million* people learn, share, and work together to build software.
Hyper Terminal - The goal of the project is to create a beautiful
and extensible experience for command-line interface users, built on open web standards. In the beginning, our
focus will be primarily around speed, stability and the development of the correct API for extension authors.
f.lux - f.lux fixes this: it makes the color of your
computer's display adapt to the time of day, warm at night and like sunlight during the day.
Postman - Postman is the only complete API development
environment. Today we have 8 million developers and over 400K companies using our comprehensive set of built-in
tools to support every stage of the API lifecycle.
Insomnia - Insomnia is a cross-platform GraphQL and REST
client, available for Mac, Windows, and Linux.
GitKraken - Unleash GitKraken! Three legendary developer
productivity tools: the Git GUI Client for Windows/Mac/Linux development.
Sites - Misc
Autonomous - the goto place for automated standing desks,
treadmills and everything dev furniture related.
Unsplash - The internet’s source of freely usable images.
Humble Bundle - although known for their games.
Now adays EBook bundles around web development are becoming increasingly popular.
YouTube Channels
Dylan Israel - Dylan is a self-taught programmer who produces some amazing content, both informational and tutorials videos.
Traversy Media - Brad is also a self-taught programmer who produces informational and tutorial based videos.
DesignCourse - Gary teach full stack development. Which means you will see tutorials regarding UI/UX, Frontend Dev, Backend Dev, Graphic Design and more.
Eduonix Learning Solutions - Eduonix Learning Solutions is an esteemed name in the e-learning field and has a vast library of web designing and development courses to help cater the learning needs of all individuals.
IAmTimCorey - Tim creates courses dedicated to C#, SQL and more.
Programming with Mosh - Mosh produces amazing courses for both frontend and backend development.
The Net Ninja - Tutorials on Modern JavaScript (beginner to advanced), Node.js, React, Vue.js, Firebase, MongoDB, HTML & CSS, Plus loads more.
Dev Ed - Very Funny and Good Tutorials on Modern JavaScript (beginner to advanced), Node.js, React, Vue.js,CSS coolAnimations, HTML & CSS, Plus loads more.
Wireframes and Mockups
InVision - InVision is the digital product design
platform used to make the world's best customer experiences.
Balsamiq - Balsamiq is the company behind Balsamiq Wireframes,
the industry standard low-fidelity wireframing tool.
Figma - A better way to design. Design, prototype, and
gather feedback all in one place with Figma.
Sketch - Sketch is a design toolkit built to help you create
your best work — from your earliest ideas, through to final artwork.
Package Managers
Yarn - Yarn caches every package it downloads so it never needs
to download it again.
npm - We're npm, Inc., the company behind Node package
manager, the npm Registry, and npm CLI. We offer those to the community for free, but our day job is building and
selling useful tools for developers like you.
Text Editors
VSCode Text Editor - Code editing. Redefined. Free.
Built on open source. Runs everywhere.
Atom - Teletype for Atom makes collaborating on code just as easy as
it is to code alone, right from your editor.
Sublime - Sublime Text is a sophisticated text editor
for code, markup and prose. You'll love the slick user interface, extraordinary features and amazing performance.
Notepad++ - Notepad++ is a free (as in “free speech”
and also as in “free beer”) source code editor and Notepad replacement that supports several languages. Running in
the MS Windows environment, its use is governed by GPL License.
Vim - Vim is a highly configurable text editor for efficiently
creating and changing any kind of text. It is included as "vi" with most UNIX systems and with Apple OS X.
Blogs
Program with Erik - Erik is a two time author,
YouTuber, Podcastor an much more. His blog includes tutorials, rantings and musings on software development, with
a focus on JavaScript, Ember.js, Vue.js and Node.js.
Overreacted - Dan Abramov's `I explain with words and code.`
CSS-Tricks - Daily articles about CSS, HTML, JavaScript, and
all things related to web design and development.
David Walsh - A blog featuring tutorials about JavaScript,
HTML5, AJAX, PHP, CSS, WordPress, and everything else development.
Podcasts
Self-Taught or Not - Self-Taught or Not covers the
do's and don'ts of software development, hosted by Dylan Israel & Erik Hanchett. New episodes every Monday!
Tech Jr. - Lee Warrick and Edwin Otero explore what it's like
to break into the Tech field as junior developers as well as how to stay up-to-date on new technology.
The 6 Figure Dev - interviews developers to dive deep in
their experiences, how to increase your income, and dive deep into their guests projects.
FreeCodeCamp - The official podcast of the freeCodeCamp open
source community. Learn to code with free online courses, programming projects, and interview preparation for
developer jobs.
Real Talk JavaScript - Dive into
JavaScript and Web development stories with hosts John Papa, Ward Bell, and Dan Wahlin. Sponsored by Nrwl.io A
weekly podcast where we tackle the challenges facing Web developers today and invite expert guests on the show to
share ktheir experience solving concrete problems while building real Web applications.
The Vanilla JS Podcast - A show about JavaScript for
people who hate the complexity of modern front‑end web development, hosted by Chris Ferdinandi.
EggHead.io Developer Chats - Humans talking about the
business of building software, constant learning, and balancing it with everyday life.
Syntax.fm - A Tasty Treats Podcast for Web Developers by Wes Bos &
Scott Tolinski.
Front End Happy Hour - A podcast featuring a panel of Software
Engineers from Netflix, Twitch, Atlassian & Airbnb talking over drinks about all things Front End development.
CodeNewbie - CodeNewbie Podcast Stories from people on their
coding journey.
Facebook Groups
Code, Tech & Caffeine - Coding noobs to senior devs
to those just interested in technology this group is for you. This group is devoted to sharing helpful and
interesting items in software and technology.
Hacking and Coding Tutorials - A
closed group for technical enthusiasts interesting in hacking and coding. A place to openly discuss and share
ideas and ask for help from real and certified hackers and programmers.
I Love Programming - Welcome to one of the most
popular Facebook page related to programming :)
Here we share best tutorials, news, YouTube videos and memes related to programming.
VSCode Extensions
Live Server
- Launch a development local Server with live reload feature for static & dynamic pages.
Settings
Sync - Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions
Across Multiple Machines Using GitHub Gist.
Prettier - Prettier is an opinionated code formatter. It enforces a consistent style by
parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping
code when necessary.
Auto
Rename Tag - Automatically rename paired HTML/XML tag, same as Visual Studio IDE does.
ESLint -
The extension uses the ESLint library installed in the opened workspace folder. If the folder doesn't provide one
the extension looks for a global install version. If you haven't installed ESLint either locally or globally do so
by running npm install eslint in the workspace folder for a local install or npm install -g eslint for a global
install.
EditorConfig - This plugin attempts to override user/workspace settings with settings found
in .editorconfig files. No additional or vscode-specific files are required. As with any EditorConfig plugin, if
root=true is not specified, EditorConfig will continue to look for an .editorconfig file outside of the project.
Browser Preview - Browser Preview for VS Code enables you to open a real browser preview
inside your editor that you can debug. Browser Preview is powered by Chrome Headless, and works by starting a
headless Chrome instance in a new process.
Chrome
Debugger - Debug your JavaScript code in the Chrome browser, or any other target that supports the Chrome
Debugger protocol.
REST Client -
REST Client allows you to send HTTP request and view the response in Visual Studio Code directly.
Import
Cost - This extension will display inline in the editor the size of the imported package. The extension
utilizes webpack with babili-webpack-plugin in order to detect the imported size.
DevFest - DevFests are community-led developer events
hosted by Google Developer Groups around the globe. GDGs are focused on community building and learning about
Google’s technologies.
Form Filler - Fill all inputs in a page with dummy data.
Wappalyzer - Wappalyzer is a cross-platform utility that uncovers the technologies used on
websites. It detects content management systems, ecommerce platforms, web frameworks, server software, analytics
tools and many more.
Web Developer Checklist - For web developers who wants to make sure they follow best
practices. This extension allows you to very easily discover problem areas in your website.
IE Tab - Display web pages using IE within Chrome. Use Java, Silverlight, ActiveX,
Sharepoint, and more. A "Top 10" extension since 2009!
Lighthouse - Lighthouse is an open-source, automated tool for improving the performance,
quality, and correctness of your web apps.
Web Developer - The Web Developer extension adds a toolbar button to the browser with various
web developer tools.
Repos
Dev YouTube List - A curated list of amazing development channels on YouTube. These include web development, back-end development, front-end development live coders and more!
Clean Code 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.
You Don't Know JS - This is a series of books diving deep into the core mechanisms of the JavaScript language.