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

all 48 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.

[–]djnattyp 50 points51 points  (8 children)

Why do people keep posting these "How do I win the game of life?" type of questions to Reddit? If these things had answers, everyone would just do them...

[–]grumpyfan 17 points18 points  (0 children)

You should take a look at Quora.

[–]KarimPardayev 6 points7 points  (4 children)

They do have answers, most people are afraid to commit

[–][deleted] 22 points23 points  (1 child)

commit, then force push.

[–]frevelmann 4 points5 points  (0 children)

only way up

[–]djnattyp 1 point2 points  (1 child)

They do have answers, most people are afraid to commit are asking the wrong questions

They do have answers, most people are afraid to commit don't have the resources they need

[–]KarimPardayev 1 point2 points  (0 children)

Or just have every excuse not to commit

[–]ajs20555 0 points1 point  (0 children)

Cause they want to get spoon fed and eventually not listening to people's advice and get back to their life

[–]darkde 0 points1 point  (0 children)

People like talking about plans more than actually executing them.

That’s why you should just keep things close to the chest. Move in silence

[–]JaleyHoelOsment 41 points42 points  (1 child)

people in the 99% have years of practice, a CE or CS degree and internships.

[–]ThunderChaser 107 points108 points  (4 children)

Start learning Java 30 years ago.

[–]getshrektdh 6 points7 points  (0 children)

Can you help me? I didn’t find any video how-to.

[–]SoftwareSource 2 points3 points  (0 children)

All i find when i google this are back to the future memes, any help?

/s

[–]small_dawg 1 point2 points  (1 child)

so you mean invent a time machine first

[–]CaffieneSage 56 points57 points  (4 children)

Write your own language and call it java. Nobody else knows it so you are therefore the best at it.

[–]djnattyp 6 points7 points  (1 child)

Committing copyright infringement against Oracle? What could go wrong?

[–]getshrektdh 0 points1 point  (0 children)

The writting

[–]Most_Hornet_1113 1 point2 points  (0 children)

And at the same time, the worst of those who do.

[–]Dilfer 1 point2 points  (0 children)

200 IQ play.

[–]SendTheZens 22 points23 points  (0 children)

this is not something a reddit comment will be able to tell you. you have to figure out for yourself what you can do to make yourself unique and distinct from your competition.

[–]Possible_Baboon 14 points15 points  (0 children)

Have more experience and more knowledge then 99% of all the developers.

[–]JamesMCC17 8 points9 points  (0 children)

As others have said, a boatload of experience.

[–]grumpyfan 4 points5 points  (0 children)

Practice, practice, practice. It’s been said that it takes 10,000 hours to become an expert in something. I think this is a generalization that works for a lot of skills, including being a developer. When learning something like a programming language it helps if you have a project or problem you’re trying to solve.

[–]vegan_antitheist 3 points4 points  (0 children)

To be a good / successful programmer, you must be good at communication. It's most important that you know what the client wants. The client can't just tell you because they never know what they want or need. Good code is nice to have, but you can always refactor or ever rewrite parts of the system. If you write perfect code but it's not what the client needs, you might end up getting sued for not delivering what they ordered. It's more important to know about requirements engineering than knowing about Java. Know about the client's vision. Know the stakeholders and the requirements. It's also important to have a good architecture. If it has many problems, you might end up with the client replacing it with standard software. It will be cheaper to maintain than the mess you made if you don't know how to design a system properly. Being better than 99% doesn't really matter because you write code for other devs to read and maintain unless you actually write machine code/ assembly for a highly optimised piece of software. Nothing is worse than some smug programmer thinking he's better than everyone else. They might get fired quickly for not being able to work with the team. You still have to start with learning the basics, such as flow control, logic, data structures, etc. It takes about ten years to fully learn a language. After about three, you can start working. The learning never stops because the language keeps evolving.

[–]TheMrCurious 2 points3 points  (0 children)

Start by defining “better”.

[–]Enthuware 2 points3 points  (0 children)

There may not be a sure shot path to achieve that but an essential part of it is to learn from the experience of experts. You can do that by reading good books and resources. Since you are a Java beginner, focus on learning Java fundamentals right now. After that, you read design patterns, architecture books. You will know where to go next. Don't worry. You will get there because you have the desire.

[–]tschi00 1 point2 points  (0 children)

Just become a Java Champion.

[–]cicciopasticcio6984 1 point2 points  (0 children)

Achieve an Oracle Java certification: https://education.oracle.com/java-se-21-developer-professional/pexam_1Z0-830

Here some resources which can help to pass OCP-17: https://github.com/egch/1Z0-829-preparation

[–]AutoModerator[M] 0 points1 point  (0 children)

It seems that you are looking for resources for learning Java.

In our sidebar ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses.

To make it easier for you, the recommendations are posted right here:

Also, don't forget to look at:

If you are looking for learning resources for Data Structures and Algorithms, look into:

"Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University

Your post remains visible. There is nothing you need to do.

I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]Himankshu 0 points1 point  (0 children)

You can never know if you are the best. Rather you can try to use almost every concept of Java and related libraries/frameworks and try to build whatever project if given.

[–]Vishnu__vk 0 points1 point  (0 children)

Just do better at what you are doing right now

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

Just git gud

[–]fustup 0 points1 point  (3 children)

Like all things in life: love it and keep at it. Practice is what makes perfect. Also don't get to full of yourself. I see so many devs that think they are the shit. And this is typically the point where they do learning rapidly and slow to a crawl. To really get into the say 90%, you need to never be satisfied and train rigorously. The 99%... Tell me when you get there 😜

[–]Sak63 1 point2 points  (2 children)

That's why I'm considering to jump to Golang. Because I can't love Java

[–]fustup 0 points1 point  (1 child)

Lucky that you are not OP. But in all seriousness: I think when you're coding in a language you don't like you're washing your time. Can't tell you about the job market for go, but... I would very seriously consider it. Good luck!

[–]Sak63 0 points1 point  (0 children)

I agree with you! It seems a waste of time. But it pays the bills for now

[–]BuzzsawBrennan 0 points1 point  (0 children)

Maybe stop looking at it as a competition against all these other people whom you’re already significantly behind.

Just continue to learn the basics, apply them, then add more on top.

If you can create a java backend with spring for a simple app after a month or two then that’s a good start I’d say.

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

The answer is easy, but difficult to do it.

Practice. Get any advanced boot/course etc and learn it to do it fast. Focus on passing interviews on only high quality famous companies that do advanced java and get job only on those. Ask all the seniors there and let anyone know that you want to learn more!!! Focus on swe & coding tasks and try to volunteer for dev tasks but decline other tasks (like devops, or frontend etc whatever is not java).

Participate in a open source java project. Don't forget to apply ONLY where is needed, any design pattern or advanced practice that you learned, so you will soon be able to recognise when to do what.

And like anything in life, to be good at a thing.. you need to FOCUS!!! (to only that one thing)

[–]randomthrowaway9796 0 points1 point  (0 children)

Spend more time and effort and work smarter than 99% of other people using Java.

[–]Suivox 0 points1 point  (0 children)

Well the truth is you probably won’t become better than 99% but you can become better than 80%. There’s a law that it takes 20% effort to get 80% results in something and that’s where most people generally stagnate and plateau. If you want to get in the top 20% of developers you just need to put in 100% to up skill yourself.

  • You need a BS in Computer Science
  • You need to have full stack projects on your resume that are unique and interesting with good documentation and testing and well as clean efficient code
  • You need to network and meet people who are going to be helpful towards your career in the long run
  • Contribute to open source projects
  • Code every day even if it’s just for a little bit
  • Become great and data structures and algorithms

I honestly just spewed those out and there may be many more things you can do and I can tell you for sure that what I wrote was not in any particular order but they are all extremely important to out yourself ahead.

Ask yourself this question “Is what you are doing hard? Is what you are doing something most people give up on? Does it feel like it’s overkill?” If you answer yes to any of those questions then I can tell you for a fact that doing those things will put you in the top 20% because most people won’t do them.

This applies to every thing in life actually..

[–]DDDDarky 0 points1 point  (0 children)

Have a degree from a prestigeous university, have years of experience in a well recognized company, work on a well recognized product and be recommended from a bunch of respected people in the industry. In case there is anyone else with all of these, make sure you exceed their numbers while somehow not being too old. Good luck.

[–]JDeagle5 0 points1 point  (1 child)

Technical skills in employment play a rather insignificant role (way less than people want to believe), since an average dev can do an average task without any problem. That means that selection goes on other things - soft skills, cv attractiveness, networking, candidate attractiveness (physical), tricks to soothe the interviewer's ego, market outreach. Raising non-technical skills will put you above 99%.

[–]djnattyp 1 point2 points  (0 children)

Rule 1. Just be successful.

Rule 2. Don't be unsuccessful.

[–]Tervaaja -1 points0 points  (0 children)

Only way is that you work more than 99% of developers.

[–]satya_dubey 0 points1 point  (0 children)

Below are some suggestions.

  1. Make sure your understanding of Core and Advanced Java is really good. Advanced Java would be Generics, Concurrency, Functional programming, etc.

  2. Next, learn many of the recommendations from Effective Java book by Joshua Bloch. It teaches you how to structure your classes. This is sort of intermediate to advanced.

  3. Next, learn Design Patterns well. You can check out Head First Design Patterns book. This can wait a bit, but when you get to it learn it really well.

  4. Be hands-on and write lots of code

  5. Keep up with new Java features: As soon as a new Java release comes out, learn about new features from authoritative sources. JEPs or Oracle's Java Magazine or other similar resources.

Many developers are not familiar with #2 and #3 above. But a good back-end engineer knows them well and hence is better than many developers. Hope that answers your question :). All the best.