I went through the same phase as you. In a nicely ordered world performance reviews - which most companies claim they hold - would actually happen, and be really helpful! The sad truth is that most often the time for them comes and goes, and no one bats an eye about it other than you.
First of all, I'd like to explain why a performance review can be beneficial:
In a perfect world your manage/team leader is paying attention to your performance, work quality, work ethic, etc. They want to guide you along your path to becoming a better developer, and one day rise to their own level. They periodically look over your code, and provide some mentor-ship.
A review is the perfect arena for an honest face-to-face conversation on how you're handling your duties, and the areas you should improve in.
Last but not least, a copy of a positive review can be used to build your portfolio for your next job hunt.
The one year mark is perfect for such a review. At this point you're familiar with your role, and are probably getting comfortable with your routine, although you probably still have much to learn. If you have any bad habits that you need to break THIS is the time to bring them to your attention.
And now for the bad news:
1. Few people care, or have the time
I've worked 3 co-ops and 2 full-time jobs as a developer: I have not run into ONE manager/team-leader/senior dev who has given me useful feedback about my processional development. Don't get me wrong, I've had people show me neat programming tricks, or teach me valuable skills, but I have never actually had a code review, or a formal evaluation. Why is that?
Well, most managers - especially in a small to medium sized business - simply don't have the time. A lot of these companies don't have a good process in place for this sort of thing to take place. In a large company reviews might be a very serious part of the manager's duties, and he might himself be evaluated on how he performs those reviews. But unless that is that case few people seem to take the time and energy to generate more "paperwork" (as they see it).
2. They are not interested in your advancement
Another sad truth: generally no one cares about you other than yourself. Take a look at your company hierarchy: Does it seem like there's room to grow vertically? What I mean to say is, if you were to work there for 5+ years:
- What are your chances of promotion to senior dev, or team-leader?
- What are the chances that you'd actually be doing the same work - now a mindless routine - using 95% the same technologies?
Again, this is based on my own experience, but most jobs fall into the second category.
The fact is that most companies don't think they need, or want to deal with, some super-genius innovator. They want you to do your job, period. As long as things are ticking along they have no motivation in investing to adopt new technologies, rewrite old, poorly written code-bases, properly redesign databases, etc. It's too much work!
You have to accept that the world is not as neat, efficient, and, frankly, logical, as we were lead to believe. Instead, it seems to be held together with spit and duct-tape. But somehow it's still ticking along.
So now, for the real answers you've been asking for:
1. Getting a review
I think now you might have a better understanding of why your review has not been forthcoming, and will, in fact, never happen unless you push for one. Be tactful in asking for it, because chance are that your manager/team-leader was not planning on giving you one, and may see it as a bothersome nuisance more than an opportunity to guide their newest dev.
Also keep in mind that only mentioning it in passing, or while waiting for a cup of coffee in the break room might not be taken seriously. Instead, ask for a short meeting with your manager. Formally request a review. Say something along the lines of:
Hey, boss. My one year mark is rapidly approaching, and I'm interested in getting some feedback from you, and/or the team-leader (whatever applied to you). I know everyone is terribly busy, but I would really like to sit down with the two of you for a formal review.
Always keep in mind that you might, even then, be ignored, or have your request rejected for some reason (Oh, we're so busy right now, I don't think we'll have time. Don't worry though, you're doing great, just keep up the good job - quote my former/current managers).
2. Asking for a raise
This will depend on a whole bunch of factors. Some companies have set times of the year when they hand out raises - they might be at the end of the fiscal year, for example - and they will not discuss monetary issues at any other time.
Second, whenever you ask for a raise you have to show you've earned it. Sure, you've been there a year, and you've learned a lot, but that doesn't automatically entitle you to a raise. Instead, approach the situation like so:
I have come a long way since when I started, and now perform my duties much more speedily. I have a good record of closing cases/tasks, often in shorter time-frames than expected. I have, additionally, been performing the following duties: x, y, z. I feel I've grown in this role, and that I'd like to discuss a possible pay increase.
If your boss asks you for an amount, 5% if probably a decent percentage to ask for - a "typical" raise is along the lines of 3%. You won't get more unless you jump ship and switch jobs, in which case you might negotiate a better figure (that's what I did - it might have been another 3 years at my old job to get my current salary - probably 4 or 5)
If your request is refused, don't take it personally. The company assigns certain budgets to each department, and the junior dev will get the least anyway - they are more interested in keeping the senior devs happy.
If you really want that raise to be approved, focus on bringing value to the company. Close cases/tasks as quickly as possible. Try to identify areas where some internal tool/project could be improved, and suggest changes, or offer to work on them at lunch. It's not exactly brown-nosing, but gaining visibility, and standing out from the crowd is highly beneficial.
3. Timing of asking for a raise
A review is a good time to ask for a raise, but only in certain cases. For example, if you get a review, and your boss points out various flaws in your performance that's a really bad time to mention that you want more money.
If the review is positive, then the end of the review is exactly the time to bring that conversation about. Say your boss is happy with your performance, and the review is coming to an end. He hasn't mentioned anything about a possible raise. Politely, but firmly swing the conversation around:
I'm very happy to hear that you're pleased with my performance. I do feel that I've come a long way since last year, and am glad that you agree. With that in mind, I'd like to bring up the topic of a pay increase. (maybe wait for a reaction - you might get shut down very quickly at this point. If you don't, continue to list your accomplishments: ) I feel that my performance has greatly improved over the last 6 months. I always close my cases on time, I've proposed code improvements, and worked on improving our tools in my own time. I respectfully request that a pay raise be taken into consideration.
You may ask for a raise even if the review does not take place - the most likely scenario. If you get brushed off with words of reassurance (along the lines of: oh yea, you're doing great), then wait until the end of your year (remind people with some friendly comments as the date approaches) and once again request to speak with your boss.
Bring up the points as I've outlined above:
Boss, my first year mark has come and gone. I feel that I've grown a lot in this role, and the feedback I've gotten from you and the senior dev has been positive. I've always met my targets, and strived to improve both my skills, and the code-base, whenever I've had a chance. With that in mind, I'd like to discuss the possibility of a pay bump. (take your cues on what else to say from above)
Always keep in mind that one year is still pretty junior, and you may get neither a review, or a raise.
Good luck, and I hope my rant-ish answer helps!