be a selfish AND a caring programmer
This commit is contained in:
parent
202b6317e5
commit
86f21e6020
|
@ -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.
|
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.
|
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.
|
||||||
|
|
Loading…
Reference in New Issue