the selfish programmer; fix typo in tags proglangs

This commit is contained in:
Wouter Groeneveld 2023-12-18 19:51:49 +01:00
parent ef5e9dea9c
commit dd4323b38f
6 changed files with 29 additions and 5 deletions

View File

@ -5,7 +5,7 @@ categories:
- programming
- learning
tags:
- programming langauges
- programming languages
- html
- Java
- Elixir

View File

@ -6,7 +6,7 @@ categories:
- programming
tags:
- cs1
- programming langauges
- programming languages
- c++
- java
- python

View File

@ -0,0 +1,24 @@
---
title: "Be A Selfish Programmer"
date: 2023-12-20T10:01:00+01:00
categories:
- programming
---
Justin Searls [over at Test Double](https://blog.testdouble.com/talks/2019-05-08-the-selfish-programmer/) gave a talk at RailsConf 2019 that really struck a chord here. I already [briefly mentioned the talk](/post/2023/12/november-2023) at the beginning of December but I feel that it's worth repeating here. Justin's summary perfectly sets the scene:
> This presentation is an exploration of the things programmers can learn by building an application by and for themselves—and the surprising number of lessons that might translate to their work on teams and larger organizations. It was based on my experience building the Japanese-learning site KameSame as a companion app to WaniKani.
Watch the talk (36 minutes) on YouTube:
{{< youtube XvQxfMBp50k >}}
In an age of ever-increasing complex _and_ complicated systems, we as enterprise software engineers sometimes simply un-learn how to make something small---and keep it that way. What if you had to build something to Scratch Your Own Itch tomorrow; which technologies and tools would you throw at the problem? The same as you daily use?
Because that would end up in a hopelessly over-engineered disaster.
For example, I want to create a piece of software that tracks our daughter's weight, mood, and days of sickness. Besides the fact that there are ample existing solutions for that problem, how should I approach this? By grabbing the Spring framework, throwing event sourcing on top of it, deploying the whole thing using Docker containers, provisioned by Kubernetes, flung on elastic cloud servers using Terraform scripts? My head hurts. Right, I don't think so either. But what if you simply don't know anything else? What if you never explored a _simple_ path that---gasp---perhaps isn't even web-based?
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.

View File

@ -4,7 +4,7 @@ date: 2023-12-08T20:51:00+01:00
categories:
- programming
tags:
- programming langauges
- programming languages
---
December marks the beginning of the countdown to Christmas, traditionally via Advent calendars. For us programmer nerds, a special one exists called [Advent of Code](https://adventofcode.com/) where each December day before Christmas we're treated with a challenging programming puzzle. This year a good friend convinced me to join in on the fun and so far I have been really enjoying these silly me-moments.

View File

@ -4,7 +4,7 @@ date: 2023-12-18T10:01:00+01:00
categories:
- programming
tags:
- programming langauges
- programming languages
- advent of code
---
@ -54,4 +54,4 @@ It is interesting to check out others' approaches to the daily challenges. On Ma
For me, the best part of Advent of Code was discussing the daily challenges and my approach with others. I learned more by checking out others' code than by writing my own. But then my friend went on a short holiday trip and fell behind. And yesterday I learned that another friend said _fuck it_ long before I did. We both want our code to work and can't put it down as long as the tests aren't green. That's great until it starts to feel like yet another stressful TODO item.
Advent of Code feels like an elimination race. A daily endurance run that, given all other things going on in life right now, I just can't keep up with. And that's okay. Next year I'll approach things differently. I won't care if I don't have the solution that same day, and I'll approach things more slower just to learn the syntax of another language. Perhaps I'll simply gather the assignments and do them in January and later, on my own pace.
Advent of Code feels like an elimination race. A daily endurance run that, given all other things going on in life right now, I just can't keep up with. And that's okay. Next year I'll approach things differently. I won't care if I don't have the solution that same day, and I'll approach things more slower just to learn the syntax of another language. Perhaps I'll simply gather the assignments and do them in January and later, at my own pace.

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB