News for hackers. Stuff that matters.
Re:Software Engineers Hate Code by delusional on Saturday July 08, 2023 @10:36AM (#36644821)
I have never in my (admittedly short) career met an engineer who had actually worked on a "greenfield project". I've met plenty of engineers who built entirely new codebases, but they were still built on top of an OS, running on existing silicon, with an existing instruction set, compiled by an existing compiler, etc.

I'm being a little bit facetious of course because I do understand the concept of what "greenfield project" has come to mean, but I don't consider it very meaningful.

In my experience the major difference between a "greenfield" and "legacy" project is the time allocated to thinking about the problem. I love thinking from first principles, but with proper management and engineering you can do that just as well on existing codebases, and it will be just as fun.

"greenfield" in that regard, is easier. On one hand, management is more friendly to exploratory exercises when you're building something new. And on the other, the questions you are asking are likely to be way simpler and straightforward, with well known and understood solutions.

In a legacy system, the easy questions are already handled, so the questions you end up asking are difficult and full of edge cases. In many cases an answer may never ever have been considered (right now the system will discard the task if it fails to deliver it for 5 days, is that in compliance with our processes).

Re:Software Engineers Hate Code by RhodesianHunter on Saturday July 08, 2023 @10:40AM (#36644860)
What use is this sort of pedantry? No project is greenfield unless you hand made the silicon?
Re:Software Engineers Hate Code by delusional on Saturday July 08, 2023 @12:24PM (#36645899)
Fair question, I suppose I didn't express myself clearly.

Firstly, I'd like to abolish the idea that "greenfield" and existing are somehow opposites. Greenfield projects take on a bunch of existing abstractions and complexities from all the stuff they are built on. Instead, these two terms are actually very similar, "greenfield" projects just chose to throw out one more layer than using the existing system. My argument here is that the dichotomy here is false, and that the two terms are instead a classification of degrees to which you abandon existing abstractions.

As I said, I understand that this is what you mean when you say greenfield, I'm not asking you to use different words. I'm asking you to pay notice that this is what you are saying. That you are explicitly not in a "green field" with nothing around you. You've thrown all the furniture out, but the building is still there, the walls are still the same color, and the windows are still overlooking the same parking lot.

Re:Software Engineers Hate Code by klysm on Saturday July 08, 2023 @10:47AM (#36644927)
Oh please. By your definition no greenfield project has ever existed in thousands of years.
Re:Software Engineers Hate Code by andrewl on Saturday July 08, 2023 @11:33AM (#36645371)
If you wish to make an apple pie from scratch, you must first invent the universe. Carl Sagan
Re:Software Engineers Hate Code by wsve on Saturday July 08, 2023 @11:51AM (#36645528)
This makes no sense to me... Greenfield projects have problems that legacy projects don't (What language to use, what framework to use, where/how to deploy, etc.), and vice versa (How do I design my feature with the existing limitations of the system in mind, do I need to to redesign a part of the existing system to get it to work, etc.).

None of that has anything to do with "Time thinking about the problem", nor does either one imply that its questions are easier or harder to answer in all scenarios. They're just very different questions, but some devs prefer dealing with the issues a greenfield project presents.