Every Programmer Should Know

A collection of (mostly) technical things every software developer should k...

README

Join our community for professional Software Developers and get more control over your life and career!



Every Programmer Should Know :thinking:

A collection of (mostly) technical things every software developer should know.

:point_up: These are resources I can recommend to every programmer regardless of their skill level or tech stack

Highly opinionated :bomb:. Not backed by science.
Comes in no particular order :recycle:

U like it? :star: it and share with a friendly developer!
U don't like it? Watch the doggo :dog:

*P.S. You don't need to know all of that by heart to be a programmer.
But knowing the stuff will help you become better! :muscle:*

P.P.S. Contributions are welcome!


Introduction

- :movie_camera: Map of Computer Science
- :page_facing_up: Computer Science Roadmap

Falsehoods

  💊 Curated list of falsehoods programmers believe in.
  Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones and Dates and more.

Algorithms


Data Structures


Numbers

- :book: How to Count
- :page_facing_up: Floating Point Guide

Strings

- :page_facing_up: Unicode and Character Sets
- :movie_camera: ASCII
- :movie_camera: UTF-8

Latency


Time

- :page_facing_up: Some notes about time

Memory


Distributed Systems

- :page_facing_up: There is No Now

RegExp


Security

- :page_facing_up: Rolling Your Own Crypto
- :page_facing_up: Cryptographic Right Answers

UX/Usability

- :movie_camera: Inventing on Principle

SEO


Architecture

- :movie_camera: Growing a Language
- :movie_camera: CQRS and Event Sourcing
- :page_facing_up: How JavaScript works: part-1, 2, 3, 4

Code Design

- :page_facing_up: Programming Principles Wiki

Engineering Philosophy

- :movie_camera: Category Theory in Life
- :movie_camera: Simple Made Easy
- :movie_camera: #NoEstimates
- :movie_camera: Making Badass Developers
- :page_facing_up: The mythical 10x programmer
- :page_facing_up: The Debugging Mindset
- :movie_camera: The Future of Programming
- :movie_camera: All the Little Things

Practices

- :book: Code Complete
- :white_check_mark: Going To Production Checklist
- :book: Release It!
  Learn the basics of a language in a highly condensed way.
Compare commonly used features of more or less similar languages side-by-side. Helps you to jump Python<->Ruby, Ocaml<->Haskell, etc.
- :page_facing_up: Pomodoro for Programmers

Career

- :moneybag: Levels FYI
  Salary stats for various tech companies. Better than Glassdoor.
- :page_facing_up: TL;DR; Stock Options

Fine-tune Your Resume

- :hammer: CV Compiler

Open Source

- :globe_with_meridians: Learn how to use Git and GitHub

Remote Work

- :globe_with_meridians: Remotive.io: Startups hiring remotely
- :globe_with_meridians: Remote Work List for Developers
- :zap: NomadList

Problem Solving


Soft Skills


Mental Health

  A curated list of awesome articles, websites and resources about mental health in the software industry.

Papers on Programming

- :heart: Papers We Love
- :newspaper: The Morning Paper
- :newspaper: Arxiv
- :newspaper: Sci-hub

Free Books on Programming


Services :zap:


Licenses


Where To Look For Further Info


Coding Practice Sites :zap:

- :link: CodeForces
- :link: CodeChef
- :link: Coderbyte
- :link: CodinGame
- :link: Cs Academy
- :link: HackerRank
- :link: Spoj
- :link: HackerEarth
- :link: TopCoder
- :link: Codewars
- :link: Exercism
- :link: CodeSignal
- :link: Project Euler
- :link: LeetCode
- :link: Firecode.io
- :link: InterviewBit
- :link: uCoder
- :link: LintCode
- :link: CodeCombat
- :link: InterviewCake
- :link: At Coder
- :link: Codility