Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have studied Java for quite a while and written a lot of small SE programs. I have a good grasp on the language at this stage but unfortunately I do not work in the area of Java programming (as of yet). I would like to develop a portfolio of Java programs for the purposes of moving into this area. This is also vital in most interviews. I also would like to develop this portfolio to further my learning (maybe in the area of Java EE).

Can anybody recommend a starting point?



migration rejected from Dec 1 '14 at 14:07

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Kilian Foth Dec 1 '14 at 14:07

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Kilian Foth
If this question can be reworded to fit the rules in the help center, please edit the question.

Look into contributing to open source projects. – birryree May 4 '11 at 20:03

Start a Github account, and host projects you've worked on there.

and as birryree stated, working on open source projects can be good. This can also be done via github.

this is great advice, GitHub can showcase your accomplishments. I would like to add, a development blog is a great way to document your trials and tribulations of developing software and shows people how you are progressing and thinking. – Jarrod Roberson May 4 '11 at 20:19
bitbucket - what? ;) (still +1 :)) – Demian Brecht May 5 '11 at 5:51
bitbucket is nice too, but github just seems to be the more popular, standing thing to use these days. Alexa stats: google trends: – GSto May 5 '11 at 14:49

My advice? Come up with something you actually want and write that. Don't choose projects based on technology for something like this—choose the technology based on the project.

Deciding on which technology to use based on the project has some important advantages:

  • You're more likely to choose the right technology for the right purpose. If you set out to write a Java EE program, you might try to shoehorn Java EE on the wrong problem. On the other hand, if you start building something and realize Java EE would help you finish the project, you've probably chosen the correct tool for the job.

  • You're much more likely to not only finish the project, but ensure its quality. I know from experience that if I do a project just to learn a technology, I either leave it half-finished or barely working. When I do projects for fun, I actually finish them and add a bit of polish.

  • You will, quite simply, have more fun and enjoy the outcome more as well.

In short: think of a program you want to have—it can even be something relatively simple. Write that, choosing what tools to use based on what you're doing. Even using tools not directly related to your planned career is good—employers are probably going to look more favorably on a well-executed project not directly related to the job than on a half-hearted effort using the tools in question.


Not the answer you're looking for? Browse other questions tagged or ask your own question.