> Creating new projects from scratch can trip up even experienced professional developers because in most jobs you come in, work an existing codebase, and iterate.
I’ve worked on greenfield projects for so long (15+ years at this point) that my experience is the exact opposite. The few times I’ve had to contribute to an existing code base was a painful experience of figuring out where everything is, and why everything is done in such a weird way.
There is no better feeling than doing that first `git commit -m 'initial commit'`
In a way, it is interesting and a bit frightening to know that my experience is very different than most engineers are socialized and molded for team work and daily standups and code review which are alien (and scary) to me.
What are you doing, where you're solely working on greenfield projects? I remember a professor of mine saying something specifically on never trusting a Software Engineer that has never had to work on legacy code.
I'm a full-stack consultant (the actual full stack, not whatever kids mean these days) and deliver "solutions" to clients. I've got my fair share of legacy code to maintain, don't worry. (I have this Django app I wrote 15 years ago that I should really port to Elixir which is my main thing these days - but there's no money in rewriting an entire application that's in production for that long)
Here's my 2 cents: take any advice on professional matters from someone that has never left academia with a heaping dose of salt.
(the actual full stack, not whatever kids mean these days)
Can you clarify what that means to you? The full stack of modern web solutions spans from datacenter hardware selection to client device PCB design, and I don't think any single person can realistically manage all of that by themselves.
I think "modern fullstack" is knowing React/Svelte/whatever frontend tech and being able to plug that in to Firebase or some all-in-one backend system that provides everything from user management to databases and messaging.
They wouldn't be able to spin up a RabbitMQ queue and Postgres on bare metal.
Please, don't ever spin up a PostgreSQL instance for a client on bare-metal in $CURRENT_YEAR. Some jerk-off did that for a current customer of mine, and now they're having issues with their migration from SUSE to RHEL in production.
Also, this dick measuring contest on who is the fullest-stack developer sounds ridiculous.
I've worked on very VERY brown field projects for 25 years, no green in sight, so I actually have no clue how to bootstrap many of the languages I use professionally (Java + C#) :D
Maybe that's why I like LLM-enhanced programming, I can use it to get the project up to speed and I'm perfectly capable of taking over after that. I'm not that precious about the scaffolding used to bring the project up.
I’ve worked on greenfield projects for so long (15+ years at this point) that my experience is the exact opposite. The few times I’ve had to contribute to an existing code base was a painful experience of figuring out where everything is, and why everything is done in such a weird way.
There is no better feeling than doing that first `git commit -m 'initial commit'`
In a way, it is interesting and a bit frightening to know that my experience is very different than most engineers are socialized and molded for team work and daily standups and code review which are alien (and scary) to me.