be a selfish AND a caring programmer

This commit is contained in:
Wouter Groeneveld 2023-12-20 14:48:45 +01:00
parent 202b6317e5
commit 86f21e6020
1 changed files with 19 additions and 0 deletions

View File

@ -22,3 +22,22 @@ For example, I want to create a piece of software that tracks our daughter's wei
Justin did precisely that. By being a Selfish Programmer, making all the choices and mistakes himself, he wrote a small app to aid his Japanese learning path. By being selfish, he (re-)discovered the joy of making simple things, and, of course, learned a lot along the way. We software developers _have_ to be continuous learners; it's part of our job. The Selfish Programmer just happens to be exploring the more egocentric path.
I'll let Justin do the talking/convincing here. Go watch the talk. I assure you it'll be worth your precious time.
---
## But also be a Caring Programmer
Vlad-Ștefan Harbuz' [Caring Programmer Manifesto](https://vladh.net/manifesto) touches on similar topics that Selfish Programmers try to lay bare:
> We seem to have lost our understanding of what the computer is actually doing under all that code. We barely know how the dependencies we are `npm install`-ing work, let alone what the CPU is doing. More than that, if we had to develop, from scratch, one of these tools or frameworks that we use on a daily basis, we'd probably be lost.
The fact that so many similar ethical, philosophical, and technological concerns are popping up is not a coincidence. Perhaps the [From Nand to Tetris course](https://www.nand2tetris.org/), that has you build a modern computer from first principles, should be obligatory---especially for enterprise software people. Not just _back to basics_, but also back to _understanding_ and programming with _responsibility_.
Vlad-Ștefan suggests the following to be a caring programmer:
1. Profile your code and be unforgiving about performance.
2. Write your own code.
3. Understand that programming isn't magic.
4. Understand the lower-level technologies you are building your work on.
Read the manifesto yourself---after watching Justin's talk---and tell me what you think.