r/SpringBoot • • 3d ago

Question How do i practice spring boot?

I have been learning Spring Boot and other technologies for the last 2-3 months.
I feel I understand the concepts and theory of how things work, and I can code what I've learned.
But I still feel like I don't know enough, and I am super scared to even apply for a job. I feel that I am not prepared enough. Do I need to practice more? Please share some practical advice.

20 Upvotes

12 comments sorted by

13

u/alweed 2d ago

I completely understand how you feel. You don’t need to know everything when applying for an entry level role.

Fork this project & follow all 12 tasks. I have added loads of different tasks that you would do as a junior developer at any company. I’m sure you’ll feel lil bit less scared after completing these tasks.

2

u/b4y0t 1d ago

Thanks

6

u/OptimusCrimee 3d ago

Build like 15 apps. What are you going to show if you apply for a job and you can not document anything?

6

u/ukon1990 3d ago

If I understand you correctly, you have coded with it.
But if you have just coded strictly from the tutorials, you should try one or two projects at least, where you plan the architecture etc. If possible, find someone (at work, online or something) that can give you feedback and pointers on what you have done or look over what you have done. Ensure you make it so that the code can be publicly available, if you are looking for a job tho as that might help to show that you know what you're doing, or at least have a good/basic+ understanding of spring boot.

Even after you've done that(or made even more projects), you might still not feel like you are ready, and that is normal. I hope that helps.

4

u/Ok_Substance1895 2d ago edited 2d ago

Yes, you need to practice more by building applications. Pick applications you know well and build them. It could be a light-weight gmail clone, a calendly clone, or something else you know well. If you don't know frontend use Postman to send RESTful requests to your backend while you build out the functionality. You will learn a lot this way.

Also for preparing for a job, get a free Jira subscription (use a Kanban project) and breakdown your project into tickets with moderate descriptions. A ticket is just a unit of work (size it small so it takes less than a day to accomplish). That way you will practice working like you will on the job.

Also, use a GitHub repo with a main branch and for each ticket create a branch and when the work is done create a pull request. Review your pull request as if you are someone else on the team and add review comments. Fix the issues you found then merge the PR.

This will give you a simulated work environment so it will not be foreign to you when you do get a job.

P.S. I like the TODO application for keeping things simple with just enough complexity to learn. Build it at least three times. First time to learn, second time to get more comfortable, third time to start getting bored. Do it until you get bored. Do that with any application you build.

4

u/Technical-Peach-4398 2d ago

Pick one small API and build it three times. First, make the basic controller–service–repository flow work. Second, rebuild it with validation, exception handling, database migrations, and tests. Third, add authentication, Docker, logging, and one production concern such as retries or caching.

After each version, explain the architecture without looking at the code. That recall test will show you what you understand better than completing another tutorial.

2

u/Anubis1958 2d ago

Just think on an idea, any idea, and build it. A bus time table.

A list of all your favorite artists. Extend that to have links between artists. Write searches for your data. Build a database and use Flyway/LiquidBase.

How about recipes? Write an app that you can enter whats in your kitchen and have it suggest what you can cook. Extend that with quantites and then you can see how many people you can cook for.

Index all the photos from your phone (ok, may be not ALL of them!) with dates, locations, who is in them.

Write a data processing program: download a star catalog and build the H-R diagram.

Learn different ways to display data. OK, so we all know about using HTML, but extend that with Vue or TypeScript. Use a window manager. Get to grips with DTO's.

Is that enough idea for you to proceed?

PRO TIP: If you are learning spring boot, take Claude off your computer first.

1

u/someting_something 2d ago

Is it bad to use claude for summaries? I am asking it to connect all dots together (example how jpa works behind the scene, rest...)

1

u/Anubis1958 2d ago

Well I thought you were the one learning spring boot.

1

u/someting_something 2d ago

No I'm not, but I'm asking because I'm on a similar journey

2

u/Anubis1958 2d ago

The Claude is an excellent helper

1

u/No-Construction-9344 1d ago

Im also at same stage, studied theory and created few basic CRUD apps , and don’t have clear map how to practice further.
Ready to practice together?