Live data from Hacker News

Developers spend most of their time figuring the system out

lepiter.io

261–270 of 418 posts

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

#261
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…

My god, I am in the position right now where I basically have to screw around by myself in order to figure the system out. It is hell....

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

#262

Earlier quoted context omitted.

As someone also with ADHD, I can relate in a lot of these respects. The idea of doing pair programming every fucking day would ruin me. I really don't mind collaborating or discussing with people, because I think that's what our brains are great for, but not in the pair programming sense, and not every day. In my last job, I was very open about this, but my manager seemed to basically brush it off and pull up a chair…

> By chance, do you struggle with eating sounds in offices to the point where you panic? Not to be rude, but the stereotype of the software developer is fast becoming one of fragility. A low wage worker spending their day working a fryer or a guy at a construction site would be thrilled to have such working conditions to where their biggest problem is someone eating too closely while making $100k+ per year in the air…

I find it far easier to program in an automotive shop (banging, yelling, loud revving, etc) than in an open office next to someone slurping food every twenty seconds. Well, that's unfair, as in the former I had almost no problems getting into flow. I expect it's similar for people who like working in coffee shops.

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

#263
Which is why as a code reviewer the legibility of the system is my top priority. I don't even care if the code works that'll come out in testing. I care if I can look at each section and understand what it's doing and why.

And I'm utterly flabbergasted how many developers don't understand this.

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

#266

Earlier quoted context omitted.

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.

Pair programming is one of the smartest inventions in this field, but I wouldn't dream of advocating it for this reason. The best model would be four hours of pair programming and another four of paying those programmers to take a long lunch, a nap and a walk. Those 4 keyboard-hours would probably be as productive as 16 keyboard-hours of the same programmers working independently for a full day, if not more. And unli…

Maybe the best for you. I enjoy a couple/few hours of teaming up or conversation, and then a heavy rest of the day solid coding/planning/research with a lunch break and a few short water cooler meetings.

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

#267

Earlier quoted context omitted.

That just can't be more productive over the long term, though. Lets say, hypothetically, that you can use it to ramp any programmer up to being an expert on the system. Maybe that takes two months? Or even six months? Once you have a team full of experts, you're now spending two programmer hours to do every bit of work that could have been done in one programmer hour by a single expert. Unless you have such incredibl…

True expertise on a large, complex code base does not just take a few months; competence is best modeled as growing over long timespans, not as something that quickly reaches an "expert"-level ceiling. This is all the more true when-- as is often the case-- the codebase is a complicated legacy thing, full of accumulated "technical debt" and unneeded complexity of all sorts. This is not to say that 100% pair programmi…

This is exactly what I'm currently jumping into as a 'new' dev. I've been coding for about 3-4 years, am working on an ANCIENT php in-house ERP (we're still running v5!), and find the technical debt/unneeded complexity more shocking by the day. I've been in this position 3 months and feel like I've barely even scratched the surface of what is going on under the hood.

Teaming up for training is absolutely crucial at this time.

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

#268
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…

I too have an attention deficit and bad memory (this is why I hate interviews where you are asked to recite concepts and textbooks definitions, framework functions with parameters and so on). I get over it by understanding the concepts, understanding the big picture and researching today what I just forgot two months ago.

I think you are mistaking in believing you have trouble explaining because you use a different thought process.

For almost everyone of us, figuring a complex system means you deconstruct the system in small pieces, understand the small pieces, construct the system again in your mind along with making a kind of mind diagram about how it works. But when it comes to explain to others you use a different process than you used to figure it out. You already have that mind diagram, so you proceed like in most text books or in articles by already providing the big picture and going in details only when you feel is needed.

I also write good code, but it doesn't have anything to do with attention or memory. You write good code because you believe it's important to have something that is working well and also will be readable and maintainable. And writing good code is something almost every programmer can do if the working environments permits - i.e. they are not valuing churning bad code fast over writing good, reliable code.

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

#269

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…

Thanks for posting this. Yesterday I came across a job position on a company that does 100% mob(!) programming everyday¹. This means every programmer works 6 hours per day on a zoom call with 2 other programmers, rotating roles between typist, navigator and support every ten minutes. I couldn't help but feel my soul being slowly crushed as I read further on their description of the daily activities. Needless to say,…

Seems a bit draconian to force mob programming onto every programmer everyday, but I also find the idea appealing if I was selecting the team & when to do it -- there are definitely teams & topics where I would find this flow productive & helpful! For example, we had a similar arrangement back when we were doing ACM programming competitions.

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

#270
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…

As an IC I had spend so much effort in knowing the system. My pointed hairy boss has to know how hard it is to know my value. The only way he knows is to compare with others who take similar or longer time to implement similar feature. With pair programming I will speed up my coworkers at the cost of my pointed hairy boss thinking my job is easier and I am the one who is less capable.
Post reply on HN