Live data from Hacker News

Enterprise Software Projects Killed the Software Developer

javahippie.net

81–90 of 150 posts

Re: Enterprise Software Projects Killed the Software Developer

#81
This covers some points that were discussed on Hacker News in response to my essay "Why are large companies so difficult to rescue (regarding internal technology)".

If this interests you, then this old conversation might also interest you:

https://news.ycombinator.com/item?id=20260114

Re: Enterprise Software Projects Killed the Software Developer

#82
post #54

There was that interview with Peter Norvig - https://www.youtube.com/watch?v=_VPxEcT_Adc - I believe there he said something roughly like "before programming was about composing algorithms, structures etc. - and engineers used ideas from SICP - now it's about composing 3rd-party libraries and solutions - and engineers don't read manuals, don't worry about how systems work internally etc." Pardon if I stretched the me…

For anyone looking for a timestamp, that part starts around 37:12: https://youtu.be/_VPxEcT_Adc?t=2232

Great interview.

Re: Enterprise Software Projects Killed the Software Developer

#83
post #14

Elegant and clever code wont live through a maintenance cycle. I'll take a software developer who writes and structures code so change requests and code are written in a way that the DSL is the same across the organization. This makes changes easy. Clever people should be writing libraries or doing research. Don't kid yourself, you are either the guy who builds the building and its easy because its greenfield, or you…

For me elegant and clever means that 1) my code won't get in your way and 2) can be thrown away easily.

In return I ask a bit more time so I won't self-couple my code with introspection magic or make it undebuggable with weird dynamic design patterns nor will I make wormholes to so that A can communicate with B.

Deal?

Re: Enterprise Software Projects Killed the Software Developer

#85
post #54

There was that interview with Peter Norvig - https://www.youtube.com/watch?v=_VPxEcT_Adc - I believe there he said something roughly like "before programming was about composing algorithms, structures etc. - and engineers used ideas from SICP - now it's about composing 3rd-party libraries and solutions - and engineers don't read manuals, don't worry about how systems work internally etc." Pardon if I stretched the me…

ah, yes and no. You really can't know the internal workings of everything, it's not practical anymore. in other words: you can stand up a web site in less than an hour that will handle enormous loads across the globe, but not if you pause to read all the library code that goes into it. fortunately, humans are pretty good a having faith in things

As a self taught person who likes to dive deep, I’m starting to realize why I fall behind some dude that watched some YouTube videos, did leetcode and got a job somewhere.

I follow a tutorial and if I’m not understanding how the guy got to knowing that the property we should use in that scenario was X, I think I’m not understanding anything and that I won’t be able to build anything, so I halt trying to figure out, but I’m so inexperienced that I can’t understand the docs anyway.

What I should be doing is putting that code in my notes and moving on having faith in that code.

I was thinking of opening an Ask HN about “how much of your code do you actually fully understand vs how much is just copied from somewhere “

Re: Enterprise Software Projects Killed the Software Developer

#86
post #58

Earlier quoted context omitted.

Actually - I've found the "elegant properly engineered code" a total NIGHTMARE to deal with. Reflection, endless hierarchies, complexity on complexity. The PHP script kid basically writes a linear program (tons of duplication) with no crazinesses. Yes, it's "low quality", but if you do a few function out refactorings you've got something very easy to work with. I just wish there was a standard template - access check…

I think the hidden message in your comment is "duplication over abstraction" - and I agree! Often duplicating things is preferable to complicated abstractions.

Sandi Metz has a quote that was something like this "We don't tell me developers about avoiding duplication because it's so important, but because it's the only thing they understand".

Duplication is much better than the wrong abstraction

Re: Enterprise Software Projects Killed the Software Developer

#87
post #14

Elegant and clever code wont live through a maintenance cycle. I'll take a software developer who writes and structures code so change requests and code are written in a way that the DSL is the same across the organization. This makes changes easy. Clever people should be writing libraries or doing research. Don't kid yourself, you are either the guy who builds the building and its easy because its greenfield, or you…

I always wonder if people who talk like this have ever actually seen elegant and clever code.

Re: Enterprise Software Projects Killed the Software Developer

#88

Earlier quoted context omitted.

What if the NYTimes had journalists that described the news in their specific prose or worse, poetically. Speak plainly, it’s the news, report it as plainly and accurately as possible. Often many people like to attach mathematics and science to Software Engineering to signal elitism, but truthfully this profession is a lot closer to writing. Write clearly, first and foremost, and above all else. $outsourced_bodyshop_…

"Let's not use inheritance, it's complicated and could confuse programmers. Better to just copy-paste code." "Source control? I don't know, this git command line is a little bit too much. Let's just use zip files and email the source"

Inheritance is the worst method of code reuse ever invented. I virtually never use it, and whenever I do, I usually regret it later.

Re: Enterprise Software Projects Killed the Software Developer

#89
post #14

Elegant and clever code wont live through a maintenance cycle. I'll take a software developer who writes and structures code so change requests and code are written in a way that the DSL is the same across the organization. This makes changes easy. Clever people should be writing libraries or doing research. Don't kid yourself, you are either the guy who builds the building and its easy because its greenfield, or you…

The fix is to properly document your code. "Clever" code is an anti-pattern, but there's no need to make your code less elegant or less properly engineered than it otherwise could be. Hacked-together, low quality code is even less maintainable than "overly clever" code, so it's worth trying to avoid that.

> The fix is to properly document your code.

I disagree that is the fix. I've seen horrible code that has extremely extensive documentation, and nice code with minimal documentation. I know which I would rather work with.

Documentation has its place, particularly for high level concepts and shared data and interfaces, and tricky, exceptional, or surprising things in the code itself. But it's a poor crutch for bad design or code.

Re: Enterprise Software Projects Killed the Software Developer

#90

> I have never seen SCRUM or any agile approach working in a project setup ever. I am biased, though, because a company that truly lives agile values won’t do software development in a project setup When I first read the Agile Manifesto - around '99, I think - it seemed clear to me that this was a great leap forward in software design, but that it was clearly implied that this couldn't be used in a "fixed deadline" e…

A: "We are agile here"

B: "When was the last time you met with a customer?"

A: "Never"

"Customer collaboration over contract negotiation" used to mean something.

Post reply on HN