Udemy course "Git a Web Developer Job - Mastering the Modern Workflow

I recently completed Brad Schiff’s Udemy course, Git A Web Developer Job. It’s the first online coding course, and first Udemy course, that I’ve dropped cash on. And I’m glad I did.

I’m at the stage of learning web dev that I can cobble together a basic website using HTML, CSS and Javascript that looks pretty okay on a desktop screen.

But when it comes to adhering to some form of best practice, using tools to develop an efficient workflow, and creating an end product that can be easily modified and extended, I’ve been at something of a loss. I suspect this is a common experience for many people who are teaching themselves to code. You can hack stuff together, but the kind of thing you’re producing wouldn’t fly in a collaborative, professional environment.

This course addresses this issue, and provides a strong foundation in both the how and why of using Node in front-end dev to streamline workflow and create modular code. I’m already applying the principles to my new projects, and feel I have a better understanding of things such as Node/Gulp workflow, mobile first design, and modular CSS and Javascript.

The approach
I almost made the mistake of passing over this course because the project at its center – a simple, one page site for a travel agency – seemed too simplistic. I assumed it would take me just a few days to work through. It ended up taking me a few weeks, and I learned a huge amount.

Following along step-by-step to build an exact replica of a simple website might not sound exciting. But it’s effective, and a lot more engaging than it sounds, in a similar vein to another great course – Shay Howe’s HTML and CSS – which would serve as an excellent primer for this course for those who need to get up to speed on basic HTML and CSS

What I find most off-putting learning things like Node and Gulp is that just getting started with them is overwhelming. There are so many unknown interactions and unfamiliar concepts that, when something doesn’t work as expected, fixing it can be such a demoralising experience that I just give up. That, combined with my lack of confidence in what it is these things actually do, mean it was nice to be led through the processes.

Also, while you are following along step-by-step on this course, you aren’t just blindly following instructions. Brad takes the time to explain each stage, and the concepts behind it, without either overloading you with theory or leaving you flailing.

Fully loaded
This course covers a lot: automating workflow with Node and Gulp; Browsersync, CSS methodology; basic Git and Github; image optimization; building modular code; responsive, mobile-first development; using media queries and mixins; and applying object-oriented principles to simple Javascript code.

It’s a nice change from courses that dive deep on a single subject, but leave you at a loss as to how to go on and apply what you’ve learned.

My biggest takeaway (and the main reason I got this course) was the use of node/npm/gulp – things I had seen in front-end web dev job descriptions, but was unclear as to exactly what they brought to the table, and how they were applied.

While I am still nowhere near confident enough to start building my own gulp processes from scratch, the course has given me an excellent introduction, and a template I can immediately apply to my own projects.

As soon as I finished the course, I applied the processes to one of my own projects, and created my own crib sheet that I will use on each of my future projects.

Even though it may feel like overkill on my smaller projects, the repetition should help me become more comfortable in using gulp, applying mobile-first and modular concepts, and eventually experimenting with creating my own workflow and gulp processes.

You’ll learn a lot
As well as a clear introduction to the whys and wherefores of taking the time to set up a Node/Gulp workflow, the course exposes you to a wide range of best practices that you can put into use immediately, such as mobile-first approaches and building modular, extensible code.

It’s also a good, brief showcase of object-oriented code in ECMA6. This was particularly welcome, as while I learned a bit of OOP with Ruby, and, I have since been wondering how to apply it to JS.

I admit there were more than a few points when my eyes rolled at yet another addition of a Node package or the intricacies of SVG optimization. But while some of these automated processes may seem more trouble to set up than they’re worth early on, you see the value by the end.

Issues
Some of the gulp stuff left my head swirling towards the end, and it can get tricky following what’s happening in terms of which package is doing what. That’s no fault of the course though and, hey, these are videos – you can rewatch them, draw out a few diagrams, and get it clear in your head.

Fortunately, I had no major debugging issues, other than the occasional misplaced semi-colon (due to my typos, not the course, which as far as I can tell has no such mistakes). There are a few problems caused by changes in newer versions of some packages that came out since the course was published, but these were highlighted in the course message boards.

One area that I think could have been covered more thoroughly was deployment. At the end of the course, you deploy your site to Github pages. While it was nice to learn, realistically you’re unlikely to be doing this with your own projects – they’re more likely to be living on a server or a service like Heroku. It would have been nice to have looked at some of these alternatives, and also to have covered best practices for deploying updates.

Lastly, I’m still not convinced by the BEM methodology. Its adherence to the single responsibility principle is appealing, but tends to lead to lead to “div overload”. That said, Brad is totally upfront about BEM’s shortcomings, and mounts a good argument for the approach. Ultimately, it’s good to be exposed to a CSS methodology, and I’ll persevere in using it in a few more projects until I cast final judgement.

Summary – highly recommended
In summary, this course is an excellent introduction to using Node and Gulp to produce a robust workflow, adhere to best practices in terms of your project structure, CSS, Javascript and mobile responsiveness, and apply these concepts to your future projects.

I have posted a crib sheet based on this course that I will be using for my future projects at https://github.com/AdamSkuse/cheat-sheets/blob/master/Node-gulp-frontend-dev.md

This review originally appeared on my blog.

6 Likes

Thanks for this review - I totally agree. Brad Schiff has a lot of great tutorials and this is one of the best. Thanks also for the “cheat-sheet”.