Because it is complex and powerful.
It was widely agreed that nobody should feel that way, since no one can be expected to catch everything. How to communicate that to the community as a whole is unclear, though.
Any > 40-year old developers out there that'd like to share their perspective? How did you grow (technically, managing, etc...)? Picked up fields over others (embeded systems over web app, for instance)?
Responses:
- I push others to do better without them noticing it
- Technical skills become obsolete over time but human skills stay relevant. People, values and norms change so you have to relearn them too.
- Keep learning, write a lot and communicate more.
- I took every advice on the Internet and did the opposite: playing the pendulum between team lead and dev; more and more a specialist in nothing; being able to talk to stakeholders and convert their input into software is by far my most valued skill; being a former manager means I generally understands my boss pretty well.
- I do more mentoring than I used to. I learned more about working in teams.
- I learn that less code is much, much better than more.
- I don't write many queries any more but I do write PowerShell and Typescript. I don't manage a server, it's hundreds. [...] I've taken on more senior roles by thinking beyond just databases.
- The more paradigms and patterns you know, the better you’ll be at expressing yourself in your language of choice. Learn as many languages as possible. Don’t grow too comfortable; challenge yourself regularly.
Currently at: https://elk.zone/mastodon.social/@nicklockwood/111280337863596402
The author proposes a serie of question instead of sentences.
If you have a personal website: how did it change your life?
Instead, it could be better to use:
- community pattern: everyone else is doing it. Everyone sees it they know exactly how and why it is there.
- readability pattern: created for the sake of making more readable code. The only true goal is writing code that anyone can reason quickly about.
- performance pattern: squeeze the code for maximum performance, and it can degrade readability.
- guardrail pattern: it exists to avoid known foot guns such as magic number
Often people see "best practices" as community, readability, or guardrail patterns. It is also time as professional that we use a richer vocabulary.
This article set the priority on humans, which is also a point of the agile manifesto
Programming by voice instead of keyboard
About the complexity of the PRs. The less complex the better.
There are analogy to O(1), o(n), O(n×m) and O(n!)
It’s a reminder that reliability, consistency, and user satisfaction can coexist in the realm of software development.
Maintaining, improving code, fixing bugs and delivering minor features. Small step by small steps.
- Automating stuff gives you superhero strengths
- Coding is fun (and we can forget the rest)
- Sharing is fun too
- Elegant, creative solutions
- Talk to a machine
- Standing on the shoulders of giants
The difference between professional and hobby is accountability. In professional programming, you're expected to get the job done.
If a skill becomes obsolete, it's not a skill.
Professional programmers have to balance constraints: deadlines, budgets, and code quality for example.
At the end one of the most important fact is communication.