> There is so much fun, beauty and pleasure in writing code by hand. You can still handcraft code. Just don’t expect this to be your job. This is your passion.
Can people keep a good mental model of the repo without writing code? I always feel like I lose my thoughts if I let an LLM do it for me. I totally get that LLMs can do stuff faster and (Given the right context) sometimes keep better track of this than humans can.
Even musicians had to go digital, but that doesn't mean people stopped playing raw instruments. Will company culture shift towards one senior that has the context + 7 LLMs that work for him? is that where we're heading towards?
Traditional engineering involves more than talking to people, teams, and trade offs.
Where I live the engineering society here does license software engineers now and enforces the term, "Software Engineer," as a protected term. You can't just call yourself a software engineer. You have to have educational credentials, pass exams, and be licensed. You have to keep up with your educational requirements. You have to be insured.
It boils down to the same thing, people and teams, but the difference is liability.
Personally I think we're better off pair programming with actual people than GenAI chat bots. We get to teach each other and learn together which improves our skills. We actually need to socialize and be around people to remain healthy. You miss out on all of these benefits with chat bots.
And there's growing evidence that you don't learn as much when using them [0].
Consider when using them is appropriate and maybe don't rely on them for everything.
> ... "Software Engineer," as a protected term. You can't just call yourself a software engineer.
In my irrelevant opinion, this is good. To me at least, the word engineer represents someone with a big, heavy responsibility in their hands.
I never liked being called an engineer and only have it on my resume because that's the keyword recruiters search on linkedin nowadays. One reason is that I don't have formal education. The other is that, in almost 15 years of experience, I witnessed very few occasions of software receiving proper care to the extent that I could call it "engineering".
I'm curious, which country or region does this licensing? I'd like to learn more.
I've found that the best aid to keeping a mental model of the structure of a project is to document it well using Literate Programming:
http://literateprogramming.com/
which then affords a PDF w/ a ToC, indices, and sidebars and other navigational aids all hyperlinked so as to make moving through the code and its documentation quick and fluid.
Then, when I arrive at the section of code which needs to be updated, the documentation and reasoning about its current state is right there.
Not sure if this scales up to multiple developers though....