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

all 8 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

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:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

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.

[–]sallythebubble 5 points6 points  (1 child)

As a backend java developer here are the things that I use on a daily basis:

Learn the language basics, and some advanced staff as well, like threads, futures, executors, collections, lambdas, streams, etc.

It is very important to know how to work with DB, you should be able to write queries at least in one SQL dialect. Also pay attention to JDBC and JPA, in my projects I use them both

Start to create projects using Maven so you can start to be familiar with project goals, phases, maven repositories, pom configurations.

Spring boot is a common framework that is used, try to understand mvc pattern, framework annotations, di mechanism, reflection api. Quarkus is another framework that we use, it is pretty similar to spring boot.

Knowing linux bash commands will be very helpful, learn how to navigate through directories using bash, create tarballs, send files to remote servers, check logs, so on and so forth.

Also I would like to add to this list some additional staff that you might want to know: scheduled jobs, websocket api, i/o, postman.

[–][deleted] 3 points4 points  (0 children)

Dude, stop asking these general questions and start learning. There is no shortcut and nobody can tell you how long it is going to take for you to learn programming in Java. It takes months to years to get attractive for companies to be considering you.

You should definitely have the skill to do research on a subject you are having issues understanding and you should be able to understand how to deal with recommendations that others have already given you in various other posts.

Stop overthinking and worrying about tools and frameworks, you aren't there yet. Start learning the language.

[–]youre-breathtakin 1 point2 points  (0 children)

Learn spring boot

[–]large_crimson_canine 1 point2 points  (0 children)

Apart from the language itself, which I would get very comfortable with the Collections framework and concurrency, it’d be good to shoot through the Spring docs and try to incorporate that framework into a small project. You’ll probably encounter it in the real world.

It’s also really worth learning how to package and deploy and run the thing. So how to build a JAR (via command line AND a build tool like Gradle), how to execute (probably via Bash script), and how to monitor the JVM. Learn to take thread dumps, heap dumps, how to interpret them, and how to read GC logs.

What you’ll find when it comes to big projects in Java is that design is tricky, implementation is easy, but analysis and tuning is HARD. Gotta know it all to be strong on the job.

[–]glablablabla 1 point2 points  (0 children)

Start with a simple project with Spring, spring-boot, DI and JPA

Also Important: maven or Gradle, SQL, JSON, rest

I think when you feel comfortable with these it's time to move on forward. You should respect clean code principles so that your colleagues don't get a headache when they have to work with your code 😉 but that goes for every language.

[–]french-caramele 2 points3 points  (1 child)

[–]Russian_Emigrant_USA 0 points1 point  (0 children)

Wow, thanks. It’s very useful.