After working in this field/industry for about a month, I've come to the conclusion that building programs is more art than science.
Learning it is scientific, the actual process of how a computer does it's calculations is scientific, but actually building an app/feature is very artistic and opinionated - even when working in the same framework/environment/language.
I don't know how many times I've got conflicting answers from multiple Senior Engineers:
One senior engineer would offer advice for a code review of how they'd want something implemented and how it differs from what you had.
Only for another senior engineer to review the code and want it implemented in another way.
Then another senior engineer would not like any of the changes and insist on it being another way (perhaps the way I originally had it)
Then another senior engineer would disapprove.
Repeat cycle.
If it was so much "concrete" why are there so many opinionated responses?
I'm starting to believe whether or not a coding decision is acceptable by the senior engineer sometimes just depends on the day they review it.
I brought that up to another Senior Engineer this week and he pretty much told me "People really don't know shyt. That's the funny part. If I'm interviewing somebody, I'm hiring the person that admits that."
When an artist(s) makes a song: Go where the music takes you, follow your feelings.
When a coder(s) designs an app: Go where the code takes you, follow the design.
Both similar decisions at the end of the day, where future implementations (adding a chord/adding a feature) rely on a decision you or someone else made in the past that can greatly affect what you're trying to do in the present. It's also why I believe people lose interest in creating their personal projects. There's just no way of telling what you're trying at the start of your program will play nicely with what you're doing on the same project a month later.
I was watching an interview of a studio/sound engineer once (I think it was Philip Tan) and he said that even if he mixed a hit song in the past, if he got the same song today he'd probably mix it differently. I think the same can be said in this industry.
Again, I haven't been working in this industry long, but I'm getting that this is the sense more than people would like to admit.