I manage Operations at Chingu, Inc. We help bridge the knowledge you have gained via your learning activities and the experience employers seek through global remote team projects. Come join us.
Location
St. Louis
Education
Southeast Missouri State University, Webster University
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.
👋 Hey there, I am Waylon Walker
I am a Husband, Father of two beautiful children, Senior Python Developer currently working in the Data Engineering platform space. I am a continuous learner, and sha
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.
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.
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
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.
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 😁
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.
I'm a developer-turned-business owner who loves to explore the right tools for the job. I enjoy writing and documenting my journey. I use code as one of the tools to solve real problems.
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.
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.
If you are a newbie and want to learn new stuff then go for existing ones because you will have to improve your analytical skills and you have to improve debugging skills ones that is done you will feel more satisfied.
Starting a new project presents it's own challenges and gives me the chance to be a bit more creative with my problem solving and can put me into a situation where I have to learn a new way to accomplish something.
Existing projects still allow me to create, but I'm a bit more confined to the way that things are already being done (unless it's my own project then I can just rework it how I want).
If it's an existing project on a team, there are plenty of learning an teaching opportunities since there are different (and more efficient) ways to accomplish something via code. You get to grow and help others grow.
There is something nice in existing projects that everything is already setup. You have the CI/CD pipeline working, tests, lots of boilerplate code that's there, BUT... starting a new project is always exciting! Deciding your stack (it's always an opportunity to sneak in a new tech), software design, no legacy code, just an empty file with so much potential to be awesome.
I just love starting a new project, especially when you buy a domain.
I like refactoring and debugging so jumping in an existing codebase is fun!
I once succeeded in porting a MySQL DB with its schema coded inside the PHP app that sit on top of it (the nightmare of anyone who knows about DB design and knows about normal forms ahaha). It had dozens of tables each with artificial columns the PHP code read to know where the rest of the data was. No wonder the company wanted it gone. The data had to be moved to the new app.
I ported it to Django + Python + PostgreSQL without knowing either PHP or MySQL 😂. Fortunately the company knew what the new app should have done but writing the correct scripts to import the data was... complicated 👀
Making new things becomes easy after X times. Maintenance is much more challenging and verifies all decisions made, which is necessary to grow as serious developer.
Ideas pop into my head all of the time so I do prefer starting new projects to a point. However sometimes thought adding a set of features to an existing projects feels like a whole new project.
Builder of FreelancerCashFlow; Fullstack Developer, HubSpot Expert & Content Manager. Code in Rails/js/Vue with a little serverless thrown into the mix. Love JAMStack.
Hi, I'm Swastik Baranwal, a software developer from New Delhi, India passionate about open-source contribution, Gopher, Pythoneer, Compiler Design and DevOps.
Depends. If I get better experience and meet new people on working on existing ones or make something on my own to not have built on not making anything myself.
I love the planning and design so green field is exciting (not that it often happens), BUT working in legacy code is more satisfying when you can bend old spaghetti to your will.
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.
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.
Absolutely -- refactoring is good for the soul.
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.
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.I like starting things but mostly because I always feel lost jumping into something already going on.
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.
What makes you feel lost?
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
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.
Guess I got a find a project!!!
thepracticaldev/dev.to 😉
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 😁
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.
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.
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.
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.
If you are a newbie and want to learn new stuff then go for existing ones because you will have to improve your analytical skills and you have to improve debugging skills ones that is done you will feel more satisfied.
While I like both, I do prefer existing projects.
Starting a new project presents it's own challenges and gives me the chance to be a bit more creative with my problem solving and can put me into a situation where I have to learn a new way to accomplish something.
Existing projects still allow me to create, but I'm a bit more confined to the way that things are already being done (unless it's my own project then I can just rework it how I want).
If it's an existing project on a team, there are plenty of learning an teaching opportunities since there are different (and more efficient) ways to accomplish something via code. You get to grow and help others grow.
There is something nice in existing projects that everything is already setup. You have the CI/CD pipeline working, tests, lots of boilerplate code that's there, BUT... starting a new project is always exciting! Deciding your stack (it's always an opportunity to sneak in a new tech), software design, no legacy code, just an empty file with so much potential to be awesome.
I just love starting a new project, especially when you buy a domain.
I like refactoring and debugging so jumping in an existing codebase is fun!
I once succeeded in porting a MySQL DB with its schema coded inside the PHP app that sit on top of it (the nightmare of anyone who knows about DB design and knows about normal forms ahaha). It had dozens of tables each with artificial columns the PHP code read to know where the rest of the data was. No wonder the company wanted it gone. The data had to be moved to the new app.
I ported it to Django + Python + PostgreSQL without knowing either PHP or MySQL 😂. Fortunately the company knew what the new app should have done but writing the correct scripts to import the data was... complicated 👀
I prefer starting new projects and abandoning them to start a new one 😉
Making new things becomes easy after X times. Maintenance is much more challenging and verifies all decisions made, which is necessary to grow as serious developer.
No matter the project is new or existing one development challenges are always there. So I would prefer working on both.
Ideas pop into my head all of the time so I do prefer starting new projects to a point. However sometimes thought adding a set of features to an existing projects feels like a whole new project.
Apologies for reaching out here, but I've not found anywhere else.
Thanks in advance,
Cheers,
Bob
Depends. If I get better experience and meet new people on working on existing ones or make something on my own to not have built on not making anything myself.
I love the planning and design so green field is exciting (not that it often happens), BUT working in legacy code is more satisfying when you can bend old spaghetti to your will.
I love brownfield projects. Particularly getting to press Delete on unwanted bits of old code. So therapeutic.