I used to be a software engineer even though I have always thought of myself as a generalist. Forever interested in discovering how things work without caring too much about fitting within a particular role. I design but I can code.
Always curious since a young age. I was that kid with yet another hobby who would get tired in less than a month and move over onto something fresh and exciting.
Reverse-engineering became a sort of personal agenda, sometimes taking the hardest and longest path only because I had to understand the inner workings of whatever I was interested at the time. This mentality pushed me to learn many things that in some aspects resulted completely unnecessary of what I do day to day even if deep inside I believe that mixed knowledge makes the very fabric of who I am today.
Something that has always stuck with me though is my passion for programming. At 12 I bought my first C++ book with my pocket money, at 14 I used that new knowledge to earn money, programming things I prefer not to write about, just yet.
Unlike the drumming lessons, the hacking, the martial arts, and tens of online ventures, that passion for programming has never vanished, it has stuck with me even if my time is now spent designing interfaces and running a business. But after years of inactivity, it's getting rusty but that feeling that I should pick it up again still lingers around, only to be pushed on the wayside for more important projects and clients.
So after a bit of research, I discovered Swyx's blog and his write up regarding learning in public. It's a great piece that you should read if you're stuck in a similar position as me.
Learning, to me, is always a 3-parts process:
- Start with a problem you want to solve.
- Find a good book, tutorial, course that can help you solve that problem.
- Talk about your journey and discoveries.
I feel many people (myself included) make the mistake of learning just for the sake of it. As I wrote on an older post:
A goal without a plan is just a wish.
Learning without a problem to solve, it's just you going round in a circle and quickly getting bored because knowing the syntax of a programming language without practising will only teach you so much.
Armed with this new knowledge, I will soon announce my learning plan for that problem I want to solve. Keep an eye on Twitter it will be the first place where I will document things as I go along.