You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
every-programmer-should-know/CONTRIBUTING.md

87 lines
2.9 KiB
Markdown

## The Goal
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.
**No PR will be discarded without explanations!**
## Core Values
*Values are clickable*
<details><summary>Less is more! :muscle:</summary><p>
We :heart: simplicity.<br>
We :heart: essential stuff.<br>
We strive to have a smaller list of more valuable resources, quality over quantity.
</p></details>
7 years ago
<details><summary>We :heart: widely applicable knowledge/skills. </summary><p>
The world is not static. Everything changes.<br>
This is why we prioritize strategically valuable skills/knowledge.<br>
This is why there are so many philosophical resources in that list.
</p></details>
7 years ago
<details><summary>We do not add to stress/hype level :zap: </summary><p>
There are enough stress sources in everybody's lifes.<br>
We strive to be helpful without adding to the stress and creating hype.<br>
Most endless stream resources (forums, newsletters, blogs, communities) are noisy and create questionable value.<br>
Be mindful of that fact when adding resources.
</p></details>
<details><summary>Technology is always about human beings :man: :woman: :baby:.</summary><p>
We do not code in sake of coding. We code to solve other people's problems.<br>
This is why resources on soft skills are an essential part of that list.
</p></details>
## Guidelines
*Guidelines are clickable*
<details><summary>Do not add things you <b>have not evaluated</b> personally!</summary><p>
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?
</p></details>
<details><summary>Use reasoning based on our values.</summary><p>
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?
</p></details>
<details><summary><b>One item</b> per Pull Request.</summary><p>
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.
</p></details>
<details><summary>Do not open issues with resources, create a Pull Request instead!</summary><p>
It is just easier to discuss and decide on a resource within a Pull Request.
</p></details>
<details><summary>Use consistent set of resource type emoji</summary><p>
🎥 - Video/Talk
📖 - Book
📄 - Online article
📜 - Paper/Document
✅ - Checklist
</p></details>