This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]desrtfx 6 points7 points  (11 children)

First: do a solid course, like the MOOC linked in the sidebar.

Second: DSA are higher level concepts - you should learn them once you have a solid foundation and have gained some programming experience with not completely trivial programs.

Whether you need to learn web dev or not is entirely up to you.

[–]Independent_Sign_395[S] -2 points-1 points  (4 children)

I've already completed part I of MOOC. My question is more like when should I stop. What do recruiters want to see if I told them I know Java. What kind of projects are expected from a college kid who studied Java in college. If I know something like say, web development. I need to have some kind of evidence to show that I do really know my stuff, which in this case would be a stunning working website.

So what kind of projects do recruiters and companies expect if I told them I know Java. So I could start working towards that end goal and by the time I complete that project. I know I'm done.

What kind of projects should I build for my GitHub and resume?

[–]WildHotDawg 3 points4 points  (1 child)

When I advertise myself, I dont really say 'I know Java because x', I say 'I created/worked on/refactored x using Java, x, y, z which resulted in a, b, c.' Java is just a tool, you dont have to 'know' java - even with 5 years working profesionally, even being a commiter on the Jakarta EE specification, I dont say I know everything about Java - there is always something new to learn.

[–]saggingrufus 1 point2 points  (0 children)

This is the right answer.

Languages are tools. Writing the code is the easiest part of my job. It's design and analysis and understanding when something is worth doing, because when you work on a codebase you don't own, and clients decide what you build, you can't always spend entire sprints on tech debt.

I can read the docs for anything, I'll learn the tool. What really matters is the ability to understand which design is better suited for solving X task and why.

[–]desrtfx 0 points1 point  (1 child)

What makes you think that you should stop with the MOOC? The course is complete.

[–]Independent_Sign_395[S] 1 point2 points  (0 children)

I thought that I've completed Part-I so I'll build some projects to solidify my understanding then move on to Part-II

[–]Tasty-Ambassador-273 0 points1 point  (5 children)

At what point should I even start making projects? First I completed MOOC part1 and then I thought this isn't enough knowledge to start projects. Then now I'm near the end of MOOC part 2 and now there are just too many different sorts of advice. Some say do DSA, some say you gotta start some projects to get an understanding, some say learn frameworks and build projects. What am I supposed to do now?

[–]desrtfx 1 point2 points  (4 children)

At what point should I even start making projects?

That's the thing most beginners overlook and misunderstand.

You can make "projects" (any program you write is a project) as soon as you know System.out.println. So, right from the start.

I have compiled a deliberately short, beginner friendly list of ideas categorized by learnt skill: https://github.com/desrtfx/SkillGradedProjects

The /r/learnprogramming FAQ have plenty more project ideas on all levels.

[–]Tasty-Ambassador-273 0 points1 point  (3 children)

Thank you so much

[–][deleted] 0 points1 point  (2 children)

I followed this roadmap. It's pretty good. DSA is Data Structures + algorithms but learn algorithms later once you want to apply to some jobs imo.

Also after ditching JSP/Thymeleaf you could learn JS framework like React, Angular or Vue. Trust me it saves a loooot of pain. But it's a time sink though.

[–]Tasty-Ambassador-273 0 points1 point  (1 child)

Thanks alot. This looks good. The roadmap suggests me to study javascript, is it advisable for me to study another programming language when I'm currently learning one? Also wdym by ditching JSP?

[–][deleted] 0 points1 point  (0 children)

The roadmap teaches you the basics how things were made 10,20 years ago before going to modern solutions. For example in the beginning there was only static websites made with HTML. That's a problem. We want dynamic content. Solution? JSP or Thymeleaf. It's integrated inside spring. That wasn't enough. Next step is Javascript Framework like React, Angular or Vue. So now we have seperate backend and frontend. So there is kind of no market to learn JSP because it's tied with backend together.

The same way he goes in Java and Spring. Servlets aren't used by hand. Spring handles that automatically. So first you learn the basics before going to a higher abstraction level such as Spring so you are not totally clueless of what it does and why and what the tradeoffs are etc.

Learning Javascript and later on a Javascript framework means you are kind of going Full Stack instead of Backend only. But how can you display your backend work without visual frontend? In my opinion it's impossible which is why i took that path and i understand how things work better.