this post was submitted on 11 Dec 2024
42 points (88.9% liked)
Programming
17686 readers
123 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Yeah. It was pretty awful early in my career. The good news is that "The person with an opinion has no power over the person with an experience."
As I've built up years of my own work experiences, I don't spend as much energy on each new idea I encounter.
Now I'm just proud that I still, once in awhile, significantly change the way I work, thanks to new information.
But, since what my team is doing works well already, I have to encounter the same advice from several trusted sources. And then we put it through a test sprint with a thoughtful team retrospective, after.
It's possible to find a happy balance, but it takes experience to get there.
Edit: So to answer the obvious question - what advice stuck with me?
Host team retrospectives. The rest of Agile is optional. Effective retrospectives are mandatory, because they're what tunes everything else correctly for my team and my organization.
Cherish plain text under version control. I've slept soundly many nights when others were up and working late, thanks to the simplicity and clarity of the process of reviewing what changed in plain text files. Any time a tool supports being setup with plain text files under version control, I advocate for that option.
Pick one thing that matters for today. It helps me focus, and forces me to really decide what matters, today. It helps me say "no" to requests that need to wait. And it helps me choose to give myself a break after I get that one thing done. One important thing per day adds up to awestriking levels of annual productivity, given reasonable opportunities.
When I was learning to program in the 1990s, at university, it was easy to get good advice and learning from the printed word: both in books and on websites. I think if I had to start learning all over again, and not be in a good school, it would be very hard for me to do as well.
Today there is too much advice, too many influencers who recently learned whatever they are peddling, too much AI, too many fields of tech.
I think the best way to learn now is how many of us learned decades earlier; use a list of books that are vetted by many ( can find lists here and there, saw one in GitHub last year). And while reading the books read the documentation even if they are gaps in one’s knowledge and the docs are badly written.
I don’t think one needs recent books for many concepts and basics. The wheel has been reinvented many times in the hundreds of tech stacks in use today. And the same concepts will be easy enough to learn in newer docs once a technology and programming set of tools is invested into by the learner.
As for new software engineering ideas and architecture concepts: usually these are reiterated from earlier ideas and often marketed for profit. So older architecture books, refined by several editions, are still best.
I find that the .NET/C# documentation has great guidance for old and new concepts. There's reference docs with remarks, there's guidance and best practice recommendations, and there's examples and guided work-alongs.
Personally I've never done the examples or video or text follow-alongs. But I greatly value the concept guidance that goes beyond mere reference docs with remarks.
While it's somewhat specific to the .NET/C# ecosystem, I imagine it's valuable beyond it, and maybe a good example of how a big and significant enough project can provide more relevant and condensed information than "random tech blogs and websites" or similar.
I spent a lot of time using msdn Microsoft docs for windows and activex c++ back in the day. Faintly envious there are videos in the c# docs.
I changed tech stacks, but comments and examples are awesome to use inside docs. Usually in the php, it’s the comments in the docs that are the best help, and example code and work around can be found there.
But most php depends on the tens of thousands of projects and libraries made others: so the docs one needs is scattered in the dependencies. Some who have good docs (laravel) and some that have no docs , in which case a debugger is best way to learn.