BeyondCodeBootcamp / BeyondCodeBootcamp/beyondcodebootcamp

Creeds of Craftsmanship

Abierto
#18 20 comentarios 7 reacciones 1 asignado Reclamado por @coolaj86 Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
63
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

# The Creeds of Software Craftsmanship

These are perhaps the most important archeological documents of the 21st century.

- [The Grug-Brained Developer](https://grugbrain.dev/)
- Zen
- [**The Unix Philosophy**](https://en.wikipedia.org/wiki/Unix_philosophy#Origin)
- [**Zen of Python**](https://github.com/ewjoachim/zen-of-python) ([printable poster](https://github.com/ewjoachim/zen-of-python)) [[watch presentation](https://www.youtube.com/watch?v=zpKZ1bqmlHI)]
- [**Go Proverbs**](https://go-proverbs.github.io/) ([printable poster](https://github.com/BeyondCodeBootcamp/go-proverbs/)) [[watch presentation](https://www.youtube.com/watch?v=PAAkCSZUG1c)]
- [**Zen of Zig**](https://ziglang.org/documentation/master/#Zen)
- [**Axioms of AJ**](https://github.com/coolaj86/AJScript/issues/28)
- Rationalé
- [**The Prettier Rationale**](https://prettier.io/docs/en/rationale.html)
- [**DRY, WET & AHA**](https://kentcdodds.com/blog/aha-programming)
- [**The Agile Manifesto**](https://agilemanifesto.org/) (the real one)
- [**The 12 Factor App**](https://12factor.net/)
- [**The Laws of UX**](https://lawsofux.com/)
- [9 Pillars of Node.js](https://www.platformatichq.com/node-principles)
- [**The Rails Doctrine**](https://rubyonrails.org/doctrine/)
- other [programmer rationals](https://gist.github.com/coolaj86/9256619)
- [**The Pragmatic Programmer Tips**](https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/)
- [**The Testing Trophy**](https://kentcdodds.com/blog/the-testing-trophy-and-testing-classifications)
- Books
- [A Philosophy of Software Design by John Ousterhout](https://amzn.to/48k7XHZ)

Need to pull out some of the other creeds from here:
- https://gist.github.com/coolaj86/9256619

## Resources of Significant Importance

Here's a few more than don't quite fit the one-liner summary:

### Talks on Software Engineering

| The Zen of ~~Python~~ Programming | ([watch talk](https://www.youtube.com/watch?v=zpKZ1bqmlHI)) | (**Beyond Code**) |
| -------- | -------- | ------ |
| Crockford on JavaScript: The Better Parts | ([watch talk](https://www.youtube.com/watch?v=XFTOG895C7c&list=PLxki0D-ilnqbtvVf7xKP0gmIgp5UPS9hu&index=10)) | (**Yahoo!**) |
| Rob Pike on Software Engineering (in Go) | ([watch talk](https://www.youtube.com/watch?v=jgVhBThJdXc)) | (**Google**) |
| Dave Cheney on Software Engineering (in Go) | ([watch talk](https://www.youtube.com/watch?v=gi7t6Pl9rxE)) | (**Google**) |
| Simplicity is Complicated | ([watch talk](https://www.youtube.com/watch?v=rFejpH_tAHM)) | Rob Pike |
| Things in Go I Never Use | ([watch talk](https://www.youtube.com/watch?v=5DVV36uqQ4E)) | Mat Ryer |
| How I Write HTTP Web Services after Eight Years | ([watch talk](https://www.youtube.com/watch?v=rWBSMsLG8po)) | Mat Ryer |
| [Awesome Cold Showers](https://github.com/hwayne/awesome-cold-showers) | (article) | - |

### On Scaling

- StackOverflow's Engineering and Performance [see build & metrics](https://stackexchange.com/performance) ([wayback](https://web.archive.org/web/20250425195146/https://stackexchange.com/performance))
- StackOverflow Architecture [see blog](https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/) ([wayback](https://web.archive.org/web/20250425195619/https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/))
- StackOverflow Hardware [see blog](https://nickcraver.com/blog/2016/03/29/stack-overflow-the-hardware-2016-edition/) ([wayback](https://web.archive.org/web/20250425195545/https://nickcraver.com/blog/2016/03/29/stack-overflow-the-hardware-2016-edition/))
- StackOverflow Deployment [see blog](https://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/) ([wayback](https://web.archive.org/web/20250415193427/https://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/))

### On Dependencies

- Go with Versions ([watch talk](https://www.youtube.com/watch?v=F8nrpe0XWRg))
- [The Dangers of Dependencies](https://research.swtch.com/deps)
- [**In Defense of Not Invented Here**](https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/) ([archive.org](https://web.archive.org/web/20210917062259/https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/)) by Joel Spolsky (**StackOverflow**)

### On Critical Decisions

- [Mature Optimization](https://ubiquity.acm.org/article.cfm?id=1513451)
- [Toward Go 2](https://blog.golang.org/toward-go2) (In the face ambiguity, refuse the temptation to guess)

### Needs Sorting...

Need to tease some stuff out of this:
- https://twitter.com/Aimee_Knight/status/1250926274459119616
- **REST**

## Contemporary Bonuses

This one is too contemporary and specific to belong among the Creeds of Craftsmanship, but it certainly illuminates a type of problem that has come before and will come again. I'm just not sure how to tease it out into a distilled, more generic form.

- [CryptoCurrency is an Abject Disaster](https://drewdevault.com/2021/04/26/Cryptocurrency-is-a-disaster.html)
- [The Fundamental Problem With Blockchain Tech](https://andrewzuo.com/the-fundamental-problem-with-blockchain-tech-dfed932e30fa)
- [Who Killed Bitcoin (documentary)](https://www.youtube.com/watch?v=eafzIW52Rgc)

## Just Plain Good Talks, Ideas, etc

#### General

- (Problem Decomposition) | A Philosophy of Software Design | John Ousterhout | Talks at Google \
https://www.youtube.com/watch?v=bmSAYlu0NcY (author of Tk/Tcl)
- (Patient Refactoring) | All the Little Things | Sandi Metz | RailsConf 2014 \
https://www.youtube.com/watch?v=8bZh5LMaSmE
- (Constant Micro-Improvements) | The Effective Engineer | Edmond Lau | Talks at Google \
https://www.youtube.com/watch?v=BnIz7H5ruy0 (former Googler, startup junkie)
- (Emergent Design) | The Road to Zig 1.0 | Andrew Kelley \
https://www.youtube.com/watch?v=Gv2I7qTux7g
- (Design Patterns) | Why isn't Functional Programming the Norm? | Richard Feldman \
https://www.youtube.com/watch?v=QyJZzq0v7Z4&t=1192s

#### Go

See also: My List of [**Best Go Resources**](https://github.com/BeyondCodeBootcamp/beyondcodebootcamp/issues/19)

- Rob Pike's Google I/O 2010 - Go Programming [[watch](https://www.youtube.com/watch?v=jgVhBThJdXc)]
- [Tour of Go](https://go.dev/tour/)
- [Effective Go](https://go.dev/doc/effective_go)
- [YourBasic Go](https://yourbasic.org/golang/)
- [Go by Example](https://gobyexample.com/)
- Dave Cheney's Go Workshop [[watch](https://www.youtube.com/watch?v=gi7t6Pl9rxE)]

#### Zig

- (Emergent Design) | The Road to Zig 1.0 | Andrew Kelley \
https://www.youtube.com/watch?v=Gv2I7qTux7g
- ["What's a Memory Allocator Anyway? - Benjamin Feng"](https://www.youtube.com/watch?v=vHWiDx_l4V0)
- ["What's Zig got that C, Rust and Go don't have?"](https://www.youtube.com/watch?v=5_oqWE9otaE)

#### Rust

- ["The Book" - The Rust Programming Language](https://doc.rust-lang.org/book/) ([Amazon](https://amzn.to/3q6e1j4))
- [Rust for Rustaceans](https://nostarch.com/rust-rustaceans)
- [The Rust Design Patterns Book ](https://rust-unofficial.github.io/patterns/intro.html)
- [Traits and trait objects - more than just interfaces - Rust Community Stuttgart](https://www.youtube.com/watch?v=izXf9-CTAfc)

#### JavaScript

See also: My List of [**Best JavaScript Resources**](https://github.com/BeyondCodeBootcamp/beyondcodebootcamp/issues/20)

- **Crockford on JavaScript** ([Watch Full 9-Video Series](https://www.youtube.com/playlist?list=PLxki0D-ilnqbtvVf7xKP0gmIgp5UPS9hu))
- [Why `return await`](https://github.com/jshint/jshint/issues/3576)
- [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
- [Why `class` in JS is... terribad](https://www.toptal.com/javascript/es6-class-chaos-keeps-js-developer-up )

#### Databases

- [Scaling SQLite to 4m QPS on a Single Server](https://blog.expensify.com/2018/01/08/scaling-sqlite-to-4m-qps-on-a-single-server/)

#### Other

- [GitHub's Base62 token format](https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/)
- Battling Bottlenecks ["NTFS isn't that bad"](https://www.youtube.com/watch?v=qbKGw8MQ0i8)

#### vim

- [reddit's vimrc tips](https://www.reddit.com/r/vim/wiki/vimrctips)
- [reddit on tabstop](https://www.reddit.com/r/vim/wiki/tabstop)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.