NorikiTech Chaotic Software Development™

Reverse Curse of Knowledge

The “curse of knowledge” is a common term when we hear about teaching beginners. The experts expect the newcomers to the field to know way more than they actually do. The professionals have forgotten what it’s like to be new.

To have the curse of knowledge, then, is to consider simple what many people find hard or impenetrable. You’re stricken with the curse of knowledge if you think “that’s obvious” about sizable chunks of your field, or “I thought everyone knew that.” No, my dear, if everyone knew that you’d be out of a job.

“A Tour of C++” and “C++ Best Practices”

I followed my own advice from “How to Get Back Into C++” and read two books from the list, Bjarne Stroustrup’s “A Tour of C++” and Jason Turner’s “C++ Best Practices.” Both are short (256 and 130 pages) and concrete. I managed to read both in a day.

How to Get Back Into C++

Historically all my side projects are in different languages since I either learn a new language to do a side project, or that language is particularly suitable for the task. Apple Swift has been my main working language for many years—unfortunately it isn’t useful outside the Apple ecosystem. Besides, learning new languages is fun. In the recent years I have been drifting more to the languages that I can start learning and using once, and then come back months or years later, and keep doing what I was doing—because that is how I do my side projects. I work on a project for a while, and then often don’t touch it for a year or more.

Content Plan for 2022

Hey, it’s Yuri! Hope you’ve had a great New Year’s celebration and are excited for what comes ahead. I didn’t do a great job of posting on NorikiTech in 2021 because of the (unexpected) work commitments—that’s startup work for you. Anyway, in 2022 that will not hold me back since I’ll be on my own again and I intend to post much more than before. The two primary programming projects that I’ll be working on^W^W shipping in 2022 are Hayaku, my Japanese speedreading game that I’ve started way back in 2018, and DDPub, a publishing “platform” to directly create websites from a Zettelkasten note collection (the domain is inactive at the moment).

How I learn SwiftUI

SwiftUI is Apple’s new(ish) “cross-platform” UI framework becoming dominant for new development on iOS, and now viable on macOS.

I started writing Swift in 2014 when it just came out (here’s my first non-toy app on GitHub), but I didn’t yet use SwiftUI. It was too new for commercial work in early 2020, and later I was learning other languages.

Here are the resources I use to learn SwiftUI for work in 2021. Last updated March 19, 2021.

SICP

I recommend “Structure and Interpretation of Computer Programs” (by Harold Abelson and Gerald Jay Sussman with Julie Sussman) for computer science basics based on other developers’ opinions, but I’ve never gone through the whole book myself, which makes my advice a bit disingenious.

Why not follow through, take my own medicine and do all 356 exercises? Current progress: 15/356 exercises. (Last updated: March 1, 2021.)

Get Your PR Merged: Quicker Code Review When the Project Is New (to You)

Junior software engineers receive many comments on their pull requests—often about how their code looks and other minor issues like having unused imports—and have to do additional fixes before the team does a “real” code review. Developers who are more experienced, newly assigned to unfamiliar teams and projects, have trouble making the reviewers focus on what the code does rather than remark that they’re unhappy with the usage of a less-popular functional operator.

How do you anticipate the (unexpected) questions about minor details you haven’t thought about that seem to be more important than all the other details that you specifically have, and have mentioned them in the PR description? How do you shift the conversation to the structure and the construction of your code, and how you can improve?

AppForce1 Podcast Special

Jeroen Leenarts, the host of the AppForce1 podcast, invited me to record a special episode in early November, while I was still writing my book. We recorded the interview in late December 2020, when the book just came out, and Jeroen published the episode (after much editing—sorry!) in late January 2021. That was a long wait!

You can listen to this special episode on BuzzSprout and hey, while you’re at it, consider subscribing to Jeroen’s podcast (if you’re into this sort of thing). I don’t listen to podcasts, but Jeroen has interviewed some big names in iOS, and the interviews are fun and personal.

A Book, Written: 50,000 Words in 50 Days

I created a blank document on November 2nd and published my book “Junior to Senior: How to Level Up as a Software Engineer” on December 21st 2020, exactly 50 days later. This initial version of the book is 52,660 words (the PDF file is 135 pages).

Here’s why and how I did it.