As a developer, my most important tools are a pen and a notebook
111–120 of 302 posts
Re: As a developer, my most important tools are a pen and a notebook
#112Calling a notebook the “most important tool” for a dev is pure romanticism. Useful for some, sure, but let's not pretend it outweighs a debugger, version control, or CI. This isn't craftsmanship cosplay, it's software engineering.
I agree with parent comment of notebook and pen being pure romanticism. I mean, heck, I'd rate Obsidian or some other back linking note software as more important than a notebook and pen. A sticky note and pen would be even more important than a notebook and pen.
Re: As a developer, my most important tools are a pen and a notebook
#113Calling a notebook the “most important tool” for a dev is pure romanticism. Useful for some, sure, but let's not pretend it outweighs a debugger, version control, or CI. This isn't craftsmanship cosplay, it's software engineering.
Finally someone had the guts to say it. I see the same arguments again and again that writing in a notebook makes you remember things better and think more thoroughly, but who exactly was tested here? Were people with an extensive and deeply personal Zettelkasten note taking system added as participants in the studies? What was their note taking process? Most people severely underutilize or even misuse their digital…
And even writing software I often make toss-away paper sketches; they help me see things in a way that make sense to me. Not replacing a computer, but complementing it. I would not push my method on everyone but it works for me. I also think similar techniques are fairly common. People discuss ideas verbally. They take walks to let brain take a different view, etc. My 2c.
Re: As a developer, my most important tools are a pen and a notebook
#114Calling a notebook the “most important tool” for a dev is pure romanticism. Useful for some, sure, but let's not pretend it outweighs a debugger, version control, or CI. This isn't craftsmanship cosplay, it's software engineering.
(Maybe it’s different in modern college classes now but wasn’t for decades.)
Re: As a developer, my most important tools are a pen and a notebook
#115Re: As a developer, my most important tools are a pen and a notebook
#116Re: As a developer, my most important tools are a pen and a notebook
#117Earlier quoted context omitted.
In a few years of my career now I never had to use a debugger or CI. Console debugging is good enough usually. On version control I agree.
I don't know you or your work. But I know (senior) developers that don't use a debugger and I've often noticed that when fixing a bug, they don't build a full mental model of what really goes wrong and often just fix the symptoms. Think "that shouldn't be null, we need a null check here" instead of "why is this value null? we should check here, but also make sure the caller works correctly."
Linus Torvalds:
> I don't like debuggers. Never have, probably never will. I use gdb all the time, but I tend to use it not as a debugger, but as a disassembler on steroids that you can program.
> I don't think kernel development should be "easy". I do not condone single-stepping through code to find the bug. I do not think that extra visibility into the system is necessarily a good thing.
> Oh. And sure, when things crash and you fsck and you didn't even get a clue about what went wrong, you get frustrated. Tough. There are two kinds of reactions to that: you start being careful, or you start whining about a kernel debugger.
> I happen to believe that not having a kernel debugger forces people to think about their problem on a different level than with a debugger. I think that without a debugger, you don't get into that mindset where you know how it behaves, and then you fix it from there. Without a debugger, you tend to think about problems another way. You want to understand things on a different _level_.
https://lkml.org/lkml/2000/9/6/65
And I agree. At least for me, print debugging goes a long way, and I'm already invested in building mental models about code. I think using a proper debugger has to be the last resort, because nothing else works and it's time to get into the ugly details. Two valuable avenues for producing good code are formal verification (and its ilk, such as specification) and horse sense/common sense, which combine to say that we should have rigorous mental models that impose on our code. That's the primary objective, to me. The use of tools such as debuggers is secondary, and in my experience, largely neutral or harmful. There's the classic caveat of "if your goal is to ship code fast, then this isn't practical", which is fair, but I have some things to say about shucking off that culture.
Re: As a developer, my most important tools are a pen and a notebook
#118For example, I recently stopped coding all the time and picked up a new hobby at night, writing. That simple change gave my brain a reset and actually improved the performance during the day. Same goes for planning: switching from digital to pen and paper breaks the routine and makes your brain engage differently. It’s less about the tool and more about how the change wakes you up.
Re: As a developer, my most important tools are a pen and a notebook
#119I understand the sentiment, but I don't get how you could draw more complex software plans by hand. I usually use Draw.io/Diagrams.net, and the drawings get pretty large and need reorganizing dozens of boxes several times while planning the architecture. OTOH if the plan is very simple and obvious, and can be drawn out in one go, it doesn't really need a diagram in the first place, so I skip spending time drawing the…
I never use paper because I'm always moving these bullet points around and inserting stuff between them. Apps are too slow.
I never write down all the information because these notes are enough for me to reload everything. It's pretty easy to see that I didn't write something when there's a gap in my notes. I never wrote it down because I'm going to come up with the same or better solution quickly.
This isn't really helpful for anyone else and doesn't work well with pair programming.
Re: As a developer, my most important tools are a pen and a notebook
#120Calling a notebook the “most important tool” for a dev is pure romanticism. Useful for some, sure, but let's not pretend it outweighs a debugger, version control, or CI. This isn't craftsmanship cosplay, it's software engineering.
In a few years of my career now I never had to use a debugger or CI. Console debugging is good enough usually. On version control I agree.