I have been doing a lot of work with junior Java developers recently and as such have spent a lot of time trying to work out what their priorities are when considering a new position. (Note: I would consider a developer “junior” with anywhere up to 4 years experience, probably someone making their first or second career decision. Anything experience beyond that and I think it’s fair to say you can no longer be considered “junior”)
1. Where the company sits compared to other organisations in the Financial Markets
2. What the company culture is like, and whether the colleagues are a team of “nice people”
3. The technical standard of developers at the company
4. What opportunities there are to learn and for career progression
5. What they will be doing on a daily basis
6. What business skills they will learn
Perhaps surprisingly I have found that point 4 (“What opportunities there are to learn and for career progression”) is actually the least mentioned point of importance when initially thinking about making a decision. Normally I find I am bringing this point up and then explaining what each opportunity might lead to in the long run. However once you bring it up it tends to be something they take it on board, but still few junior developers have brought it up on their own. Points 2 and 3 are probably the most commonly cited as being important.