DEV Community

Cover image for It's Time to JavaScript
Marvin Kirkland
Marvin Kirkland

Posted on

It's Time to JavaScript

This is the most recent post on my blog My Web Development Odyssey

The definition of insanity is doing the same thing over and over and expecting different results.

ALBERT EINSTEIN

Change and the ability to adapt are important factors for any successful endeavor. It’s especially important for those learning web development and programming. I’ve had my fair share of stubborn repetitiveness for the sake of consistency despite knowing something had to give. It’s something I’m working on. Here’s proof!

Just recently I had to scale back from learning all the technologies I wanted to learn by the end of this year. These weren’t only the traditional triad of web development (HTML, CSS, and JavaScript) but also React, Node, PHP/Laravel/Wordpress, Python/Django, and finally Java.

My latest blog post covered the first major change which involved removing Python/Django, and Java from my preset requirements. The rest is doable to meet my time-frame of being employable by the end of this year.

Second Adjustment

After that first adjustment, I was trying to tackle the entire frontend; HTML5, CSS3, Bootstrap, jQuery, intermediate and advanced JavaScript, and React all at the same time.

And after a month or two I was to engage with backend technologies. Followed by alternating frontend and backend every month or two. I realize now that I was drowning in too many subjects and technologies at the same time.

I was enamored with all this technology that I wanted to learn and work with. And I wanted to know it all now.

Because I felt I needed to rush through to keep to my schedule and reach the next technology in time I found that I did not adequately review the material I had learned.

According to distributed practice theory of learning one should review fresh material 24 hours after that learning session followed by another review one week later. This activates our recall and helps consolidate the information.

I find that I’m able to focus better when I have only a few things that I want to learn. The rapid switching among the various tech caused me to lose focus and worry about getting through that section of that tech in my expected time frame.

In essence, I was “spreading myself too thin”. Another change was required.

Third Adjustment

My next experiment is to work on one or two technologies at most during the same time period. To learn them as fully as I can as a beginner.

I feel it’s very important, for me at least, to intimately and deeply understand JavaScript. It is the programming language of the web after all. There are three Udemy Courses I’m taking that cover JavaScript alone. I’m almost halfway through each of them.

There are a few JavaScript books and other resources I’m also studying from, but the foundation comes from these courses.

JavaScript is the Prime Mover of the Web as far as programming languages go. If one can gain appreciable skill, frameworks and libraries will be easier to learn and understand. Or so I’m told, and so I reason. I’m betting my React and Node education on it.

Besides really understanding JavaScript, I’m also taking CSS – The Complete Guide (incl. Flexbox, Grid & Sass) by Maximilian Schwarzmüller from Udemy. Not only do I want to really understand CSS3, but it can serve as a momentary reprieve from the sometime monotony of JavaScript.

I believe with two more months of learning and plenty of coding practice I’ll have a decent grasp of both of these technologies. And these JavaScript courses will prepare me for in-depth React and Node courses. I’ll spend about 5-6 weeks each for those technologies.

Most likely, I’ll take Andrew Mead’s The Complete React Developer Course (w/ Hooks and Redux) from Udemy after I finish JavaScript and CSS3. And through the videos and ample coding time it will be a sufficient start. After React will come Mead’s The Complete Node.js Developer Course (3rd Edition) also from Udemy.

After node comes PHP/Laravel and WordPress, which I’m planning to allocate about six weeks to. If push comes to shove I’ll push this back to next year. When I complete those introductions, and to complete the year, I’ll begin learning about JavaScript algorithms, best practices, etc., and also begin to prepare for the job market. That’s the plan though it’s subject to change as the need arises. This is a trial and error process. A long but worthy one.

Have you had to change up your study routine for whatever technologies you might be learning? What are your thoughts about learning many technologies at once? Feel free to offer any suggestions in general or about my plan forward. I’d enjoy hearing what you have to say.

Top comments (2)

Collapse
 
rene78 profile image
René K.

Sounds like an ambitious plan! I'm in a similar position as you, maybe slightly ahead. What helped me was to build my own projects. That is when I left the trodden path and really learned. So I would propose to spend relatively little time on courses (maybe only YouTube crash courses from the likes of Brad Traversy) and more on building your own apps using the technologies you wanna learn.

Collapse
 
sfwritermdk profile image
Marvin Kirkland

Hi Rene.

While I think the courses are important I do realize I need to do more actual coding. The primary JavaScript course I'm taking has an exercise after almost every lecture. Through the courses I'll be working on a few apps. I'd like to think of my own project and just go with it. I'm getting closer to that point.