Every Programmer Should Know

Every Programmer Should Know” is a collection of subjects and resources that every programmer should know.  It is not specific to any technology stack, and it’s rich enough to offer something to programmer of any level or experience.

While the whole list is great, I’ll single out this Big O Cheatsheet:

10 Things I’ve Learned About Customer Development

I haven’t been involved in customer development throughout most of my career.  That only changed in recent years, so I have to learn quite a bit on that front.  So, the list of “10 Things I’ve Learned About Customer Development” resonated with me quite well.  The best part of it is that not only it highlights the issues, but also provides a direction towards solution.

Multiple Perspectives On Technical Problems and Solutions

Multiple Perspectives On Technical Problems and Solutions” is an interesting take on engineering in general and software architecture in particular.  It starts off with:

Fundamental: engineering decision-making is a socially constructed activity

[…]

In other words, engineering (as an activity) does not have “correct” solutions to problems. As an aside, if you’re looking for correct solutions to problems, I’d suggest that you go work in a different field (like mathematics); engineering will likely frustrate you.

It then goes into dialogues and discussions, architecture review meetings, and provides a few pointers on how to get the best of those.

Angular vs. React vs. Vue: A 2017 comparison

Angular vs. React vs. Vue: A 2017 comparison” is a very lengthy and detailed comparison of the top three most popular JavaScript frameworks: Angular, React and Vue.  There are also lots of links and references for further reading, but even if you don’t leave the article, chances are you’ll have a pretty good idea of which framework suits you best.  For me, it looks like it’s Vue.

And as a side note, this quote made me smile:

The dirty little secret is that most “modern JavaScript development” is nothing to do with actually building websites — it’s building packages that can be used by people who build libraries that can be used by people who build frameworks that people who write tutorials and teach courses can teach.I’m not sure anyone is actually building anything for actual users to interact with.