Live data from Hacker News

Developers spend most of their time figuring the system out

lepiter.io

391–400 of 418 posts

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

#391

This only has an impact when we want to change a system. Coincidentally, the majority of our work is changing a system through addition of new functionality or maintenance. I've thought about this problem for a long time. The conclusion I've come to is that it happens because the code doesn't look like the domain. Domain language is often missing in the code the engineers are working with so when new changes are requ…

I very much concur with the view of programming being a projection of our understanding of something in the world (physical or otherwise) into executable code. Like you point out, much can be improved by eliminating the unnecessary dissonance between implementation and domain.

However, we can still do much more than that. Take your example of searching textually for a class / method. First, when we search by text we assume that code has no structure. Would it not be a significant optimization to have a search that allows you to be search semantically through your system?

Now, the problem is that a system is interesting from many different perspectives. - For example, a security issue is most likely going to be crosscutting the domain. When we look for it, we would like to see a projection of the system specifically for our problem. - Or take communicating with the domain specialists. Most often, that communication happens on the whiteboard. However, what is manually drawn on the whiteboard represents what the writer thinks, not necessarily what the system is. To see the system, we should want the system to draw itself on the whiteboard. Any manual intervention in this process introduces an interpretation that hinders the communication. So, we can start with writing on the whiteboard when the system does not exist, but as soon as it does exist, we should have the system draw its representation. That can enhance communication manyfold.

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

#392

Earlier quoted context omitted.

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,…

That kind of context switching sounds like it's horrible for just about everyone (including the business).

It's great at keeping both programmers 100% focused on the work, instead of on commenting on HN.

But it does quickly lead to exhaustion.

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

#393

This article seems like a motivational text for their tool: https://gtoolkit.com/ . Has anybody tried it?

Not quite. It's a motivational text for Moldable Development (https://moldabledevelopment.com). This is a way of programming through which programmers construct custom experiences for every single development problem. This is a significant departure from the typical development flow today, and Glamorous Toolkit is merely the arena in which to explore what is possible when thinking like this.

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

#394

For an environment that's supposed to be about making things easier to discover, the glamorous toolkit website is pretty useless. Lots of bragging about how great it as, and lots of unreadable screenshots that do not interest me enough to actually download and install the thing.

The environment aims to make systems easier to grasp for people that want to explore their inside. This is quite different from the marketing challenge of convincing one to download a tool after a few seconds :).

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

#395

Wow - is nobody else bothered by all the empty precision? 57.62% Comprehension, 23.96% Navigation... Even the piechart labeled "True effort required for many large-scale systems" says 7% of "effort" is Integration Test, and 8% in Module testing... Want to raise my hackles? Give me statements with lots of precision but lacking in documented (not to mention repeatable, reliable, or robust) accuracy. Convolved on this n…

Those numbers come from a peer-reviewed paper and it refers to the data they found in their specific experiment. It is not argued that those specific numbers appear in all cases. However, that data happens to be consistent with several other similar experiments done over the past 20+ years.

The rest of the short article builds an arguments based on the assumption that at least 50% of the development time is spent figuring the system out. If you find this assumption to be off base, please disregard the rest of it.

In any case, I'd encourage you to ask peer developers if they find that they spend 50% or more of their time reading textual artifacts as a way to figure the system out (code, logs etc).

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

#396
post #117

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…

I keep putting off getting a formal ADHD diagnosis, but this sounds a lot like me. :) My programming/thinking style is very instinctual and doesn't really fit any sort of linear style. I kind of put things together as I go, trusting my subconscious to get all the little details together. I can explain post hoc why I wrote something a certain way, but won't be able to do it beforehand.

I'm the same way and my commits reflect that. I've never stood how people could organize their commits in linear progression. I always squash my commits before merging because of this.

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

#397

> I see the flow of constructing custom tools during development, and, ideally, for every single development problem, as the next major leap in software development. I wish I could transmit this concept in my organization. 1) E2E tests as business requirements living documentation are the best first step any organization/project can make besides their tremendous technical value. At least remove the need from contribu…

Yes!

This is one of the areas we actively explored and validated against. For example, take a look at: https://vimeo.com/498735070

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

#398

More on topic, I've experimented some with Glamorous Toolkit, and I really liked what I saw of it, but (somewhat ironically), I need to dive more into its own model and understand it before I can use it for anything real. For example, I couldn't find docs on its display stack, so when I wanted to display a graph but with images instead of text for the nodes, I got stuck. Sure, I could dive into the code and eventuall…

I understand that it can feel uncomfortable to look into a system to know how to use it. However, Glamorous Toolkit is the first large case study of moldable development.

To this end, there are custom little tools inside (some ~2k of them) that help you in this exploration. For example, one of the first things we encourage people to learn when they start with GT is how to query the GT code from within GT.

Indeed, we are still to improve the onboarding experience. To this end, more recently, we added a book with live explanations. This is still a work in progress.

That said, GT should be approached as a language. One can do as much with basic hello world exercises, but to extract more value one has to go into deeper details.

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

#400

Earlier quoted context omitted.

Most, as far as I'm aware, since it's not required to do the work in almost all cases.

That’s not how that works at all. There’s clear precedent that employers are allowed to require specific degrees.

For certain (or certain kinds of) positions, yes. That's the "almost all" part.
Post reply on HN