My own personal compendium of (mostly free) Software Engineering related resources, both technical skills and soft skills.
There are an exceptional number of resoures and guides out there already. A lot of these guides are language specific, and things learned in one skill may not be transferable to another framework, language, job, or project. The idea is based off of the idea of evergreen skills and the goal is to curate a list of high-quality assets which are as language agnostic as possible, such that spending time with any one of these resources can benefit you no matter what project you are in, or where in your career you are.
This won't be an extensive list, and seeks to narrow down some the overabundance of resources available. Links to meta-resources and other curated lists will be provided for further study as there is a lot of benefit to these.
If you have any suggestions, feedback, or other resources you'd like to see please create a PR.
- https://norvig.com/21-days.html#answers
- https://www.scotthyoung.com/blog/ultralearning/
- https://www.coursera.org/learn/learning-how-to-learn
- https://www.amazon.co.uk/How-Apollo-Flew-Moon-Springer/dp/B08R45789Z/
- https://www.amazon.co.uk/Ignition-Informal-History-Liquid-Propellants/dp/B07CTVGZV7/ (https://www.reddit.com/r/spacex/comments/2z9hn7/ever_wonder_what_books_elon_read_prior_to/)
- https://www.amazon.co.uk/Future-Geography-Power-Politics-Change/dp/B0BGT76X1P/
- https://www.amazon.co.uk/Fundamentals-Astrodynamics-Second-Dover-Physics/dp/0486497046/
- https://www.destroyallsoftware.com/screencasts - Exceptional resource including screencasts, blog posts, and talks which can help anyone on the fundamentals
- https://github.com/ossu/computer-science - Open Source CS Degree
- https://github.com/kamranahmedse/design-patterns-for-humans - Design Patterns Simplified
- https://composingprograms.com/ - Composing Programs
- http://canonical.org/~kragen/memory-models/ - Memory Models
- http://aosabook.org/en/index.html - Architecture of Open Source Applications
- http://htdp.org/ - How to Design Programs
- https://github.com/donnemartin/system-design-primer - Systems Design
- https://missing.csail.mit.edu/ - Missing Semenster series on important tools, concepts any software will use
- https://github.com/romenrg/evergreen-skills-developers#non-technical-skills - Soft Skills and Thinking Skills i.e. Communication, Emapthy, Self-management Skills, Innovation Skills
- https://softskills.audio/ - Soft Skills Podcast
- https://ultraspeaking.com/ - Speaking without thinking, useful for Presentations, Communications, Knowledge Sharing
- https://cpojer.net/posts/the-nakazawa-management-starter-pack - Management Principles
- https://www.goodreads.com/en/book/show/23232941-soft-skills - Generic Soft Skills Book and Path to Follow
- https://app.pluralsight.com/course-player?courseId=4eaab1ed-cfab-49b4-8a2b-4f5fb6cff130 - Code Reviews
- https://www.goodreads.com/book/show/1471204.Developing_Talent_in_Young_People - Book on Developing Talent and Mentoring
- https://www.goodreads.com/book/show/796465.Cognition_in_Practice - Cognition in Practice
The kinds of books to keep on the shelf to make it look like you've read them.
- https://www.goodreads.com/list/show/542.Essential_Programming_Books - Overall List of Programming Books to read
- https://www.goodreads.com/list/show/8379.Software_Craftsmanship - More generic list of books on Crafting Software
- https://www.goodreads.com/book/show/5608045-apprenticeship-patterns - Apprenticeship Patterns
- https://www.goodreads.com/book/show/52935138-the-secret-life-of-programs - The Secret Life of Programs
- https://www.goodreads.com/book/show/4099.The_Pragmatic_Programmer - The Pragmatic Programmer
- https://github.com/HugoMatilla/The-Pragmatic-Programmer - Summary for The Pragmatic Programmer
- https://www.manning.com/books/the-programmers-brain - The Programmers Brain
- https://www.goodreads.com/book/show/4845.Code_Complete - Code Complete
- https://www.goodreads.com/book/show/3356509-the-complete-problem-solver - Complete Problem Solver
- https://www.goodreads.com/book/show/3828902-thinking-in-systems - Thinking in Systems
- https://www.goodreads.com/book/show/3735293-clean-code - Clean Code
- https://www.goodreads.com/en/book/show/2333956.The_Annotated_Turing - The Annotated Turing
The kinds of papers worth reading twice (or thrice)
- https://github.com/papers-we-love/papers-we-love - Community and discussion on academic papers
- https://monoskop.org/images/e/e0/Raymond_Eric_S_The_Cathedral_and_the_Bazaar_rev_ed.pdf - The Cathedral and the Bazaar
- https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/ - What Color is Your Function?
- https://people.math.harvard.edu/~ctm/home/text/others/shannon/entropy/entropy.pdf - A Mathematical Theory of Communication
- http://web.cecs.pdx.edu/~black/publications/TR_CSE_02-012.pdf - Traits: Composable Units of Behaviour
- https://pages.cs.wisc.edu/~remzi/Naur.pdf - Programming as Theory Building
- https://www.usenix.org/system/files/1311_05-08_mickens.pdf - The Night Watch
- http://curtclifton.net/papers/MoseleyMarks06a.pdf - Out of the Tar Pit
- https://bibliography.selflanguage.org/_static/programming-as-experience.pdf - Programming as an Experience: The Inspiration for Self
- https://www.win.tue.nl/~wstomv/edu/2ip30/references/criteria_for_modularization.pdf - On the Criteria To Be Used in Decomposing Systems into Modules
- https://www.cs.cmu.edu/~crary/819-f09/Landin66.pdf - The Next 700 Programming Languages
- https://arxiv.org/pdf/1904.09225.pdf - Studying Attitudes and Social Norms in Agile Software Development
- https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm - Architectural Styles
- https://trs.jpl.nasa.gov/bitstream/handle/2014/41696/08-0125.pdf - Fault Protection Fundamentals
- https://arxiv.org/pdf/1904.09954.pdf - Why Software Projects need Heroes
- http://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf - Reflections on Trusting Trust
- https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf - On Computable Numbers
- https://github.com/papers-we-love/papers-we-love/blob/master/api_design/api-design.pdf - The Little Manual of API Design
- https://web.media.mit.edu/~minsky/papers/Why%20programming%20is--.html - Why Programming Is a Good Medium for Expressing Poorly Understood and Sloppily Formulated Ideas
- https://github.com/papers-we-love/papers-we-love/blob/master/comp_sci_fundamentals_and_history/early-lisp-history-1956-1959-herbert-stoyan-html-rendering.pdf - Early LISP History
- https://github.com/papers-we-love/papers-we-love/blob/master/comp_sci_fundamentals_and_history/hints-for-computer-system-design.pdf - Hints for Computer System Design
- https://github.com/EbookFoundation/free-programming-books/blob/main/casts/free-podcasts-screencasts-en.md
- https://github.com/kilimchoi/engineering-blogs - List of all blogs
- https://www.joelonsoftware.com/ - Joel on Software Blog
- https://blog.danslimmon.com - Dan Slimmon's Blog (More Related to SRE)
- https://devhell.info/ - Dev Hell Blog
- https://simpleprogrammer.com/ - Simple Programmer Blog
- https://www.ee.ryerson.ca/~elf/hack/index.html - Hacker's Wisdom Blog
- https://martinfowler.com/ - Martin Fowler's Blog
- https://blog.codinghorror.com/ - Coding Horror Blog
- https://cedwards.xyz/ - Connor's Blog
- http://lambda-the-ultimate.org/ - Programming Languages Blog
- https://www.youtube.com/c/funfunfunction - FunFunFunction YouTube Channel
- https://docs.microsoft.com/en-gb/shows/ - Microsoft Archives talks and videos, from basic to more specific
- https://github.com/learn-anything/podcasts - List of all podcasts
- https://www.programmingthrowdown.com/ - Programming Throwdown Podcast
- https://www.codingblocks.net/ - Coding Blocks Podcast
- https://changelog.com/podcast - The Changelog Podcast
A collection with no real order of specific blog posts, guides, other resources I've found interesting and relevant
- https://sijinjoseph.netlify.app/programmer-competency-matrix/
- https://www.empowerapps.show/36 - Upgrading Skills
- https://myprogrammingblog.com/2018/10/17/programming-learned-faster-7-tips/
- https://blog.jameslieu.co.uk/why-you-should-keep-a-programming-journal?source=newsletter
- https://jvns.ca/blog/2021/06/08/reasons-why-bugs-might-feel-impossible/
- https://henrikwarne.com/2021/06/15/on-comments-in-code/
- https://www.komododigital.co.uk/insights/react-and-react-native-design-patterns-solid-principles
- https://blog.testdouble.com/posts/2013-08-29-great-technical-talks/
- https://www.romenrg.com/blog/2018/12/29/what-makes-a-great-software-engineer/
- https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/
- http://blog.stephenwyattbush.com/2012/04/07/dad-and-the-ten-commandments-of-egoless-programming
- https://skamille.medium.com/an-incomplete-list-of-skills-senior-engineers-need-beyond-coding-8ed4a521b29f
- https://cloud.google.com/blog/products/application-development/rest-vs-rpc-what-problems-are-you-trying-to-solve-with-your-apis
- https://nullprogram.com/
- https://www.coursera.org/learn/learning-how-to-learn - Guide on Learning how to Learn, one of the most popular online courses
- https://teachyourselfcs.com/
- https://www.freecodecamp.org/learn/ - Adding this in here as DS & A is never a bad investment, and the range of practices is astounding
- https://www.pluralsight.com/authors/codemash-conference - Annual conference with quality talks on current practices, methodologies and technology trends across various development languages
- https://roadmap.sh/ - Developer Roadmaps for a structured approach to various development paths, including generic guides for Frontend, Backend, and DevOps, and more specific guides for frameworks and languages such as React, Go, AWS
- https://github.com/yangshun/tech-interview-handbook - Tech interview Guide
- https://metadevelopment.io/details - Metadevelopment Movement website
- https://www.executeprogram.com/ - Well-engineered Platform to learn a subset of languages e.g. SQL, JS, TS
- https://exercism.org/ - Language Specific Learning Platform
- https://github.com/Michael0x2a/curated-programming-resources/blob/master/resources.md - Curated Overall Resource list
- https://github.com/sdmg15/Best-websites-a-programmer-should-visit - Another list of websites
- https://github.com/P1xt/p1xt-guides - CS Curriculum
- https://github.com/mtdvio/every-programmer-should-know - Collection of Technical Knowledge
- https://learngitbranching.js.org/ - Git branching
- http://issuehub.pro/?label%5B%5D=beginner&language=javascript - Finding Open Source projects to contribute to
- https://0xax.gitbooks.io/linux-insides/content/ - Tutorial on Linux internals
- http://www.thinkmind.org/ - Industry-specific compendium of talks and conferences