diff --git a/content/post/2022/05/my-programming-language-odyssey.md b/content/post/2022/05/my-programming-language-odyssey.md index 268a9467..ee3b031b 100644 --- a/content/post/2022/05/my-programming-language-odyssey.md +++ b/content/post/2022/05/my-programming-language-odyssey.md @@ -5,7 +5,7 @@ categories: - programming - learning tags: - - programming langauges + - programming languages - html - Java - Elixir diff --git a/content/post/2023/10/whats-the-best-programming-language-for-a-cs1-course.md b/content/post/2023/10/whats-the-best-programming-language-for-a-cs1-course.md index 44dca89a..c41d302c 100644 --- a/content/post/2023/10/whats-the-best-programming-language-for-a-cs1-course.md +++ b/content/post/2023/10/whats-the-best-programming-language-for-a-cs1-course.md @@ -6,7 +6,7 @@ categories: - programming tags: - cs1 - - programming langauges + - programming languages - c++ - java - python diff --git a/content/post/2023/12/be-a-selfish-programmer.md b/content/post/2023/12/be-a-selfish-programmer.md new file mode 100644 index 00000000..1c3c5a03 --- /dev/null +++ b/content/post/2023/12/be-a-selfish-programmer.md @@ -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. diff --git a/content/post/2023/12/my-ideal-scripting-language.md b/content/post/2023/12/my-ideal-scripting-language.md index b2dc4bf3..1ba6a3aa 100644 --- a/content/post/2023/12/my-ideal-scripting-language.md +++ b/content/post/2023/12/my-ideal-scripting-language.md @@ -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. diff --git a/content/post/2023/12/what-i-learned-from-advent-of-code-2023.md b/content/post/2023/12/what-i-learned-from-advent-of-code-2023.md index 08afd9d2..2f184873 100644 --- a/content/post/2023/12/what-i-learned-from-advent-of-code-2023.md +++ b/content/post/2023/12/what-i-learned-from-advent-of-code-2023.md @@ -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. diff --git a/static/img/yt/XvQxfMBp50k.jpg b/static/img/yt/XvQxfMBp50k.jpg new file mode 100644 index 00000000..5fcec040 Binary files /dev/null and b/static/img/yt/XvQxfMBp50k.jpg differ