This commit is contained in:
Cleano Ferreira 2020-09-25 14:12:58 -03:00 committed by GitHub
commit 765fd14c20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 41 additions and 11 deletions

View File

@ -1,11 +1,12 @@
> *[Join our community](https://metadevelopment.io/)* for professional Software Developers and get more control over your life and career! > _[Join our community](https://metadevelopment.io/)_ for professional Software Developers and get more control over your life and career!
---- ---
# Every Programmer Should Know :thinking: # Every Programmer Should Know :thinking:
A collection of (mostly) technical things every software developer should know. 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* :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. Highly opinionated :bomb:. Not backed by science.
Comes in no particular order :recycle: Comes in no particular order :recycle:
@ -13,40 +14,46 @@ Comes in no particular order :recycle:
U like it? :star: it and [share](https://twitter.com/mr_mig_by/status/900735231552098306) with a friendly developer! U like it? :star: it and [share](https://twitter.com/mr_mig_by/status/900735231552098306) with a friendly developer!
U don't like it? [Watch the doggo](https://twitter.com/RespectfulMemes/status/900147758845308930) :dog: U don't like it? [Watch the doggo](https://twitter.com/RespectfulMemes/status/900147758845308930) :dog:
*P.S. You [don't need to know](https://xkcd.com/1050/) all of that by heart to be a programmer. _P.S. You [don't need to know](https://xkcd.com/1050/) all of that by heart to be a programmer.
But knowing the stuff will help you become better! :muscle:* But knowing the stuff will help you become better! :muscle:_
*P.P.S. [Contributions](CONTRIBUTING.md) are welcome!* _P.P.S. [Contributions](CONTRIBUTING.md) are welcome!_
---- ---
### Introduction ### Introduction
- :movie_camera: [Map of Computer Science](https://www.youtube.com/watch?v=SzJ46YA_RaA) - :movie_camera: [Map of Computer Science](https://www.youtube.com/watch?v=SzJ46YA_RaA)
- :movie_camera: [40 Key Computer Science Concepts Explained In Laymans Terms](http://carlcheo.com/compsci) - :movie_camera: [40 Key Computer Science Concepts Explained In Laymans Terms](http://carlcheo.com/compsci)
### Falsehoods ### Falsehoods
- [Awesome Falsehoods](https://github.com/kdeldycke/awesome-falsehood) - [Awesome Falsehoods](https://github.com/kdeldycke/awesome-falsehood)
💊 Curated list of falsehoods programmers believe in. 💊 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. Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones and Dates and more.
### Algorithms ### Algorithms
- [Big O Cheatsheet](http://bigocheatsheet.com/) - [Big O Cheatsheet](http://bigocheatsheet.com/)
- :book: [Grokking Algorithms](https://www.goodreads.com/book/show/22847284-grokking-algorithms-an-illustrated-guide-for-programmers-and-other-curio) - :book: [Grokking Algorithms](https://www.goodreads.com/book/show/22847284-grokking-algorithms-an-illustrated-guide-for-programmers-and-other-curio)
- [Algorithms Visualization](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html) - [Algorithms Visualization](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html)
### Data Structures ### Data Structures
- :movie_camera: [UC Berkeley, Data Structures Course](https://sp19.datastructur.es/) - :movie_camera: [UC Berkeley, Data Structures Course](https://sp19.datastructur.es/)
- [Foundations of Data Structures - EDX](https://www.edx.org/course/foundations-data-structures-iitbombayx-cs213-1x-0#!) - [Foundations of Data Structures - EDX](https://www.edx.org/course/foundations-data-structures-iitbombayx-cs213-1x-0#!)
- [Data Structures - Coursera](https://www.coursera.org/learn/data-structures) - [Data Structures - Coursera](https://www.coursera.org/learn/data-structures)
- [Mathematics for Computer Science - Eric Lehman](https://courses.csail.mit.edu/6.042/spring17/mcs.pdf) - [Mathematics for Computer Science - Eric Lehman](https://courses.csail.mit.edu/6.042/spring17/mcs.pdf)
### Numbers ### Numbers
- :book: [How to Count](https://www.goodreads.com/book/show/12093869-how-to-count) - :book: [How to Count](https://www.goodreads.com/book/show/12093869-how-to-count)
- :page_facing_up: [Floating Point Guide](http://floating-point-gui.de/) - :page_facing_up: [Floating Point Guide](http://floating-point-gui.de/)
- :page_facing_up: [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html#680) - :page_facing_up: [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html#680)
- :page_facing_up: [Basic Number Theory Every Programmer Should Know...](https://www.codechef.com/wiki/tutorial-number-theory/) - :page_facing_up: [Basic Number Theory Every Programmer Should Know...](https://www.codechef.com/wiki/tutorial-number-theory/)
### Strings ### Strings
- :page_facing_up: [Unicode and Character Sets](https://www.joelonsoftware.com/articles/Unicode.html) - :page_facing_up: [Unicode and Character Sets](https://www.joelonsoftware.com/articles/Unicode.html)
- [Homoglyphs](https://github.com/codebox/homoglyph/) - [Homoglyphs](https://github.com/codebox/homoglyph/)
- [Unicode Common Locale Data Repository](http://cldr.unicode.org/) - [Unicode Common Locale Data Repository](http://cldr.unicode.org/)
@ -54,17 +61,21 @@ But knowing the stuff will help you become better! :muscle:*
- :movie_camera: [UTF-8](https://www.youtube.com/watch?v=vLBtrd9Ar28) - :movie_camera: [UTF-8](https://www.youtube.com/watch?v=vLBtrd9Ar28)
### Latency ### Latency
- [Interactive Latency Infographics](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html) - [Interactive Latency Infographics](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html)
- :page_facing_up: [Latency Numbers Every Programmer Should Know](https://gist.github.com/jboner/2841832) - :page_facing_up: [Latency Numbers Every Programmer Should Know](https://gist.github.com/jboner/2841832)
### Time ### Time
- :page_facing_up: [Some notes about time](https://unix4lyfe.org/time/) - :page_facing_up: [Some notes about time](https://unix4lyfe.org/time/)
- :movie_camera: [The Problem with Timezones](https://www.youtube.com/watch?v=-5wpm-gesOY) - :movie_camera: [The Problem with Timezones](https://www.youtube.com/watch?v=-5wpm-gesOY)
### Memory ### Memory
- :page_facing_up: [What every Programmer should know about memory](https://lwn.net/Articles/250967/) - :page_facing_up: [What every Programmer should know about memory](https://lwn.net/Articles/250967/)
### Distributed Systems ### Distributed Systems
- :book: [Designing Data-Intensive Applications](https://www.goodreads.com/book/show/23463279-designing-data-intensive-applications) - :book: [Designing Data-Intensive Applications](https://www.goodreads.com/book/show/23463279-designing-data-intensive-applications)
- :scroll: [Designs, Lessons and Advice from Building Large Distributed Systems](https://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf) - :scroll: [Designs, Lessons and Advice from Building Large Distributed Systems](https://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
- :scroll: [Time, Clocks and the Ordering of Events in a Distributed System](https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Flamport%2Fpubs%2Ftime-clocks.pdf) - :scroll: [Time, Clocks and the Ordering of Events in a Distributed System](https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Flamport%2Fpubs%2Ftime-clocks.pdf)
@ -73,10 +84,12 @@ But knowing the stuff will help you become better! :muscle:*
- :scroll: [Fallacies of Distributed Computing Explained](https://www.rgoarchitects.com/Files/fallacies.pdf) - :scroll: [Fallacies of Distributed Computing Explained](https://www.rgoarchitects.com/Files/fallacies.pdf)
### RegExp ### RegExp
- [RegexHQ](https://github.com/regexhq) - [RegexHQ](https://github.com/regexhq)
- [Learn regex the easy way](https://github.com/ziishaned/learn-regex) - [Learn regex the easy way](https://github.com/ziishaned/learn-regex)
### Security ### Security
- :book: [Security Programming](https://www.dwheeler.com/secure-programs/) - :book: [Security Programming](https://www.dwheeler.com/secure-programs/)
- :page_facing_up: [Rolling Your Own Crypto](http://loup-vaillant.fr/articles/rolling-your-own-crypto) - :page_facing_up: [Rolling Your Own Crypto](http://loup-vaillant.fr/articles/rolling-your-own-crypto)
- :page_facing_up: [Cryptographic Right Answers](https://gist.github.com/tqbf/be58d2d39690c3b366ad) - :page_facing_up: [Cryptographic Right Answers](https://gist.github.com/tqbf/be58d2d39690c3b366ad)
@ -87,14 +100,16 @@ But knowing the stuff will help you become better! :muscle:*
- :page_facing_up: [Hashing, Encryption and Encoding](https://www.integralist.co.uk/posts/hashing-and-encryption/) - :page_facing_up: [Hashing, Encryption and Encoding](https://www.integralist.co.uk/posts/hashing-and-encryption/)
### UX/Usability ### UX/Usability
- :book: [Don't Make Me Think: A Common Sense Approach to Web Usability](https://www.goodreads.com/book/show/18197267-don-t-make-me-think-revisited) - :book: [Don't Make Me Think: A Common Sense Approach to Web Usability](https://www.goodreads.com/book/show/18197267-don-t-make-me-think-revisited)
- :movie_camera: [Inventing on Principle](https://vimeo.com/36579366) - :movie_camera: [Inventing on Principle](https://vimeo.com/36579366)
### SEO ### SEO
- :page_facing_up: [What Every Programmer Should Know About SEO](https://katemats.com/what-every-programmer-should-know-about-seo/) - :page_facing_up: [What Every Programmer Should Know About SEO](https://katemats.com/what-every-programmer-should-know-about-seo/)
### Architecture ### Architecture
- :scroll: [A Field Guide to Boxology](https://web.cs.wpi.edu/~cs562/s98/pdf/Boxology.pdf) - :scroll: [A Field Guide to Boxology](https://web.cs.wpi.edu/~cs562/s98/pdf/Boxology.pdf)
- :scroll: [Out of the Tar Pit](https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf?raw=true) - :scroll: [Out of the Tar Pit](https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf?raw=true)
- :scroll: [No Silver Bullet — Essence and Accidents of Software Engineering](https://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf) - :scroll: [No Silver Bullet — Essence and Accidents of Software Engineering](https://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf)
@ -107,6 +122,7 @@ But knowing the stuff will help you become better! :muscle:*
- :movie_camera: [Entity-Component-System Architecture with Unity by example](https://www.youtube.com/watch?v=lNTaC-JWmdI&t=166s&list=PLZlJZzHmx31XvgT96DfbXQ4IMb1ryztbp&index=33) - :movie_camera: [Entity-Component-System Architecture with Unity by example](https://www.youtube.com/watch?v=lNTaC-JWmdI&t=166s&list=PLZlJZzHmx31XvgT96DfbXQ4IMb1ryztbp&index=33)
### Engineering Philosophy ### Engineering Philosophy
- :movie_camera: [Category Theory in Life](https://www.youtube.com/watch?v=ho7oagHeqNc) - :movie_camera: [Category Theory in Life](https://www.youtube.com/watch?v=ho7oagHeqNc)
- :movie_camera: [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy) - :movie_camera: [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy)
- :page_facing_up: [Speed In Software Development](https://www.targetprocess.com/articles/speed-in-software-development/) - :page_facing_up: [Speed In Software Development](https://www.targetprocess.com/articles/speed-in-software-development/)
@ -120,8 +136,8 @@ But knowing the stuff will help you become better! :muscle:*
- :page_facing_up: [The Good Software Development Manifesto](https://www.infoworld.com/article/3214481/application-development/the-good-software-development-manifesto.html) - :page_facing_up: [The Good Software Development Manifesto](https://www.infoworld.com/article/3214481/application-development/the-good-software-development-manifesto.html)
- :movie_camera: [All the Little Things](https://www.youtube.com/watch?v=8bZh5LMaSmE) - :movie_camera: [All the Little Things](https://www.youtube.com/watch?v=8bZh5LMaSmE)
### Practices ### Practices
- :book: [Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code) - :book: [Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code)
- :book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.goodreads.com/book/show/3735293-clean-code) - :book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.goodreads.com/book/show/3735293-clean-code)
- :book: [Test Driven Development: By Example](https://www.goodreads.com/book/show/387190.Test_Driven_Development) - :book: [Test Driven Development: By Example](https://www.goodreads.com/book/show/387190.Test_Driven_Development)
@ -139,8 +155,9 @@ But knowing the stuff will help you become better! :muscle:*
- :book: [Site Reliability Engineering](https://landing.google.com/sre/sre-book/toc/index.html) - :book: [Site Reliability Engineering](https://landing.google.com/sre/sre-book/toc/index.html)
### Career ### Career
- :moneybag: [Levels FYI](https://www.levels.fyi) - :moneybag: [Levels FYI](https://www.levels.fyi)
Salary stats for various tech companies. Better than Glassdoor. Salary stats for various tech companies. Better than Glassdoor.
- :page_facing_up: [10 Things Every Programmer Should Know For Their First Job](http://www.applematters.com/article/10-things-every-programmer-should-know-for-their-first-job/) - :page_facing_up: [10 Things Every Programmer Should Know For Their First Job](http://www.applematters.com/article/10-things-every-programmer-should-know-for-their-first-job/)
- :page_facing_up: [How Much Do Software Engineers Really Make in Each City?](https://www.codementor.io/blog/best-cities-software-engineer-earnings-271vpf599k) - :page_facing_up: [How Much Do Software Engineers Really Make in Each City?](https://www.codementor.io/blog/best-cities-software-engineer-earnings-271vpf599k)
- :page_facing_up: [Software Engineers Tenure in San Francisco](https://hackerlife.co/blog/san-francisco-large-corporation-employee-tenure) - :page_facing_up: [Software Engineers Tenure in San Francisco](https://hackerlife.co/blog/san-francisco-large-corporation-employee-tenure)
@ -163,13 +180,16 @@ But knowing the stuff will help you become better! :muscle:*
- :page_facing_up: [What you should know as a founder of a software company](https://qotoqot.com/blog/founder-skills/) - :page_facing_up: [What you should know as a founder of a software company](https://qotoqot.com/blog/founder-skills/)
- :movie_camera: [Code Interview Prep & Programming Questions | Pramp](https://www.pramp.com/) - :movie_camera: [Code Interview Prep & Programming Questions | Pramp](https://www.pramp.com/)
### Fine-tune Your Resume ### Fine-tune Your Resume
- :hammer: [CV Compiler](https://cvcompiler.com/) - :hammer: [CV Compiler](https://cvcompiler.com/)
### Open Source ### Open Source
- :globe_with_meridians: [Learn how to use Git and GitHub](https://www.deployhq.com/git) - :globe_with_meridians: [Learn how to use Git and GitHub](https://www.deployhq.com/git)
### Remote Work ### Remote Work
- :globe_with_meridians: [Remotive.io: Startups hiring remotely](https://docs.google.com/spreadsheets/d/1TLJSlNxCbwRNxy14Toe1PYwbCTY7h0CNHeer9J0VRzE/htmlview?sle=true#gid=1279011369) - :globe_with_meridians: [Remotive.io: Startups hiring remotely](https://docs.google.com/spreadsheets/d/1TLJSlNxCbwRNxy14Toe1PYwbCTY7h0CNHeer9J0VRzE/htmlview?sle=true#gid=1279011369)
- :globe_with_meridians: [Remote Work List for Developers](https://github.com/georgemandis/remote-working-list) - :globe_with_meridians: [Remote Work List for Developers](https://github.com/georgemandis/remote-working-list)
- :zap: [NomadList](https://nomadlist.com/) - :zap: [NomadList](https://nomadlist.com/)
@ -177,28 +197,34 @@ But knowing the stuff will help you become better! :muscle:*
- :house: [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - :house: [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job)
### Problem Solving ### Problem Solving
- :book: [The Art and Craft of Problem Solving](https://www.goodreads.com/book/show/593458.The_Art_and_Craft_of_Problem_Solving) - :book: [The Art and Craft of Problem Solving](https://www.goodreads.com/book/show/593458.The_Art_and_Craft_of_Problem_Solving)
- :book: [How to Solve It: A New Aspect of Mathematical Method](https://www.goodreads.com/book/show/192221.How_to_Solve_It) - :book: [How to Solve It: A New Aspect of Mathematical Method](https://www.goodreads.com/book/show/192221.How_to_Solve_It)
### Soft Skills ### Soft Skills
- :book: [Difficult Conversations](https://www.goodreads.com/book/show/774088.Difficult_Conversations) - :book: [Difficult Conversations](https://www.goodreads.com/book/show/774088.Difficult_Conversations)
- :book: [Crucial Conversations](https://www.goodreads.com/book/show/15014.Crucial_Conversations) - :book: [Crucial Conversations](https://www.goodreads.com/book/show/15014.Crucial_Conversations)
- :book: [How to Win Friends and Influence People](https://www.goodreads.com/book/show/4865.How_to_Win_Friends_and_Influence_People) - :book: [How to Win Friends and Influence People](https://www.goodreads.com/book/show/4865.How_to_Win_Friends_and_Influence_People)
### Mental Health ### Mental Health
- [Awesome Mental Health](https://github.com/dreamingechoes/awesome-mental-health) - [Awesome Mental Health](https://github.com/dreamingechoes/awesome-mental-health)
A curated list of awesome articles, websites and resources about mental health in the software industry. A curated list of awesome articles, websites and resources about mental health in the software industry.
### Papers on Programming ### Papers on Programming
- :heart: [Papers We Love](https://github.com/papers-we-love/papers-we-love) - :heart: [Papers We Love](https://github.com/papers-we-love/papers-we-love)
- :newspaper: [The Morning Paper](https://blog.acolyer.org/) - :newspaper: [The Morning Paper](https://blog.acolyer.org/)
- 📜 [What Every Programmer Should Know About Memory](http://futuretech.blinkenlights.nl/misc/cpumemory.pdf) - 📜 [What Every Programmer Should Know About Memory](http://futuretech.blinkenlights.nl/misc/cpumemory.pdf)
- 📜 [Go To Statement Considered Harmful](https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf) - 📜 [Go To Statement Considered Harmful](https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf)
### Free Books on Programming ### Free Books on Programming
- :books: [Free Programming Books](https://github.com/EbookFoundation/free-programming-books) - :books: [Free Programming Books](https://github.com/EbookFoundation/free-programming-books)
### Services :zap: ### Services :zap:
- [Free For Dev](https://github.com/ripienaar/free-for-dev/blob/master/README.md) - [Free For Dev](https://github.com/ripienaar/free-for-dev/blob/master/README.md)
- [Public APIs](https://github.com/abhishekbanthia/Public-APIs) - [Public APIs](https://github.com/abhishekbanthia/Public-APIs)
- [The Noun Project](https://thenounproject.com/) - [The Noun Project](https://thenounproject.com/)
@ -208,11 +234,13 @@ But knowing the stuff will help you become better! :muscle:*
- [repl.it](https://repl.it/) - [repl.it](https://repl.it/)
### Licenses ### Licenses
- [Choose An Open Source License](https://choosealicense.com/) - [Choose An Open Source License](https://choosealicense.com/)
- [Well-explained Software licenses in TLDR version](https://tldrlegal.com/) - [Well-explained Software licenses in TLDR version](https://tldrlegal.com/)
- [How open source licenses work and how to add them to your projects](https://medium.freecodecamp.org/how-open-source-licenses-work-and-how-to-add-them-to-your-projects-34310c3cf94) - [How open source licenses work and how to add them to your projects](https://medium.freecodecamp.org/how-open-source-licenses-work-and-how-to-add-them-to-your-projects-34310c3cf94)
### Where To Look For Further Info ### Where To Look For Further Info
- [freeCodeCamp Guide](https://guide.freecodecamp.org/) - [freeCodeCamp Guide](https://guide.freecodecamp.org/)
- [GeeksForGeeks](https://www.geeksforgeeks.org/) - [GeeksForGeeks](https://www.geeksforgeeks.org/)
- [Dev.To](https://dev.to/) - [Dev.To](https://dev.to/)
@ -220,6 +248,7 @@ But knowing the stuff will help you become better! :muscle:*
- [Dzone](https://dzone.com/) - [Dzone](https://dzone.com/)
### Coding Practice Sites :zap: ### Coding Practice Sites :zap:
- :link: [CodeForces](http://codeforces.com/) - :link: [CodeForces](http://codeforces.com/)
- :link: [CodeChef](https://www.codechef.com) - :link: [CodeChef](https://www.codechef.com)
- :link: [Coderbyte](https://coderbyte.com/) - :link: [Coderbyte](https://coderbyte.com/)
@ -242,3 +271,4 @@ But knowing the stuff will help you become better! :muscle:*
- :link: [InterviewCake](https://www.interviewcake.com/) - :link: [InterviewCake](https://www.interviewcake.com/)
- :link: [At Coder](https://atcoder.jp/) - :link: [At Coder](https://atcoder.jp/)
- :link: [Codility](https://www.codility.com/) - :link: [Codility](https://www.codility.com/)
- :link: [Uri Oline Judge](https://www.urionlinejudge.com.br)