Live data from Hacker News

Developers spend most of their time figuring the system out

lepiter.io

61–70 of 418 posts

Re: Developers spend most of their time figuring the system out

#61
post #19

People always struggle or avoid doing pair programming, and people always think it means that the developers' time now costs twice as much, but this is a total lie. When I worked at a place that did 100% pair programming with rotation every day, a new developer could hit the ground flying . Sitting next to someone who knows the system and can answer your question immediately means you get up to speed millions of time…

If you worked at a place that did 100% pair programming, anyone who couldn’t succeed at pair programming would be filtered out. Personally, whether or not I can do pair programming has a lot to do who I’m working with, what I’m doing, and what kind of day I’m having. The same thing goes for test-driven development. I have ADHD and short-term memory issues. This causes me to work by feel on some tasks because I don’t…

Text is linear. Would drawing be an easier method for you to explain something? It often is for me.

Re: Developers spend most of their time figuring the system out

#62
post #23

Earlier quoted context omitted.

You don't think this depends at all on the particulars of the developer(s)? E.g. their personalities, experience, skill level?

The studies I've seen about pairing show that it's OK for beginners or lower-skill developers, but absolutely less productive for expert/senior developers. So yes, you're correct.

There are high-profile cases of world-class developers pairing: https://www.newyorker.com/magazine/2018/12/10/the-friendship...

Re: Developers spend most of their time figuring the system out

#63

Earlier quoted context omitted.

That paper is amazing. Completely changed my view on programming. For those who find it a bit inaccessible (as I did on my first read), I wrote an article about it a while back, explaining it further and giving real-life examples: https://hiringengineersbook.com/post/autonomy/

Nice article, I enjoyed reading it.

Thanks! :-)

Re: Developers spend most of their time figuring the system out

#64
post #56

This seems like a really, really good justification for the Rails Way of having a sane and predictable app file structure and layout where developers who have never seen your code before can jump in on day one and figure things out very quickly. Would love to see more web frameworks adopt this opinionated methodology to save us all some time.

It's getting so far from the original web coding I did in 1995 where you had a .html file, to modern frameworks where 99% of the underlying code is in a hidden file nested 17 levels deep that is an interface to a virtual class that exists only in the imagination of the framework creator.

Re: Developers spend most of their time figuring the system out

#65
post #59

Earlier quoted context omitted.

There are other benefits, pair programming reduces a whole category of simple bugs/typos to basically 0, keeps people on task, offers (literally) immediate feedback. Unlike most programming "best practices" or paradigms, there's actual empirical evidence that pair programming is "better". Fewer bugs, easier to read code, shorter review cycles. My guess as to why we don't see more adoption is 1) most developers aren't…

Can you provide this evidence?

https://tuple.app/pair-programming-guide/scientific-research...

Re: Developers spend most of their time figuring the system out

#66

You mean it's not like TV, where the code flows out of my fingertips for many lines and then magic happens?

No, it's exactly like that for me. Personally, I code everything in vertical lines of green hex on a black background.

Re: Developers spend most of their time figuring the system out

#67
post #4

Relevant to this article is Peter Naur's paper on Programming as Theory building: https://pages.cs.wisc.edu/~remzi/Naur.pdf He argues that the biggest determinant on whether maintainers on a system they did not build will succeed is whether they will have access to the original developers: "The conclusion seems inescapable that at least with certain kinds of large programs, the continued adaptation, modification, and…

That paper is amazing. Completely changed my view on programming. For those who find it a bit inaccessible (as I did on my first read), I wrote an article about it a while back, explaining it further and giving real-life examples: https://hiringengineersbook.com/post/autonomy/

>The main value of a software company is the mapping of source code and problem space in the developer’s heads [In linked article]

That is a profound conclusion to reach. For the most part, I think it's true.

Without someone who wrote/fully understands source code, for example in abandoned software, the source code is a treasure map, the as-built plan of a building. It takes a lot of time and effort to orient yourself with things and make reasonable guesses as to what is going on. This aligns well with the original post.

Re: Developers spend most of their time figuring the system out

#68

Earlier quoted context omitted.

If you worked at a place that did 100% pair programming, anyone who couldn’t succeed at pair programming would be filtered out. Personally, whether or not I can do pair programming has a lot to do who I’m working with, what I’m doing, and what kind of day I’m having. The same thing goes for test-driven development. I have ADHD and short-term memory issues. This causes me to work by feel on some tasks because I don’t…

Text is linear. Would drawing be an easier method for you to explain something? It often is for me.

You waste your time managing visual presentation (more so than 1D text). Schematic entry used to be commonplace for FPGA and ASIC development in the 90s. The industry has mostly moved to HDLs for digital logic because it is more productive and you get side benefits like revision control, easier reusability, and tooling independence. Anyone promoting 2D visual development for programming is selling snake oil.

Re: Developers spend most of their time figuring the system out

#69

Earlier quoted context omitted.

There are other benefits, pair programming reduces a whole category of simple bugs/typos to basically 0, keeps people on task, offers (literally) immediate feedback. Unlike most programming "best practices" or paradigms, there's actual empirical evidence that pair programming is "better". Fewer bugs, easier to read code, shorter review cycles. My guess as to why we don't see more adoption is 1) most developers aren't…

I don't mind pair programming but I don't have the physical/mental capacity to do it for a full work day. I can only imagine how exhausted I'd get after several weeks of it. When I do pair, I only work for 3 or 4 hours that day total.

3 or 4 is just fine. I worked at a place that only did pair programing, but quite often we would break up to write docs fill out jira issues and do all the other stuff that's needed. Recently we did 3 way programming once a week for 1 to 3 hours and it still had a lot of the benefits. Not sure being absolutist is a good approach to anything in our field.

Re: Developers spend most of their time figuring the system out

#70

Earlier quoted context omitted.

If you worked at a place that did 100% pair programming, anyone who couldn’t succeed at pair programming would be filtered out. Personally, whether or not I can do pair programming has a lot to do who I’m working with, what I’m doing, and what kind of day I’m having. The same thing goes for test-driven development. I have ADHD and short-term memory issues. This causes me to work by feel on some tasks because I don’t…

Text is linear. Would drawing be an easier method for you to explain something? It often is for me.

Not really. But I’m glad you asked!

Google “crazy conspiracy board meme” and you’ll have a good analogy for what’s happening. If I start writing it down, things randomly disappear from board. Which requires me to look at the gaps and fill in the blanks.

You can imagine what this looks like from the outside. My dad has interrupted me so many times with “get to the point” and the only response I have is “working on it.”

The funny thing is… I’m an author and prefer to work with text.

Post reply on HN