How to prioritize my learning?

Hello there fellas, I’m a 35 year old with a wife and two kids, and a full time job, and I workout 3 times a week.

The thing is, I want to be a fullstack developer or at least get a remote job as a developer, recently I’ve been organizing my learning objectives by the things I need to learn to become a developer, and I have been trying to come up with a schedule for my learning just like I organized my training routine.

So far, in my training I have pretty clear goals for my progress in a week, short term goals in the month, and long term goals for the next 3 years at least, but it doesn’t come so easy determining these stuff for my learning path. And I know that it is really important to know where I’m heading with this learning experience to keep me motivated and not give up.

First of all, here’s a list of all the stuff I need to learn to become a Full Stack Java developer:

General Things:

  • Java
    • Groovy
    • Java EE
    • Design Patterns
    • Spring Framework
  • GUI
    • Java Swing
    • Processing
  • DB
    • MySQL/Oracle
    • NoSQL
    • PostgreSQL
  • HackerRank
  • Design
    • Software Design
    • Scrum/Agile/Lean
  • Mindshift: Break Through Obstacles to Learning and Discover Your Hidden Potential (Coursera)
  • JavaScript or Angular.js

Currently I’m taking various online classes, which cover the following:

  • The Java Masterclass (UDEMY)
    • Java and Java key features and more
    • GUI
      • JavaFX
    • Concurrency
    • Lambda Expressions
    • Regular Expressions
    • Testing
      • Debugging and Unit Testing
      • JUnit
    • DB
      • SQLite
  • Web Developer Bootcamp (UDEMY)
    • HTML/CSS/Bootstrap
    • JavaScript
      • JavaScript
      • jQuery
      • Node.js
      • Express Framework
    • JSON
    • XML
    • DB
      • MongoDB
    • RESTful
    • Version Control
      • Git
      • GitHub
    • Deployment
    • Heroku
  • FreeCodeCamp
    • HTML/CSS/Bootstrap
    • JavaScript
      • jQuery
      • JavaScript
      • React.js
      • Express.js
      • Node.js
    • JSON
    • Ajax
    • Sass
    • Version Control
      • Git
    • DB
      • MongoDB
  • I know that I have to learn all of this, but I also know that I cannot do it all at the same time, or as quickly as I want. I need to take my time with each stuff, and I read somewhere that I’d need to take at least 1 month with just HTML/CSS first, and then take up to 2 months with just JavaScript.

    So I’ll need to be taking baby steps with each topic, and that’s not even taking into account that I need to put some practice with everything I’ll be learning. As I see it, I will take ages before I can make something tangible out of all of this. I’ve planned time in my schedule and I intend to watch a new topic once a week, say, on mondays, and take the rest of the week for practice and trying to come up with something tangible, like making an online CV or something, and then when I learn JavaScript, adding some interactivity to it. For example:

    9:00 AM to 10:00 AM - Watch new topic in Java (Linked List)
    8:00 PM to 9:00 PM - Design simple GUI with JavaFX.

    8:00 AM to 8:20 AM - Read About Iterator Pattern
    8:20 AM to 9:00 AM - Refactor some old code in Java
    9:00 AM to 10:00 AM - Advance classes on JavaScript on FreeCodeCamp
    7:00 PM to 8:00 PM - Design landing page for my TomatoTimer

    And so on and so forth; I haven’t come up with organizing everything, but I think that I need to be learning Java, design patterns, Software Design and maybe some MySQL mostly, since I’m a Java programmer, and I’d like to become better at working with GUI, Design Patterns, Software Design and data bases, so maybe I think that I should prioritize that.

    But I also want to learn about Web Development and stuff, anyways, the thing that I want to ask is: how should I prioritize what is important or what are some of the basic topics that I should be covering first, and when? With Web Dev I have an idea, HTML first for the first month, JavaScript and jQuery for the second and third months, GitHub on the 4th, and Databases on the fifth and sixth months. But otherwise, I’m at a total lost for the rest of the stuff.

    Any help would be really appreciated.

    1 Like

    Take it a day at a time. Its good to have an idea of where you are going, but if you are constantly looking into the distance, you can never see your feet. With such a big checklist, it is easy to become unmotivated and discouraged. Have a dream, i.e. become a full-stack web developer. Now break that into goals. This month I want to learn HTML. That’s it. Don’t think about next month. Don’t think about JavaScript. Yes, realize where you are going but focus on your goal right now. Let me give an analogy. You have a ladder. Some people have tall ones - other have short ones, but you the individual must choose where it will reach. People with short ladders reach the top quickly and don’t know what to do. People with tall ladders have their head in the clouds and don’t know where to start. When you finally start moving your way up your tall ladder, you can’t just look at the top rung. Take it one step at a time.

    I would learn Java first. It will probably be easier to learn than JavaScript to be honest. You can become a capable beginner Java programmer if you diligently work on it for 3-4 months. You can’t really be a competent developer in JavaScript in three months (i.e. copy pasting jQuery code is not competent). Also, I think the programming fundamentals are more clear in Java than JS - just my humble opinion, but I learned C# (very similar to Java) before doing JavaScript for a little over a year, and I breezed through the elementary and intermediate JavaScript ideas with no problem.

    Once you learn the basics of Java (basics, you don’t have to be a pro), then you might start thinking about web development. Learn HTML and CSS first. Neither one is too complicated, they just take diligence and patience to learn. Since you already know Java, basic JavaScript should naturally fall alongside as you learn front-end web development. The programming principles from Java will carry over into JavaScript, but mastering JavaScript will take years of effort to master as it has many quirks/subtleties, frameworks/libraries, and design patterns (object prototype inheritance vs classical for example). Definitely work on the freeCodeCamp front-end section, as you will be making tangible success with the projects. I guarantee it!

    Those are two ideas. Keep in mind what you want to do. Your Web Developer Bootcamp course teaches fullstack JavaScript not Java. So decide if you want to become very good at Java, or learn the basics of Java and then learn full-stack web dev with JS.

    Case in point - focus on one thing at a time. I have wasted much more time trying to learn several things at once. Also, don’t stick to heavily to that schedule. One month for HTML/CSS is somewhat possible, but those skills take time and experience that comes from using them. JavaScript will probably take you a lot longer than you think. Don’t burn yourself out. Spend time with your family and just enjoy your learning experience!


    My personal/professional experience is the exact opposite:
    You don’t have to know everything, you just need to know enough to get you started being productive.

    The best advice I received back when I was a self-learner aspiring programmer was that at a certain point you have to start focusing into learning a single topic, but deeper.

    Your schedule is impressive, and you show that you clearly are an organised person, but In my opinion (and again, take my words for what they are: my opinion) you are adding too much, with the result that you either will burn out or you’ll never learn those topics in depth.

    My personal suggestion is to choose a topic, and focus on it until you are confident enough…
    Also build projects with it; a lot :slight_smile:


    Everything that you have listed represent a really solid skillset. I wouldn’t say that you need all of those, but the great thing about your plan is that it includes enough diversity that you’ll show the ability to work in multiple languages, environments, and software components.

    The only advice I’d like to chirp in with is not to wait too long before thinking you’re ready to make stuff. Try to start and complete projects at each level in your progress. You will learn more from moving your way through hello worlds and shopping list apps and increasing complexity than attempting to constantly progress in a particular direction with your book learnin’. If you wait until you get to a certain point to try to create something, it will be extremely overwhelming.



    I would like to tell you that you are on the right direction. And the reason why I believe that is because you have a target “Full Stack Developer” which gives you direction and path. You started classes and made a list with what you need to learn. You already have short term and long term plan which is good.

    What I would like to add here is that at this point with all the things going on in your life and with so many things to learn is very easy and common to get overloaded with information which leads to lack of progress which in turn will lead to lack of motivation and that is why I would like to give you a couple of advices.

    Apply a technic called Just In Time Learning

    And this is how I would summarise it:

    1. Define your next most important milestone
      • Don’t put the horse before the cart. Work on milestones in the appropriate order
    2. Find the right guides (which you probably did good)
    3. Establish filters
      • The question here is that: Does this information apply to my next important milestone right now?
    4. Define the next action
    5. The most valuable information is the one that you will use in maximum 1 week from the time you learned it

    The reason why I believe this is beneficial is because I have been there, I had a list of things to learn and I struggled and I got pulled in all directions by all the information that I wanted to absorb.

    I hope this helps

    1 Like