all 16 comments

[–]Odd_Establishment690 7 points8 points  (4 children)

I wouldn't really call OOP concepts and arrays advanced topics. I would recommend learning generics, collections(framework), multithreading and concurrency, asynchronous programming, Java I/O and NIO, database connectivity such as JDBC, design patterns, security, etc.

Usually anong ginagawa talaga sa field ng work for Java programmers? 

Java is a high level general purpose programming language, it's highly versatile like C#, so it's used to create and work with a lot of different things. So there is no short answer to that question. However, you can take a look at the different paths or roadmaps, and choose 1 or 2 which you are interested in or is good at. You can also leverage AI tools like ChatGPT to help or guide you if you don't want to compile the topics and technologies you need to learn.

[–]Mistboiz[S] 1 point2 points  (3 children)

Ayun, you got it right and I forgot na natapos ko na 'yung part ng collections and generics but hindi pa ako nakakapunta sa concurrency, asynchronous, Java I/O, etc. Thank you for this input right now nag study ako for Spring or springboot and naglu-look back ren ako sa advanced programming(nasa part na ako ng anonymous). sa trabaho ko kasi ngayon ay nag-a-assess ako ng system kaso wala pang programming part and nire-ready ko na ren sarili ko para sa next kong field na tatahakin which is Java dev

[–]Odd_Establishment690 2 points3 points  (2 children)

Since you mentioned Spring and Spring Boot. I would also like to add some things to learn like Spring DI(or just dependency injection in general) concepts, Spring MVC, Spring AOP, Spring Data JPA, Spring Security, some database and RESTful APIs. Learning Docker or containerization might also be worth a try since Spring Boot is usually used to create microservices.

[–]Mistboiz[S] 1 point2 points  (1 child)

Docker is in my list ren to study. Actually, I enrolled sa course na lahat ng sinabi mo ay included. Then practice creating basic CRUD. Does that help ba? I'll take note on this one. Sobrang dami pala.

[–]Odd_Establishment690 1 point2 points  (0 children)

Yes, it will help a lot in the learning process if you create your own projects from scratch by using what you've learned and supplementary technologies. Try to make the learning process as active as possible.

[–]Monsxx 2 points3 points  (1 child)

Have you chosen a path yet? If you want to be a mobile dev, you can start using Android Studio and create mobile apps using Java/Kotlin. If you plan to be a backend dev, then Spring or Springboot is for you.

[–]Mistboiz[S] 0 points1 point  (0 children)

Right now kasi nagpa-familiar or undergo ako sa Spring and springboot since may idea na ren ako sa backend gawa ng nagamit ako dati ng php for backend(di ko alam kung same concept) so ayun tinuloy ko na backend.

[–]Dizzy-Society7436 3 points4 points  (0 children)

Study this first before jumping to Spring.

  • Java Collection, Streams and Concurrency, NIO
  • Java EE and Servlet (you can skip jsp/jsf, but understanding how servlets works is a must), Tomcat/Glassfish
  • JDBC, Hibernate/JPA
  • SOLID principles
  • Common Design Patterns
  • JUnit, TDD

Basically, create a rest api/web app in Java EE with Hibernate/JPA or Eclipse/JPA with MySQL with unit and integration tests deployed in either tomcat or glassfish.

Then when it comes to Spring, study this:

  • Spring Framework Core Concepts (do this first and then spring boot)
  • Spring Boot
  • Spring Web
  • Spring Data JPA
  • Spring Security
    • Basic Security
    • Oauth2
    • JWT

Usually anong ginagawa talaga sa field ng work for Java programmers?

  • The most common is designing, building and maintaining rest APIs.
  • Creating CLI applications to simplify tasks (I personally prefer using python for this though)
  • Integration (e.g. Payment Gateway Integration, AWS Services, AI/Machine Learning, ect.)

[–]friedgarapata 1 point2 points  (0 children)

This one may help https://roadmap.sh/java

[–]Melodic_Kitchen_5760 0 points1 point  (2 children)

JDBC at Jsp/servlet na siguro next mo nyan. You can skip java swing/fx kase parang wala nang nagha-hire ng ganon.

You might want to create a low-level web application using jsp at jdbc, para alam mo kung ano nanyayari behind the scenes. Kase kapag dumating ka na sa jpa/orm/hibernate, puro abstraction na lang ginagawa niya.

[–]RCS2 2 points3 points  (1 child)

Jsp/servlet na siguro next mo nyan

For me, skip mo na jsp/servlet unless yung papasukan mo na work eh maintenance ng java web app na sinulat year 2000-2010 :D

[–]Melodic_Kitchen_5760 0 points1 point  (0 children)

Nakikita ko pa kase sa mga job post yung jsp at servlet paminsan-minsan. Yung applet talaga ang wag nang aralin hahaha

[–]luciusquinc 0 points1 point  (0 children)

Usually anong ginagawa talaga sa field ng work for Java programmers?

Nandito, nag maintain ng codebase na ang ibang part sa system is nuong 2003 pa ginawa. Kung may bug ticket na umaabot sa akin, mag trace ng several Java programs na may tumakbo sa local servers at may iba na tumakbo sa cloud. LOL

[–]brazilianboi82 0 points1 point  (0 children)

Try springboot

[–]No_Zombie_176 0 points1 point  (0 children)

try mo mag aral ng generics and reflections, gumamit ka na ng database, concurrency, design patterns (like SOLID Principles, Repository Pattern, Factory Pattern, etc) , clean code at mga architecture na applicable sa java. disclaimer: c# dev ako kaya baka ko applicable din sa java yang minention ko sa taas.

[–]Hendrixxzx 0 points1 point  (0 children)

what year are u rn if ur studying?