diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 466f96d..82d0485 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,12 @@ ## The Goal -Our goal is not to have the biggest list of stuff. +Our goal is not to have the biggest list of stuff. Our goal is to have a **comprehensible** list of most valuable things any programmer should know about. ## Contributing -Your contributions to this repo are always welcome! -Bear in mind, that this repo is *highly opinionated* and *curated*. -Your opinion on value of any resource may not match the opinion of curator. +Your contributions to this repo are always welcome! +Bear in mind, that this repo is *highly opinionated* and *curated*. +Your opinion on value of any resource may not match the opinion of curator. **No PR will be discarded without explanations!** @@ -18,7 +18,7 @@ Your opinion on value of any resource may not match the opinion of curator. We :heart: simplicity.
We :heart: essential stuff.
-This is why we strive to having less, but most valuable resources in the list. +We strive to have a smaller list of more valuable resources, quality over quantity.

We :heart: widely applicable knowledge/skills.

@@ -47,25 +47,25 @@ This is why resources on soft skills are an essential part of that list.

Do not add things you have not evaluated personally!

-Use your critical thinking to filter out non-essential stuff. -Give honest arguments for why the resource should be included. -Have you read this book? -Can you give a short article? +Use your critical thinking to filter out non-essential stuff. +Give honest arguments for why the resource should be included. +Have you read this book? +Can you give a short article?

Use reasoning based on our values.

-Before adding any resource, answer this questions to yourself: -- Will it make every programmer a better human being? -- Will it change the quality of programmer's work? -- Will it change the quality of programmer's life? +Before adding any resource, answer this questions to yourself: +- Will it make every programmer a better human being? +- Will it change the quality of programmer's work? +- Will it change the quality of programmer's life? - Would you personally recommend this resource to your friend, starting on software development career?

One item per Pull Request.

-There may be a discussion related to an item you want to add. +There may be a discussion related to an item you want to add. Adding just a single item per pull request makes it much easier for everyone involved.

@@ -76,11 +76,11 @@ It is just easier to discuss and decide on a resource within a Pull Request.
Use consistent set of resource type emoji

-🎥 - Video/Talk -📖 - Book -📄 - Online article -📜 - Paper/Document -✅ - Checklist +🎥 - Video/Talk +📖 - Book +📄 - Online article +📜 - Paper/Document +✅ - Checklist

diff --git a/README.md b/README.md index c569465..371256a 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ But knowing the stuff will help you become better! :muscle:* ### Algorithms - [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) -- [Algorithms Visualization](http://www.cs.usfca.edu/~galles/visualization/Algorithms.html) +- [Algorithms Visualization](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html) ### Data Structures - :movie_camera: [UC Berkeley, Data Structures Course](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd) @@ -43,7 +43,7 @@ But knowing the stuff will help you become better! :muscle:* - :page_facing_up: [Basic Number Theory Every Programmer Should Know...](https://www.codechef.com/wiki/tutorial-number-theory/) ### Strings -- :page_facing_up: [Unicode and Character Sets](http://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/) - [Unicode Common Locale Data Repository](http://cldr.unicode.org/) - :movie_camera: [ASCII](https://www.youtube.com/watch?v=B1Sf1IhA0j4) @@ -57,15 +57,15 @@ But knowing the stuff will help you become better! :muscle:* - :page_facing_up: [Some notes about time](https://unix4lyfe.org/time/) ### Memory -- :page_facing_up: [What every Programmer should know about memory](http://lwn.net/Articles/250967/) +- :page_facing_up: [What every Programmer should know about memory](https://lwn.net/Articles/250967/) ### Distributed Systems - :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](http://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) -- :page_facing_up: [There is No Now](http://queue.acm.org/detail.cfm?id=2745385) +- :page_facing_up: [There is No Now](https://queue.acm.org/detail.cfm?id=2745385) - :page_facing_up: [Jepsen: how different databases behave under partition](https://aphyr.com/tags/jepsen) -- :scroll: [Fallacies of Distributed Computing Explained](http://www.rgoarchitects.com/Files/fallacies.pdf) +- :scroll: [Fallacies of Distributed Computing Explained](https://www.rgoarchitects.com/Files/fallacies.pdf) ### RegExp - [RegexHQ](https://github.com/regexhq) @@ -81,17 +81,18 @@ But knowing the stuff will help you become better! :muscle:* - [Web Application Exploits and Defenses](https://google-gruyere.appspot.com/part1) ### SEO -- :page_facing_up: [What Every Programmer Should Know About SEO](http://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 -- :scroll: [A Field Guide to Boxology](http://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: [No Silver Bullet — Essence and Accidents of Software Engineering](http://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) - :movie_camera: [Growing a Language](https://www.youtube.com/watch?v=_ahvzDzKdB0) - :movie_camera: [CQRS and Event Sourcing](https://www.youtube.com/watch?v=JHGkaShoyNs) -- :book: [Practical Object Oriented Design in Ruby](http://www.poodr.com/) +- :book: [Practical Object Oriented Design in Ruby](https://www.poodr.com/) - :movie_camera: [Evolutionary Software Architectures](https://www.youtube.com/watch?v=CglSFhwbI3s) - [System Design: A Primer](https://github.com/donnemartin/system-design-primer) +- :page_facing_up: [How JavaScript works: part-1](https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf), [2](https://blog.sessionstack.com/how-javascript-works-inside-the-v8-engine-5-tips-on-how-to-write-optimized-code-ac089e62b12e), [3](https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec), [4](https://blog.sessionstack.com/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways-to-better-coding-with-2f077c4438b5) ### Practices - :book: [Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code) @@ -107,7 +108,7 @@ But knowing the stuff will help you become better! :muscle:* Learn the basics of a language in a highly condensed way. - [Hyperpolyglot](http://hyperpolyglot.org/) 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](http://www.metadevelopment.io/pomodoro-for-programmers/) +- :page_facing_up: [Pomodoro for Programmers](https://blog.metadevelopment.io/pomodoro-for-programmers/) ### Career - :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/) @@ -123,11 +124,11 @@ But knowing the stuff will help you become better! :muscle:* - :page_facing_up: [How To Interview As a Developer Candidate](https://medium.freecodecamp.com/how-to-interview-as-a-developer-candidate-b666734f12dd) - :book: [How To Be A STAR Engineer](http://vlsicad.ucsd.edu/Research/Advice/star_engineer.pdf) - :page_facing_up: [TL;DR; Stock Options](https://tldroptions.io/) -- :page_facing_up: [Equity 101 for Startup Employees](https://blog.esharesinc.com/equity-101-stock-option-basics/) +- :page_facing_up: [Equity 101 for Startup Employees](https://blog.carta.com/equity-101-stock-option-basics/) - :book: [Cracking the Coding Interview: 189 Programming Questions and Solutions](https://www.goodreads.com/book/show/25707092-cracking-the-coding-interview) - :fire: [Everything you need to know to get the job](https://github.com/kdn251/interviews) - :book: [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook) -- :page_facing_up: [Teach Yourself Programming in Ten Years](http://norvig.com/21-days.html) +- :page_facing_up: [Teach Yourself Programming in Ten Years](https://norvig.com/21-days.html) - :page_facing_up: [What you should know as a founder of a software company](https://qotoqot.com/blog/founder-skills/) @@ -135,6 +136,9 @@ But knowing the stuff will help you become better! :muscle:* - :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) +### Open Source +- :globe_with_meridians: [An Intro to Git and GitHub for Beginners](https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners) + ### Remote Work - :globe_with_meridians: [Remote Work List for Developers](https://github.com/georgemandis/remote-working-list) - :zap: [NomadList](https://nomadlist.com/) @@ -148,7 +152,7 @@ But knowing the stuff will help you become better! :muscle:* - :movie_camera: [Making Badass Developers](https://www.youtube.com/watch?v=FKTxC9pl-WM&t=2s) - :page_facing_up: [The Ten Rules of a Zen Programmer](https://www.zenprogrammer.org/en/10-rules-of-a-zen-programmer.html) - :page_facing_up: [The mythical 10x programmer](http://antirez.com/news/112) -- :page_facing_up: [The Debugging Mindset](http://queue.acm.org/detail.cfm?id=3068754) +- :page_facing_up: [The Debugging Mindset](https://queue.acm.org/detail.cfm?id=3068754) - :movie_camera: [The Future of Programming](http://worrydream.com/dbx/) ### Problem Solving @@ -176,6 +180,7 @@ But knowing the stuff will help you become better! :muscle:* - [Without Coding](https://www.producthunt.com/@jurica87/collections/without-coding) - [Simpleicons](https://simpleicons.org/) - [Learn Anything](https://learn-anything.xyz/) +- [repl.it](https://repl.it/) ### Licenses - [Choose An Open Source License](https://choosealicense.com/) @@ -183,24 +188,28 @@ But knowing the stuff will help you become better! :muscle:* ### Where To Look For Further Info - [freeCodeCamp Guide](https://guide.freecodecamp.org/) -- [GeeksForGeeks](http://www.geeksforgeeks.org/) +- [GeeksForGeeks](https://www.geeksforgeeks.org/) - [Dev.To](https://dev.to/) - [Stack Overflow](https://stackoverflow.com/) +- [Dzone](https://dzone.com/) ### Coding Practice Sites :zap: - :link: [CodeForces](http://codeforces.com/) - :link: [CodeChef](https://www.codechef.com) +- :link: [Coderbyte](https://coderbyte.com/) - :link: [CodinGame](https://www.codingame.com/) - :link: [Cs Academy](https://csacademy.com/) - :link: [HackerRank](https://hackerrank.com/) - :link: [Spoj](https://spoj.com/) - :link: [HackerEarth](https://hackerearth.com/) - :link: [TopCoder](https://www.topcoder.com/) -- :link: [Codewars](http://codewars.com/) +- :link: [Codewars](https://codewars.com/) - :link: [Exercism](http://www.exercism.io/) - :link: [CodeFights](https://codefights.com/) - :link: [Project Euler](https://projecteuler.net/) - :link: [LeetCode](https://leetcode.com/) - :link: [InterviewBit](https://www.interviewbit.com/) - :link: [uCoder](ucoder.com.br) +- :link: [LintCode](https://www.lintcode.com/) +- :link: [CodeCombat](https://codecombat.com/)