Hello to all who read this:

I have been reading many of the posts here, where there are so many different levels of expertise. I am hoping that some of you may be able to provide me with some answers. I have read over and over again how formal training and credentials are not as important as a good portfolio. What makes a good portfolio? What specific items should it include? What techniques should I be able to demonstrate? What do the people who hire us need? What do they ask for? What should I be able to create?

I am absolutely in earnest about this: if you have any specific, concrete examples of stuff I should know how to do, well as Ross Perot used to say, I'm all ears


This is almost an impossible question to answer, but I'll try to shed some light upon what it should contain, and why it is pretty hard to answer it.

The first step is not, building a portfolio, it is gaining the knowledge you'll use while building up a portfolio.
Just the basics of Java are a good start, but for most jobs, they might not be sufficient. Most 'll require additional frameworks, allthough a lot of employers 'll be willing to let you learn 'on the job'.

There are no 'specific items' to include, just sum up what you've worked on. They don't all have to be Java written. For instance: you've created a nice looking dynamic website for that small business around the corner? It's not just drag-'n-drop from a template?
mention it. not only will it tell possible employers that you don't waste the time you're not working with Java, but also that they might save wages they would have to pay for a graphical designer (if it's graphically a good site, that is)

start simple. don't only write applications because you get paid to do so, write applications because you like to write applications, and, to make your daily life easier.
for instance: you have a gmail account ? write a Swing GUI which allows you to manage it without even opening a browser. of course, you can use existing software, but there's no use putting "I know how to use Mozilla's Thunderbird" in there, and, since you control the source, you can modify it 100% to your needs and desires.

check GitHub, see if there are some open source projects you can participate on. even for the smallest contribution, this 'll tell something about experience of working in a team, and coördinating efforts.

Also, don't limit yourself to one type of code: don't only do Front-End, for instance. Sure, it's nice if you are tha bomb in Swing, JSP, JSF, ... but in the end, none of this 'll really matter unless you have someone writing code for the back-end, maintaining the DB, maintaining the persistence classes, ..., and for a lot of companies, this should be all one and the same guy.
Even if you want to specialise in one end (front-end, for example), don't limit yourself (try all of it: Swing, Struts, Jsp, Jsf, GWT UI binding, ... )

And last but (certainly) not least, make sure you mention the type of versioning systems you are familiar with. Writing code in a way a senior developer would be impressed, is only a catastrophe waiting to happen, if you don't apply a versioning system on the project.

As for these questions:

What techniques should I be able to demonstrate? What do the people who hire us need? What do they ask for? What should I be able to create?

only the recruiters that 'll interview you will be able to decide on this, because this depends on company from company, and even within a company, from recruiter to recruiter. Also, chances are high you'll be interviewed by HR people who don't know squat from Java or IT, so ...

A good way to prepare is, if you have an interview, spend some time on the website of the company you're going to: what type of software do they write? what type of vacancies do they have? if they're all about web applications, showing up with the best Swing skills in the country won't get you the job.

What they ask for should be in the job advert, so read it carefully.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.