DEV Community

James Eastham
James Eastham

Posted on • Originally published at jameseastham.co.uk

100 Days of Code Week 1 – Learning React

I’ve recently decided to take the #100DaysOfCode challenge. For those not familiar with the concept, you commit to writing code for at least an hour every day. There are also a couple of ground rules:

  • Code for at least an hour every day
  • Tweet about your progress every single day, using the #100DaysOfCode hashtag

There’s also a general consensus, that the work should be something new. Either a new language or project.

Front End

I consider myself a reasonably capable full stack developer, although my strength has always been down at the SQL/C# side. The front end has always been an afterthought.

The code I write, whilst perfectly functional, would probably make a lot of the more knowledgeable people reading this squirm.

I’ve also always worked with Angular. There’s no rhyme or reason for this, it was just the first front end framework I came across that had great CSS libraries (I’m looking at your Angular Material).

So for my 100 days challenge, I thought I’d push the boat out and try to improve my front end skills. As I had been working with Angular for a little while, and probably picked up a TONNE of bad habits. I figured starting something completely new would be a better option.

Hello ReactJS, I hope we are going to be friends…

One Week With ReactJS

I’ve been working with React for just over a week now, following the excellent course by Maximilian Schwarzmüller from @academind_real. The short answer for how I’m finding it… I think I’m in love.

Whilst I never disliked front end dev, I would never say I particularly enjoyed it. Working with React has left me wanting for my next hour of learning every day. It’s a damned good language.

It’s even made we want to take a more advanced CSS course so that I don’t have to rely on external libraries for the front end applications I build. The thought of writing any kind of CSS used to give me the shivers, oddly now I want to learn more.

I’m not really sure what exactly it is about React that’s got me all loved up. The syntax feels a bit more intuitive than Angular. Maybe the fact that the state is a lot more explicitly managed. Or the fact that every component simply returns some JSX (which is basically just HTML, let’s all be honest!).

It could even be the fact that I’ve formalized my training, instead of blindly searching StackOverflow for solutions to specific problems.

Takeaways

If there’s one thing that this week has taught me, it’s to…

** Never stay still. Never stop learning. **

Just because you’ve been working with the same language for a long time, or you’ve always done it the same way, doesn’t mean there isn’t another way.

All programming languages and frameworks have their pro’s and con’s, that’s a fact. But if you don’t cast your net a little further afield you never know. You don’t know, what you don’t know that you don’t know.

‘Jack of all trades, master of none’ does ring in my ears whilst doing this. There is some semblance of truth in that statement. However, taking time to at least explore other options has got to be beneficial.

And that’s the one piece of advice I’d give after one week of #100DaysOfCode. At least try other things, you never know what you might find.

If you’re interested in following my progress, you can find my #100Days Git Repo at https://github.com/jeastham1993/learn-react-100-days-of-code. Any input, as always, is greatly appreciated.

Ramble over… 🙂

Top comments (2)

Collapse
 
jasontelfer profile image
Jason Telfer

This has inspired me to also take up the challenge. I am self-taught and have reached the point where my focus should shift from 'learning X so I can do Y' and instead just build things. #100Days seems like the perfect vehicle for this.

Collapse
 
jeastham1993 profile image
James Eastham

Glad I could help Jason :)

Sounds like you're in the exactly same situation as I was. My front end knowledge consisted of 'How do I make a HTTP call' -> Stack overflow -> Copy -> paste -> tweak slighly.

Learning something from the ground up is so much better.

Good luck!!!