Live data from Hacker News

Second Sock Syndrome

sheepamongwolves.net

1–10 of 36 posts

Re: Second Sock Syndrome

#2
Cache/archive/mirror: https://archive.is/jrQ4n#selection-727.0-731.211

In short:

> What is the Second Sock Syndrome?

> SSS usually refers to the inability to produce complete pairs of socks. Knitting the first sock usually goes quickly. But the second one seems to drag on, never gets completed or even cast on in the first place.

It's entirely a knitting blog, but surely this was posted here as it's a problem I know I face in all sorts of domains, including programming. Once the interesting part is figured out, finishing the project is the tough part.

Re: Second Sock Syndrome

#3
post #2

Cache/archive/mirror: https://archive.is/jrQ4n#selection-727.0-731.211 In short: > What is the Second Sock Syndrome? > SSS usually refers to the inability to produce complete pairs of socks. Knitting the first sock usually goes quickly. But the second one seems to drag on, never gets completed or even cast on in the first place. It's entirely a knitting blog, but surely this was posted here as it's a problem I know I…

It seems similar in name only to Second System Effect, from Fred Brooks.

The challenge for your second sock is to accurately repeat your process of the first one. The challenge of the second system--where you reimplement something from scratch maybe--is to keep the scope limited but you are trying to depart from the mistakes of the first one.

https://adamo.wordpress.com/2019/02/03/the-second-system-eff...

Re: Second Sock Syndrome

#4
While this is definitely a problem developers face, many of the solutions in this article only apply to socks. HN, do you have any tips for completing personal projects when they stop being fun?

Re: Second Sock Syndrome

#5
post #2

Cache/archive/mirror: https://archive.is/jrQ4n#selection-727.0-731.211 In short: > What is the Second Sock Syndrome? > SSS usually refers to the inability to produce complete pairs of socks. Knitting the first sock usually goes quickly. But the second one seems to drag on, never gets completed or even cast on in the first place. It's entirely a knitting blog, but surely this was posted here as it's a problem I know I…

This is valid for team paradigms— building a successful team requires understanding what is interesting to each candidate member and building the group where most product engineering falls under the different members’ ‘interesting’ slices

Re: Second Sock Syndrome

#6
The thing about knitting is that you can't avoid knitting that second sock. In technology, we can just build a machine that copies the first sock.

The problem we face is that it usually takes an order of magnitude more time to build that machine than to actually knit the second sock...

Re: Second Sock Syndrome

#7
The take-away for developers is perhaps this: There are a lot of ways to deal with the boring part of a job where there's not much new or creative stuff happening. Some are better than others.

I'd break the suggested strategies into a few general categories. You can be so intrinsically motivated that you never really encounter this problem in the first place (1). You can play psychological games to try and make it harder to lose interest (2, 3, 4, 8, 9). You can alter the workload in a way that makes it more interesting, but may cause quality to suffer (5, some 7, 10, 11, 12). You can rearrange the work in a way that actually creates more work, but also helps it stay interesting for longer (6, some 7, 10, 11, 12).

I find that those last two categories tend to go hand-in-hand in programming, too. So finding ways to help yourself just muscle through the boring part really is preferable in a professional setting.

OTOH, for fun projects, both sock knitting (and mittens) and development, I tend to go for those latter strategies. The corollary here is that I try not to knit socks for others, and you probably shouldn't take a dependency on anything I'm not getting paid to write.

Re: Second Sock Syndrome

#9
post #6

The thing about knitting is that you can't avoid knitting that second sock. In technology, we can just build a machine that copies the first sock. The problem we face is that it usually takes an order of magnitude more time to build that machine than to actually knit the second sock...

You build an abstraction layer, yes:

    knit.sock(.left)
However, your next roadblock would be the framework itself: you throw new tasks at it that it can't handle, you start adding more states and conditionals, more lambdas and/or polymorphism until it gets so ugly you start hating the framework (and yourself) and realize you will never finish it. Time for a big rewrite.

One of the essential skills in software engineering is the ability to carefully craft beautiful and minimalist abstraction layers that won't let you down.

Re: Second Sock Syndrome

#10
In SW development we try to avoid this by building a framework where the second instantiation comes at almost no extra cost. However, we have the problem where we start building the framework and then never solving the original problem...
Post reply on HN