Markus Eicher
Markus Eicher's Blog

Markus Eicher's Blog

100DaysOfCode - My early learning experience

Photo by Tim Mossholder on Unsplash

100DaysOfCode - My early learning experience

Markus Eicher's photo
Markus Eicher
·Mar 4, 2022·

5 min read

Welcome!

I'm happy that you are here!

I invite you to discover my learning experience during the first two months of my journey to become a self-taught developer and designer. It's not a How-to or Tutorial. If you can derive something useful for your studies, I'm happy thou. As a true believer in lifelong learning, I love to learn new skills. Unfortunately, I was not lucky enough to have higher education or even a grade. That is ok. Nonetheless, I had some pretty high-level jobs in the IT Industry. I got there by investing time and money into myself.

nodebanner.png

When I started autodidactic learning in the 1990s, we had few good and free resources. What a difference to nowadays! You get high-quality learning material worth thousands for free. The community around the topics you learn is mostly very competent and helpful. It is a learner's paradise. But be cautious, don't get trapped by the Tutorial Hell. It is easy to get sucked into that rabbit hole.

Where to start? It depends, I guess. The question is, where do you want to go. Not to speak about how much time and energy you can afford to invest in learning. Your path may be different if you are seeking a Tech job. Maybe you want to be a freelancer. Others try to improve their value in a job they already have. Your prior knowledge level also influences the way you learn new skills. In my case, I had some experience with web design and programming but only on a low level. My goal is to become a freelancer in software and web development.

start.jpg

How did I start? While it's essential to know the basics, practice is the key. There is no doubt about that. Like almost always in life, the goal is to find the right mix. For me, that mix is leaning towards strong basics first. I can always look up how to write a particular piece of code. But only if I know the options of solving the problem. Having a deep theoretical understanding is crucial to me.

My first few weeks

At the beginning of my learning adventure was an old idea. As a big hockey fan, I have always been fascinated by advanced game statistics. I like the insights you can get out of them. Together with some friends, we discussed creating an app for that. So let's do this. Now I had to find out how. Having a graphics design background, I thought about mocking it up first. After evaluating the available tools, I left with Framer to prototype the solution. There are a lot of tools you can use for visual design. I chose Framer because it lets me create clickable mockups and supports exporting them to react components. Importing work from Figma is possible too.

Easy, isn't it? Well, it was not as easy as I thought. Of course not. Framer did what it was supposed to do. The problem I had was with the resulting React components. My plan to quickly glue them together to build an app failed brutally. Who could imagine that this would happen? Ok, let's learn React then. It can't be that hard. There are tons of tutorials. True. And some of them are excellent. Guess what? That did not age well. I could follow the basics till the topic of state came up. What the hell? Maybe I should learn Javascript first?

Cool. Let me learn Javascript. A lot of tutorials, you know. Full of excitement, I started to learn Javascript. Not hard to find good material on the web. There is plenty of high-quality stuff. After researching it myself and talking to the community, I left with freeCodeCamp and Traversy Media.

Early into my activities to learn Javascript, I realized that this makes no sense to me. Too many times, the term DOM crossed my way. Sure, I knew what the Document Object Model was. But did I know enough about it? No. You might guess it. I switched to learning HTML first. The semantic markup without styling is bland. Let's add CSS to it for fun. For CSS, I found the content of Jen Simmons from Layout Land very helpful. Her series about resilient CSS was an eye-opener to me.

To build my profile and portfolio websites, HTML, CSS, and Javascript are the tools of my choice. The Vanilla versions, no frameworks or boilerplates at this time. That is a welcome opportunity to learn by doing. I'm in the second half of #100DaysOfCode, and I will stick with these topics for the rest of the challenge. These are the three domains I want to master first.

All my projects are open source and hosted on GitHub. Contributing to open source and being active in this inclusive and supporting community is fun and significant. The best things in life are free. Software is no exception to this thesis. Come and join us at the EddieHubCommunity on GitHub. It is fun, and you can learn a lot.

In the next part of this series, I will describe the building of my profile page. I started it from scratch in Visual Studio Code. Because I host all my project sites on GitHub Pages, I decided to use Jekyll to help build it. Accessibility and resilient CSS are the topics I am studying right now. Both are skills that I want to learn in-depth.

I will present the other projects I'm currently working on at this spot in later posts. The template project is already up on GitHub with an alpha version of the files.

  • Commented HTML and CSS templates
  • Milohockey Advanced Stats Visualizer
  • Student Companion App

Thank you for your precious time, and I'm looking forward to your feedback. Any questions, hints, or critiques are always welcome.

Stay safe and happy coding! 🍀

 
Share this