Some insights to let you know that you are not alone in this journey into becoming a web developer. Perhaps that what worked for me, works for you as well.
Starting the journey
#Are you one of many who aspire to become a web- or software developer or a coder of any sort?
Wonderful.
Then you likely asked yourself the question: "How/where do I start?".
I did it probably like most starters do. I started up a Google search and typed: How to become a web developer? Loads of content and articles loaded and I felt ready to go!
Was I? Well no, not at all.
I ended up at the the 'Frontend Developer Roadmap' which at first felt scary and overwhelming. The vastness of digital learning content seemed endless. And I guess it actually is.
So what now?
One topic at a time
#Start with one topic at a time.
For weeks, I jumped from one topic to another, spending little time on the basics. I could make it work but not place it all together. (Indeed, I did not follow that roadmap).
I'd like to think of it as a birdhouse. I could fetch the different-sized planks and nails. I could understand how each component worked and what it should do. But those components don't make the birdhouse. They have to be placed together neatly to make it functional. And that was where my error logs kept popping out everywhere. The birdhouse kept falling apart.
So I decided to ditch everything I had worked on. And start completely anew. But this time I did one thing differently.
I started with one thing at a time. And nothing else.
First HTML, then CSS and ultimately some JavaScript.
It reads and sounds astonishingly simple. And it completely is. And yet It seems so hard at times. Which does not surprise me. The web development landscape is crowded with tools and frameworks. Each of them claims to be better, faster, and more efficient than the other. So why not just ditch them?
One project at a time
#Following up on this. I decided to work on pretty much one project at a time.
It's okay if a project you initially chose doesn't suit you anymore. My suggestion is to avoid overwhelming yourself with too many projects. With each one of them requiring a different skillset.
For me, it was to code my own blog. But perhaps for you, it's something completely else. A portfolio website? A landing page for the local entrepreneur? You name it.
Keep it realistic
#Another lesson I've learned is to stay realistic while setting goals. As a beginner, it's easy to get inspired from sites such as awwwards. Don't get me wrong. some ambition is great! But don't expect yourself to write a similar website after just a few basic lessons,
Alright, perhaps there are a few talented developers out there. But I am definitely not one of them.
I'd like to see the beauty in small, simple and performant vanilla websites. And perhaps that works out for you as well. Create a simple blog website. And start working from there.
One feature at a time.
How to actually choose between languages and/or frameworks?
#Likely, at some point, you'll need to make important decisions regarding tools and technologies. Possibly a desired job offer or position already made this decision for you. But if you have the freedom that I currently have, and the options are still limitless?
Demanding performance with HTML, CSS, and JavaScript, led me to static websites. The JAMstack approach caught my interest. As I explored, I tried Jekyll and Hugo. However, I struggled with the languages that they are based on. Namely Ruby and Go.
Then Chris Fernandi gave me a simple advice:
Honestly, my approach to this and what I recommend to my students is always to pick the one that has documentation that’s easiest for you to understand.
This honest advice did the trick for me. The easiest-to-read documentation of all those SSGs was 11ty. While exploring the said documentation, I eventually chose [Nunjucks] as my templating language. I mean, it sounded cool!
Write up
#Whether you are a starter or a seasoned developer. I'd like to believe that it is a common challenge for developers to go through all the available options and actually stick with them.
Do you agree with this? Please let me know!