4 answers
Asked Viewed 510 times Translate

Job for self-taught junior java developer?

What is the best way for a self-taught Java developer without degree in computer science to get hands on the real project to gain experience?

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you
100% of 5 Pros

4 answers

Updated Translate

Tony’s Answer

My suggestion would be to try your hands on some open source projects. There are usually projects out there that are welcoming of fresh devs. Github would be the best place to start. Think of it as your personal portfolio.

You can then show your work off to potential employers which might help land you a job.

Tony recommends the following next steps:

This looks promising ... https://github.com/MunGell/awesome-for-beginners

Thank you for response. I'll have a look at the projects. Do you think a technical degree is absolute must have for a successful job application? Victoria A.

A degree does help but I know several folks I work with that do not have a degree. The downside is it might be more difficult to get promotions, as that has been the case for them. It also depends on what kind of company you work for. Start ups are a lot more relaxed about degrees versus corporate companies. Hope that helps. Tony Andrade

It does, thanks you Victoria A.

100% of 4 Pros
100% of 1 Students
Updated Translate

Greg’s Answer

I was going to recommend exactly the same thing as Tony: open-source Java projects are plentiful, and I've never yet seen one that didn't have more open bugs than people to fix them. For example, Hadoop (a very popular and high-profile project on which I worked briefly in a company environment) still has a few bugs open that I filed more than half a decade ago. Some may not be relevant anymore, but at least one compression bug (which finally got some love a few months ago) definitely is.

Other high-profile Java projects include Kafka and Samza (both stream-processing, big data projects); I happen to work with the teams that created both of them. There are many, many others, however.

One thing to keep in mind (but another, related opportunity to help and gain visibility) is that the code in these projects frequently outruns the documentation. In other words, it can be a bit difficult to get things working in the first place, even with "official" sample code. Yes, it worked great when it was contributed, but the underlying bits have changed since then, and maybe it hasn't been tested and/or updated lately. So trying things out, asking questions online when they don't work as intended, and then adding or fixing documentation can be a great way to help out from the very beginning. And then once you have things working for yourself, you can start to tweak the examples, add more complexity, and then start looking at bugs no one seems to be working on. Diagnosing bugs is one of the most important skills a software engineer can have, but if it's not a critical, breaks-everybody bug, it may remain open for months or years without attention from the main devs.

By the way, if you submit a bugfix and get review feedback that you've taken a bad approach or should refactor something to share more code or whatever, don't take it too hard even if the tone is a little harsh (which, sadly, happens a lot online). Persistence and patience are two more traits every software engineer should cultivate. ;-)

Greg recommends the following next steps:

Look at a number of open-source Java projects, try out a few, and then check their open bugs and documentation for places you can help out.

Updated Translate

Suhitha’s Answer

Hi, Start learn any programming from basics For Example: considered You want to become junior java developer learn java from scratch (w3schools.com), Learn advance Technology like spring and hibernate. practice technical programs from Hackerank. It helps you to become good programmers

Updated Translate

Micah’s Answer

In addition to the feedback you've already gotten about open-source projects, I would add that now is a great time since it's hacktoberfest. And, you can search on github by language.