r/learnjava • u/scared2026 • 17h ago
Questions for java developers
So I am just starting to do java. Even tho I learned at scl for years but didn't really paid attention. Now I am thinking of building Career in java. In order for me to get good at it do I learn java everyday and do coding everyday to be better at it? Or do I learn something part by part like 1st I learn oop then exception handling or something? I did try crud operation yesterday. Somehow did it with the help of my friend. But still confused at some part. Looking at my friend I feel really behind. For me to get to there level, I Don't think I can do itđŠ
Can someone share some tips on how make coding fun.maybe a roadmap for me to follow, be good at programming.
4
u/smichaele 16h ago
Nobody can make coding fun for you. Youâll either enjoy the challenges of problem solving and learning new things, or you wonât. If you want a career doing it, itâs a job. Many people enjoy their jobs, but some donât.
0
4
u/Ok_Substance1895 16h ago edited 16h ago
Learn by doing. Pick a project, like TODO, and build it. That will give you more than the basics and you will actually learn how to build projects. You will most like only use maybe 20% of a language's features over your career (looking at my own career). Don't try to learn everything, learn what you need to learn when you need to learn it so you don't waste time learning something you will never use.
Having said that learning concepts help a lot. Learn those as they come up and lead you into an area that interests you. Do this on the side of building projects. Let the projects guide what you learn.
Best to start with unit tests that exercise the code you are writing so you can debug it and learn that way too. If you do not do frontend too, you can use Postman to send requests the way a web browser would send messages to your backend when you get that far.
Hint: Most TODO application tutorials focus on frontend. You are learning backend so think about storing the todos and their lifecycle.
You can go super nuts with TODO too. Multiple TODO lists, users, logins, calendar scheduling, of course, database, email sending for reminders, subscriptions, payments, billing membership, cloud deployment, IaC, etc.
It can get huge and encompass almost everything you need to learn to get a job doing this. Of course, build other things too. This is just to illustrate that you can learn almost everything you need to do well at a job by taking a project the distance.
Doesn't that sound like fun? :) Learning is fun. Get out of the tutorials and only use them when you need to learn something they teach that you need when you need it.
I hope this helps.
1
u/four204eva2 16h ago
Don't focus on the language, focus on the concepts that swe is built on: data structures, algorithms, etc. learn how to think in objects and how to model abstract ideas as an object. Understand that the language is just that, a language. I speak English, if I wanted to describe something it would be different than how someone who speaks Mandarin does, but we're referring to the same object.
1
u/jlanawalt 13h ago
I agree in general for âlearn to codeâ or âlearn computer science.â
If the goal is specifically to learn Java, then I think you should just start learning Java and making it do something before going off on the long journey of a software engineering background.
If a person is ready to commit to a proper education in the field and has the time and resources, then yes, enroll in a proper program and take that journey. Wade through the history of computers. Learn about binary search trees and O notation. Etc. All valuable things that can be a boon if you not only pass, but internalize the lessons.
If a person is entertaining the idea and not sure or able to make that commitment, then I think it is better if they just start learning to do things in the language they have chosen. You donât need to (and shouldnât) make your own linked list to implement an address book or checkers game, or make your own website.
Later when a challenge arises and you need to optimize you might ask for help and get a response about search algorithms or whatever and then you can go learn when you need and care about it. Probably .find weâll always be fast enough. Maybe some day not understanding ArrayList vs LinkedList bothers you enough that you start learning data structures. Meanwhile Spring Boot best practices have already been guiding you to make things in a generally good enough way for your web app.
1
u/useandkeepit 14h ago
Learn the fundamental concepts first like oops, exceptional handling, collections. Then if you want to do dsa then it's enough. But for development you need to learn - MySQL/postgres , build tool like Maven, gradle, jdbc here you r ready to make crud based application but want to build which runs on server then learn spring then springboot. That' will be quite enough to start into development journey.
I have experience of something 1.5 years of java ecosystem.
1
u/Key_Storm_2273 13h ago
Itâs about being well rounded. You need both lessons/learning and building. If you focus only on lessons, you wonât build concrete skills. If you focus on just building, you might become distracted with what you get good at rather than learning everything you need to learn. Pretend itâs the 1980s and none of the services we use exist, and aim to go slow and academically, textbook ways. Donât be distracted by whateverâs going on regarding latest news about bad stuff, or trying to keep ahead of people who are ahead of you. Donât try to keep ahead compared to others. You should focus on making your learning well balanced, and learning as much and as widely as you can before your mind becomes more rigid.
You become rigid by choosing what youâre most comfortable with, and becoming really good in one particular task, habit, skill, or tactic. Once it solidifies, you can become more stubborn when it comes to doing things that doesnât align with the way youâre used to doing it. Some people get stuck as frontend or backend dev, application based or system based, arranging elements or designing logic. Theyâre really good at one, but because theyâve gotten solidified, they find trying the other parts difficult or feel like itâs starting all over again. You can avoid this by learning a little bit of everything, so that when you need to learn more, no particular area feels like a waste or more uncomfortable than others.
1
u/Skiamakhos 2h ago
Go to the university of Helsinki's MOOC.fi site and do the Java MOOC there. It's free and will teach you all the basics. Then go and try LeetCode. Most of what you learn from LeetCode won't be useful day to day but it will get you past the coding interview. Then pick up Spring because it's ubiquitous across the industry.
â˘
u/AutoModerator 17h ago
Please ensure that:
If any of the above points is not met, your post can and will be removed without further warning.
Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.
Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.
Code blocks look like this:
You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
To potential helpers
Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.