DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

Do you prefer starting new projects or working on existing ones?

Green field or brown field?

Top comments (29)

Collapse
 
jdmedlock profile image
Jim Medlock

Both! I get a lot of satisfaction working on existing project that I believe in and am passionate about. But, I also work on new projects because our growth is limited if we don't broaden our horizons.

Collapse
 
deciduously profile image
Ben Lovy

There are few things more satisfying than turning an old convoluted mess of code into something clean, organized, and maintainable.

...why my GitHub is packed full of quarter-baked messy unfinished ideas is beyond me.

Collapse
 
murrayvarey profile image
MurrayVarey

Absolutely -- refactoring is good for the soul.

Collapse
 
ben profile image
Ben Halpern

I used to like starting things but I think I've swung hard in the other direction being years into something I once started.

I have a hard time sitting down and doing all the base work for brand new things.

Collapse
 
waylonwalker profile image
Waylon Walker

I really like seeing a project come together. I like the feeling of taking it to the next level. Starting new things all the time seems like you never get anything too far along.

My /temp directory disagrees. There are 100s of quick projects left here to be forgotten forever. Really though I like to start simple new projects to shake out new ideas that I intend to implement on existing projects. Sometimes I come up with good ideas. Many times I am glad that I tried it in a toy project, learn from it, and move on.

Collapse
 
pachicodes profile image
Pachi πŸ₯‘

I like starting things but mostly because I always feel lost jumping into something already going on.

Collapse
 
hey_yogini profile image
Yogini Bende

Relatable! I get stuck at understanding the logic, the code practices followed and end-up asking so many questions to fellow devs. This initial phase makes you a little uncomfortable and you start getting into the imposter syndrome zone but once you pass this, every time you get to learn so much out of this.

I personally prefer starting projects from scratch but I have started to contribute to the existing projects whenever possible.

Collapse
 
ben profile image
Ben Halpern

What makes you feel lost?

Collapse
 
pachicodes profile image
Pachi πŸ₯‘

A little of newbie Syndrome ? Like having to learn and understand what the other people done to the project and how I make meaningful contributions.
It is probably fear tbh

Thread Thread
 
ben profile image
Ben Halpern

This is all pretty normal. Ideally people involved in the project can provide as much guidance and empathy as possible. And otherwise merely hanging around where discussions happen goes a long way.

Thread Thread
 
pachicodes profile image
Pachi πŸ₯‘

Guess I got a find a project!!!

Thread Thread
 
jinglescode profile image
Jingles (Hong Jing)
Collapse
 
nickitax profile image
Nick Shulhin

Good question!

It can be rephrased as: "Would you take a red or a blue pill?"

In one scenario you write everything from scratch and create your own vision of bliss with ignorance, while in another one - suffer reality of unlimited refactoring, migration and "God, how does it even work!?".

But from personal experience jumping on existing project is much more interesting and beneficial.

First of all, you challenge yourself to dive into sometimes unknown stack + playing decipher games on written codebase.

Being abused with careless code makes you re-think an attitude: you should write a code like the next day it will be carried over by another team 😁

Collapse
 
darkterminal profile image
Imam Ali Mustofa

Both! Coz, I like reading code is written by another developer, so I can learn their logic and their structure "how", "why", "what", "who", and "where" they go first and make the plot and twist in the app they have work with.

In the new project, on my own; it's nice to go and make something good and make the client happy with their hope and goals.

Collapse
 
patryktech profile image
Patryk • Edited

Preferably new, but I don't mind existing as long as it's not spaghetti code with a best before date of ~2009...

Nice maintainable code base, with proper documentation and tests? Don't mind working on that one bit.

Collapse
 
roelofjanelsinga profile image
Roelof Jan Elsinga

Both! Brown field because I love shaping projects to serve a (new) purpose. Green field for the same reason, but also exploration of new techniques and being able to change a lot of stuff in a short period of time. The endurance I get from brown field is important for me as well as the new and shiny stuff.

Collapse
 
gsto profile image
Glenn Stovall • Edited

I've never heard the term "brown-field" before but I love it.

It sounds a little woo-woo, but once I took a personality test, and one of the results said something that resonated with me:

"You don't excel at starting new things, but your biggest strength is making good things better."

So for that reason, I'll say "brown-field." I struggle with creating from scratch, but I enjoy refactoring, optimizing, and building on work that is already solid.

As a counterpoint, My favorite way to test and learn new things has been in the green field space. Create a new project, mess around, take notes, delete it at the end of the day. Sometimes when you want to plant a tree you don't want to do it in the middle of a forest.