└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Dev Articles [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 2 | 3 | A curated list of articles selected by the ESSS Dev team. 4 | 5 | Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. 6 | 7 | ## Articles 8 | 9 | ### Basic 10 | 11 | * [Empty - The Codeless Code](http://thecodelesscode.com/case/6) - Qi 12 | * [How to Make Your Code Reviewer Fall in Love with You](https://mtlynch.io/code-review-love/) - Michael Lynch 13 | * [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) - Chris Beams 14 | * [Steps to better code](https://medium.com/@isaaclyman/steps-to-better-code-e6c3cce0c7f9) - Isaac Lyman 15 | * [The Biggest Mistake I See Engineers Make](https://thezbook.com/the-biggest-mistake-i-see-engineers-make) - Zach Lloyd 16 | * [The Grug Brained Developer](https://grugbrain.dev/) - _unknown author_ 17 | * [The Opposite of Fitts' Law](https://blog.codinghorror.com/the-opposite-of-fitts-law/) - Jeff Atwood 18 | * [The Little Book of Python Anti-Patterns](https://quantifiedcode.github.io/python-anti-patterns/) - QuantifiedCode 19 | * [The most critical Python code metric](https://stevedower.id.au/blog/most-critical-python-metric) - Steve Dower 20 | 21 | ### Intermediary 22 | 23 | * [Flaky tests](https://docs.pytest.org/en/stable/explanation/flaky.html) - pytest documentation 24 | * [Design in Construction](http://aroma.vn/web/wp-content/uploads/2016/11/code-complete-2nd-edition-v413hav.pdf#page=110) - Chapter 5 of Steve McConnell's book "Code Complete" 25 | * [How to do a code review](https://google.github.io/eng-practices/review/reviewer) - Google Engineering Practices Documentation 26 | * [Move Fast and Fix Things](https://githubengineering.com/move-fast/) - Vicent Martí 27 | * [Python API Checklist](https://devchecklists.com/checklist/python-api-checklist/en) - Flávio Juvenal da Silva Junior 28 | * [Python Design Patterns](https://python-patterns.guide) 29 | * [PyQt Gotchas](https://stefanoborini.com/pyqt-gotchas/) - Stefano Borini 30 | * [SOLID principles in Python](https://realpython.com/solid-principles-python) - Real Python 31 | * [Writing Python like it is Rust](https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html) - Kobzol's blog 32 | 33 | ### Advanced 34 | 35 | * [Notes on structured concurrency, or: Go statement considered harmful](https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statement-considered-harmful/) - Nathaniel J. Smith 36 | * [Lessons from 6 software rewrite stories](https://medium.com/@herbcaudill/lessons-from-6-software-rewrite-stories-635e4c8f7c22) - Herb Caudill 37 | * [Timeouts and cancellation for humans](https://vorpus.org/blog/timeouts-and-cancellation-for-humans/) - Nathaniel J. Smith 38 | 39 | ### Culture 40 | 41 | * [Code culture problem](http://fraustollc.com/blog/shit_code/) - Nolan Frausto 42 | * [How To Write Unmaintainable Code](https://web.archive.org/web/20171224114025id_/https://www.thc.org/root/phun/unmaintain.html) - Roedy Green 43 | * [Python Culture](https://svn.python.org/projects/sandbox/trunk/dev/culture.rst) - python.org historic document 44 | * [TechnicalDebt](https://martinfowler.com/bliki/TechnicalDebt.html) - Martin Fowler 45 | * [The Joel Test: 12 Steps to Better Code](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/) - Joel Spolsky 46 | * [The Ugly American Programmer](https://blog.codinghorror.com/the-ugly-american-programmer/) - Jeff Atwood 47 | * [Top 7 programmers bad habits](https://web.archive.org/web/20110803100310/http://www.makinggoodsoftware.com/2011/05/23/top-7-programmers-bad-habits) - Alberto Gutierrez 48 | * [When Good Software is Enough](https://www.liamwho.com/wp-content/uploads/When-Good-Enough-Software-Is-Best.pdf) - Edward Yourdon 49 | 50 | ### Communication 51 | 52 | * [The XY Problem](https://xyproblem.info/) 53 | * [No Hello](https://nohello.net/) 54 | 55 | ## Talks 56 | 57 | * [Inventing on Principle](https://www.youtube.com/watch?v=PUv66718DII) - Bret Victor 58 | * [The End Of Object Inheritance & The Beginning Of A New Modularity](https://youtu.be/3MNVP9-hglc) - Augie Fackler & Nathaniel Manista 59 | * [The Naming of Ducks: Where Dynamic Types Meet Smart Conventions](https://www.youtube.com/watch?v=YklKUuDpX5c&list=WL) - Brandon Rhodes 60 | * [Transforming Code into Beautiful, Idiomatic Python](https://www.youtube.com/watch?v=OSGv2VnC0go&t=0s&list=PLRVdut2KPAguz3xcd22i_o_onnmDKj3MA&index=4) - Raymond Hettinger 61 | * [Write Less and Test More with Data Regression Testing](https://www.youtube.com/watch?v=YBuVGx3EYSY) - Igor T. Ghisi 62 | 63 | ## Books 64 | 65 | * [Architecture Patterns with Python](https://www.cosmicpython.com/) (a.k.a. Cosmic Python) - Harry J. W. Percival & Bob Gregory 66 | * [Fluent Python](https://www.oreilly.com/library/view/fluent-python/9781491946237/) - Luciano Ramalho 67 | 68 | ### How to Contribute 69 | 70 | The goal is to create a reading list of important articles for any developer. This is NOT a "pool of interesting articles" 71 | (otherwise, it'd grow endlessly). We can think in it more like a _must read_ list. To stick with this principle, we might 72 | limit the number of articles in the near future. 73 | 74 | Some criteria we used to create the list: 75 | 76 | 1. The article/talk is a well done summary of one or more good programming practices (e.g., [Steps to better code](https://medium.com/@isaaclyman/steps-to-better-code-e6c3cce0c7f9)) 77 | 2. The article/talk presents a very clever solution for some problem (e.g., [Move Fast and Fix Things](https://githubengineering.com/move-fast/)) 78 | 79 | To contribute, if you are outside ESSS Org, edit this file (you can do this through the GitHub UI), add the 80 | title/link/author in the correct position to keep the list sorted and submit the change as a PR. 81 | 82 | If you are inside ESSS Org, first share the article/talk via Chat or on Dev mailing list. If you get some thumbs up, submit the PR as explained above. 83 | --------------------------------------------------------------------------------