User Avatar

KimSia Sim πŸ‡ΈπŸ‡¬πŸ’»πŸ“—

My Ship 30 For 30 Aug '22 Collection

4y ago

Welcome to my Social Blog

2 Mistakes Self-Learning Software People Make All The Time
KimSia Sim πŸ‡ΈπŸ‡¬πŸ’»πŸ“—

I graduated with a degree in Computer Science, but I've never really felt I knew how to write software until I got employed many years ago.

Even then, when I subsequently ventured out on my own and had to pick up new technology skills, I still went on to Google and type questions like

β€œWhat's the best framework for PHP?”

β€œWhat's the best VPS hosting?”

And so on.

Spending 30 mins on this is okay. But, spending days is NOT.

If you do this, you are guilty, like me, of making two classic rookie mistakes when self-learning new technology stuff.

Mistake #1: Not Considering Entire End-to-End Path

I'm going to assume there's an end-product to the self-learning software that you are going for.

By end-product, I don't mean, "become a {Technology X} developer". I mean a project or a product, even if it's just a toy.

When a beginner asks a question like "What's the best {X}?", {X} is often just one part of the entire end-to-end path to produce a project or product.

You're blindly assuming that path to be the right one.

This is fine when there's obviously only one path. But, with so much diversity and options these days, there are multiple paths to choose from. And each path has its pros and cons.

Recommendation: Write down your output project or product as a superordinate goal and write down possible paths as intermediate goals to achieve that using this hierarchy.

The {X} you were originally researching for may be used in more than one path.

This way, you're forced to evaluate possible paths and question whether the default path you assumed is right.

Mistake #2: Choosing Best Instead of Good Enough

When you're first starting to learn how to build a project or product, the most important thing your completed first attempt produces for you isn't anything extrinsic.

The most important thing is that intrinsic realization of "Hey, I can do this!"

Yes, it may be a bit ugly, or is just a one feature product. But it's done by you. It's at least a complete product or project.

Which is why obsessing about what's the best individual technological components of your path or tech stack is premature optimization.

Even obsessing for the best path or tech stack is the same form of mistake.

What's ideal for a beginner is usually not the same as for an expert. So, changing the entire path is to be expected. And you do want to graduate to becoming an expert eventually, right?

Good enough is good enough.

These Mistakes Are Not Fatal But You Will Waste Time If Repeat Too Often

Making mistakes is part of learning. So making these rookie mistakes is also part of your learning.

Don't worry too much about optimizing to avoid these mistakes at all costs.

This essay serves as a gentle reminder not to repeat these mistakes too often as they cost you valuable time.

Make them once or twice, and try not to repeat again.