About me

My name is Max and I am a 32 year old software engineer based in Germany. When I was i child I got my first computer and immediately was curious about programming especially those things that created some sort of engagement between users. It was 2004 and I tell you, javascript was allot different in a way than it is today. So I started coding PHP and built some basic UI with html / css utilizing server-side rendering basically without any sort of framework. It took quite some time because I had to figure it out all by myself.

As time moved on web frameworks evolved and made it more “accessible” for developers to build applications. Frameworks where built helping me to deal with basic functionality and design issues. So I took my shot at Javascript and I absolutely hated it – it was so different. But once I understood the basic concepts it started to be so appealing to me, that i did not want to code in any other language.

Why I wanted to learn ReactJs

I was looking for some sort of framework or paradigm that would help me organize my huge javascript modules and structure my Ideas in a way that enable me to realize my thoughts with more precision and speed.

Back then (i think it must have been around 2014) ReactJs was a framework introduced by Facebooks DevOps engineers at Instagram and I completely fell in love with the approach of structuring everything in components. It just made so much sense breaking down visual elements of my web applications into smaller modules and composing and nesting them into each other, creating abstract autonomous pieces of code, that would magically work and play together.

I got engaged in the community back then and really felt how this tech was attracting more and more developers.

How I approached learning ReactJs

Bildschirmfoto 2022-12-29 um 18.06.47.png
When I started out there was a great reference site that gave insight to the basic concepts of ReactJs https://reactjs.org/ (it was quite different, from what it looks like now). Along with this reference i built projects and learned along the way while I was building customers and own ideas.

There where not many tutorials out there by the time but I picked up most of what I know hands on.

Challenges I faced

Some of the ecosystem around ReactJs was introduced by tutorials like working with the package manager, building pipelines, setting up live-reload, dependencies and many more. Sometimes it was tough just getting the environment up and running.

With the requirements things like state management became more and more complex to handle and required to introduce more technologies to my “stack” like the flux framework. Understanding concepts and Integrating this into my existing code was quite a challenge. Concepts like immutability where just so counter intuitive.

Technology evolved and ECMA introduced new syntax, react introduced us with class- and functional components, contexts which i had to adapt to.

Key takeaways

I learned that my hands on approach was a great way to get in depth knowledge really understanding the problems i ran into at their core, but also waisted allot of my time i could have been more productive.

Digging into concepts that did not make any sense to me at first glance really helped me to draw a great amount of value from them.

Tips and advice

The first thing i would really recommend you to do is: not to take the shortcut. Sometimes workarounds are needed if the technology is just not ready but please never stop challenging yourself to find the most adequate way of building your applications. This discipline will pave the road to excellence.

Restricting yourself using patterns and best practices will be painful but help you reduce complexity in the long run. Just make sure you do not implement every pattern and best practice but instead reason about what it does for you and why you need it first. Only install dependencies of which you know why you need them.

Final thoughts and next steps

I enjoyed how much i learned all around this technology, that kept me iterating faster and think about more complex requirements getting an immediate feeling for what is possible and what isn’t, what I should do and what i shouldn’t. I have grown more confident as a developer and learning this technology has played a big role in doing so.

I want to invite you to join me. I will support you in the creation of your own project or teach you along the way.

Source: https://www.codementor.io/maximiliangeiger/how-i-learned-reactjs-20itfe9j7q