Coda 2 Coder - Frontend
Tags: javascript, codenewbie, beginners, northcoders
Published: 2021-08-26 09:02:22

###[Dev Journey Introduction](https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn)
###[Boot Camp Weeks 1 & 2](https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4)
###[JavaScript Foundations](https://dev.to/sirkevlar/coda-2-coder-foundations-1igk)
###[Backend Block](https://dev.to/sirkevlar/coda-2-coder-backend-4lf)
###[Frontend Block](#frontend)
###[Final Project Phase](https://dev.to/sirkevlar/coda-2-coder-final-project-d7a)
<br />
Hey again 👋 it's been too long! I had been looking forward to frontend block since the course began and it didn't disappoint, although the late blog entry probably goes to show just how busy thing started to get!

##Last few weeks in a paragraph (or two)...<a name="frontend"></a>

Late July/early August are when thing really start to hot-up in the garden 🌞 🌵 Everything is fruiting and we finally had first taste of our hard work. One stir fry with some of our own carrots 🥕 and some of Alys' (my youngest daughter) peas, which are definitely the most successful crop this year. All finished off with fresh herbs 🌿 from our vertical herb garden.
The pace really started to escalate in boot camp as the workload began to ramp-up leading towards final project phase. 👨‍💻 The pressure to get a job is coming fast and there are projects to finish for that all important shiny portfolio website. Those of you who are particularly vigilant 👀 might have noticed there was quite a gap between that last entry and this, but I am finally getting close to catching up 😏

![Daisies growing on our back wall](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oc5qh6linpu0kias99sx.jpg)

##What 3 weeks of frontend taught me...

Frontend can be more complicated than backend. Backend block had started out really difficult, with plenty of new concepts to grasp and had taken about two weeks before I understood what i was doing. Once I got my head around it though, everything seemed to slip into place and the last week was a breeze. Frontend was much more familiar territory for me, so it started slow and easy, but soon changed! Making sites properly reactive and managing state can be challenging and frontend soon started to look in many ways trickier than backend, albeit in much more comfortable surroundings.

Everyone seems to find CSS 'fiddly'. I have to admit that I am one of the few devs I know who actually enjoys working with CSS! I am not sure why, but I suspect it's because I have a pretty good understanding of the box model and tend to be able to get the results I want pretty quickly. This became clear during frontend when myself and Juliette (the queen of CSS) were called upon on numerous occasions to provide impromptu CSS support in the form of zoom chats. Teaching is the best way to master a subject though, so winners all round.

Working with the DOM frustrates people. One of the wonderful things about unit testing is it all happens in one place: You can have test files and utils files open simultaneously in VS code and the whole process is smooth and easy. The frontend experience can be somewhat more 'janky', often having to hop between screens and dealing with 'hot-reloading' that sometimes just doesn't reload. I am sure that once I have a huge developer’s screen as part of my setup that this will be less of an issue, but if you are working from a single 13" screen, there is a lot of hitting [COMMAND][TAB].

React can be as complicated as you choose. React was lots of fun to work with as it makes it much easier to produce really responsive websites. The use of components just makes loads of sense when it comes to a site being extendable. Also when developers want to be able to put sites together at speed, re-using components is really efficient. The more re-usable you make your components though, the more you are going to rely on passing props to them and of course the more files you will end up with. I got the feeling that only experienced React devs are getting the most out of it terms of re-usable components and I am certain my code will become much more DRY and efficient as my understanding of React increases.

Forms can be awesome. I have to admit that when I have made websites in the past, largely just using HTML & CSS, I have found forms to be quite a lot of work, with very little reward. Once you add the functionality into a form though it becomes much more challenging and interesting. The form validation sprint was one of the most surprisingly fun days in the course so far and no longer do I sigh when I hear the word form.

Flutter looks great, but there is still a lack of online community. I had heard so much about Flutter coming into this course and was really excited to try it out. Dart is very similar to JS and Flutter looks pretty straightforward if you like OOP. The Flutter docs are really good too, but you just can't beat React when it comes to the community support. Every time I hit a problem with Flutter that the docs couldn't help me with, it took sometimes hours to arrive upon a solution. Hopefully as it becomes more frequently used this will change, but for now I think React wins thanks to the vast amount of online support available for just about every error you could come across.

![Athlete crossing the finish line. Picture by RUN 4 FFWPU](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9lg21snxa2po7kkhedvr.jpg)
##Coming up in part six...

Final project block. Who will be on my team? What kind of app will we build? Will I be able to convince any of them to try out Svelte? 
<br />
###[Dev Journey Introduction](https://dev.to/sirkevlar/coda-2-coder-dev-journey-4kn)
###[Boot Camp Weeks 1 & 2](https://dev.to/sirkevlar/coda-2-coder-boot-camp-5fd4)
###[JavaScript Foundations](https://dev.to/sirkevlar/coda-2-coder-foundations-1igk)
###[Backend Block](https://dev.to/sirkevlar/coda-2-coder-backend-4lf)
###[Frontend Block](#frontend)
###[Final Project Phase](https://dev.to/sirkevlar/coda-2-coder-final-project-d7a)