Levelling Up as a Full Stack Developer

I recently completed all the backend API apps and one Dynamic Web app VotingApp.

But I am highly dissastisfied with the quality of my work.

####The code that I have written seems quite sloppy to me.
It is not very readable and I think after a few weeks even I would lose track why I wrote a particular piece of code in the first place.

####My limited knowledge of available Javascript libraries.
For something simple as input validation to basic string formatting, I have written the code myself. I think it would be much better (and faster) if I used community trusted libraries for such repettive tasks. Problem is I don’t know what those libraries are.

####Difficulties with FrontEnd specially with React.

I used React for building some UI. But the code yet again quickly got out of hand. The app state had just too many individual components and passing these around as props just meant functional components wiith a huge argument list. (I admit, I don’t know redux, maybe redux can address some of these issues).

I am just too damn slow

Simple apps like Voting app and another app (Library Management) I created just for the heck of it take me too much to build. I need to quicken my pace.

I have covered a good amount of javascript/NodeJS territory, but I find it hard to hold on it. Anything slightly more complex makes me tremble.

Much more complex projects are coming up like the NightLife and Pinterest Clone and I believe they would completely overwhelm me.

So gentle readers,

I need your advice

Is there any online course targeted at Intermediate level Node developers which teaches all the different aspects of web app development, right from React, Redux, Mongoose Schema Creation, Routing to Deploying (using gulp that was a pain too) to web hosts like Heroku?

Basically consolidate all that I have learned until now so that it is easier to build future apps (like the rest of Dynamic Apps and potentially Non-Profit apps) and help me LEVEL UP as web developer.

(I have heard rumors that the somebody made the gitter app in a day’s work. WOW. I would want to be someone like that.)

On a more serious note, I would prefer that such course is free (obviously) but I would be okay with paying for it too as long as the cost is reasonable.

Does any such course exist, or will I have to learn everything by trial and error?
Please advise campers. :smile:

My apologies if this post is too long. :sweat_smile:

Hi @yasserhussain1110

I definitely recommend checking out these 2 courses on Udemy for JS and Node, they’re both paid for but Udemy has a sale on at the moment so they’re quite cheap.

https://www.udemy.com/understand-javascript/
https://www.udemy.com/understand-nodejs/

They are absolute brilliant courses, the instructor is amazing at breaking things down and actually helping you understand the topic at hand.

##React

React is quite a difficult beast to master, took me quite a while to understand it. Definitely go through facebooks tutorials if you haven’t already (just stick at it, even if you don’t fully understand what’s going on)

Also, I haven’t followed it myself, but I’ve heard Wes Bos React tutorial is very good.

##Redux

For Redux, definitely check out Dan Abramov’s (the creator) egghead series, it’s free and gives a good grounding for the ins and outs. Redux is, at its heart, quite a simple library when you get the hand of it. He also covers use cases with React.

Wes Bos also has a Redux tutorial I’ve heard is good as well.


As for a one size fits all approach, I’ve heard that this course on Udemy is meant to be good

https://www.udemy.com/the-web-developer-bootcamp/

It’s meant to be able to take you from nothing to competent developer; personally I’m not fully convinced in these types of courses, I tried a similar one on Udemy by Rob Percival and whilst it was certainly very good, most of my learning and crucially understanding has come from trial and error. Build a project, bug, fix and repeat.

##As for some of your other concerns.

Comments! If it’s not immediately obvious what the code is meant to be doing, make a note of it. Try not to get to bogged down with how a piece of code looks (I was definitely guilty of this), as long as it works. You can always refactor later!

Honestly, if it is something you think you could do, I would write it yourself; it will give you some great practice. If there’s something you don’t think you can do or you just want to try a different approach, just google it. I often look for a library by describing what I want to do, than just add some keywords like npm, javascript or github. Most of the time I’ll come across a library that fits the bill.

I wouldn’t worry about that too much for now, you want to go at a pace that you’re comfortable at, you’ll definitely get there. I built my voting app in about 3-4 weeks, I built my nightlife app in a day (about 3 months after the voting app was complete); it was actually intentional, I wanted to challenge myself to see if I could do it, however, I doubt I would have done it that quickly straight after the voting app.


It’s a bit of cliche but just stick at it. Coding is not easy and even grasping the basics takes a lot of work but the end result will definitely be worth it.

Not many people can say that taught themselves a skill from scratch with just the help of some websites and strangers on the internet.

2 Likes

Thank you very much @joesmith100. I will surely take a look at these tutorials specially the react and redux ones.

No worries matey.

I actually forgot to mention something. I created React versions of a lot of the fcc front-end projects for practice. It was trial and error mostly, but because I already had an understanding of how the app worked (as I had previously created it with jQuery), this act was probably responsible for fully cementing my understanding of how React works.

I feel you on the slowness :frowning: I code about as fast as a dyslexic person reading War & Peace cover to cover.

1 Like

Andrew Mead Complete Node course on Udemy is great:

https://www.udemy.com/the-complete-nodejs-developer-course-2/learn/v4/overview

Really thorough, really clearly explained, and with a coding challenge in every lecture to keep you on your toes. He covers pure Node from the command line, http requests, servers and routing, testing, deployment, authentication and sockets. Oh, plus Mongo, Mongoose and REST. And he introduces you to a lot of useful libraries along the way.

Probably the best coding course I’ve taken.

1 Like

@yasserhussain1110 Confronting the doubts you have expressed regarding your capabilities shows maturity and a passion for your craft. It’s often hard to open up in a way that keeps a positive focus towards self improvement. I commend you for this.

I think that classes and training are only part of the answer. Other approaches, which are all complementary include:

  • Reading

While YDKJS and Javascript: The Good Parts come to mind there are also other subjects such as math, Agile/Scrum methodologies, management, and psychology that can go a long way to helping you build a sound foundation.

  • Participating in Forums

One of the best ways to learn is to share your knowledge with others. It may be counterintuitive, but you don’t have to be a guru to help others. I guarantee that you are further along in these technologies that others who’ve just joined FCC. Use what you know to help them and to force yourself to “stretch”. None of us know everything, but we know enough and what you don’t know you’ll pick up along the way.

  • Just Plain Old Coding

Reading and taking classes are necessary steps, but they alone won’t let you achieve mastery. Being an experienced developer requires coding, coding, and more coding to cement the skills and knowledge you acquire through reading and courses into craftsmanship. This is going to take time, but remember that this is a multiyear journey and you shouldn’t expect that its something that will come quickly.

Remember the adage that the best way to eat an elephant is “one bite at a time”.

I will give you some motivation, the pinterest clone is really easy, I did it with no problem, but the voting app seems pretty damn hard for me.