I’m a relatively new developer. I’ve been doing development for four years. I think I’m competent at what I’m doing for my level. I’m a fast learner of new technologies and code bases. I’m also good at following the coding standards. I’m assigned to work with a senior developer soon. He is very good at programming and he is also a big picture/architecture person (which I’m not). He sometimes challenges the existing architecture of the codebases; most of the time, he makes very good decisions for architecture and design. He is also very particular on how he wants something to be designed. I want to have a good work relationship with him and make good impression. I will work hard and I’m confident that my work will speak for itself. But how do I make good impression quickly? I’m not as experienced as him so I cannot articulate as well as him on the high level stuff.
Treat him as your mentor. Listen carefully to his perspectives and politely ask questions – specifically including "dumb questions." Show that you are seeking to find the answers yourself, that you are trying to pull your own weight, but that you realize that you need his wisdom and experience. Be humble, though not subservient.
Almost everyone, at some point or another in their journey, had a mentor. I have had several.
What has impressed me about junior developers in the past
- Ask well thought-out questions that you have attempted to answer yourself
- Remember or write down the answers to the questions; don't ask the same question multiple times
- Listen to the answer and ask questions if still confused, or if I didn't answer what you asking
- Don't take abuse, but accept constructive criticism with an open mind
- Do what you say you will do
Imho the best thing you can do is just play to your strengths, and in particular development-wise NOT try to do things a certain way just because you want to impress the Senior. It's a bad basis for good decisions. If I notice people implement over-complicated stuff that does not fit the problem well - perhaps just to show off - I'm not impressed, on the contrary. If people try to be in the center of everything, without having to say something that speaks against them,too. Try to suggest doing tasks that you are good at or that interest you (in that order).
This will both present your good sides in doing the tasks and also show that you can judge your own abilities on top. Especially at the beginning, don't take the most difficult task just to impress (unless you know you can likely do it, with perhaps minor help), first establish your base strengths, then go up for more difficult tasks that might need a bit more assistance.
The same holds with your behaviour: play your strengths first and work on improving your weaknesses later. If you are rather quiet, don't try to suddenly be the most talkative person (unless it comes totally natural when working with the new guy for some reason). If you are rather implementing stuff on your own in your quiet corner, don't try pair programming as the first thing etc. If you notice the senior prefers some ways to operate that aren't matching your way, try to slowly adapt if that works for you, otherwise discuss what you need to adopt and what he does not care about. Don't just assume.
First of all: do the things that you are asked to do, and try to do them well and in time.
If you don‘t understand a task: ask for clarification and don‘t just tart with whatever you thought you understood. The lost time by doing the wrong thing is much worse than somebody explaining your task to you a second time.
If you understood the task but don‘t know how to do it: try to find out a solution by googling or trying. BUT: don‘t use to much time for finding out „how“. If you don‘t have a starting point after a quite short time then ask the senior how he would approach that task.
Also: don‘t try to reinvent the wheel. Ask the senior if there is a base for your task, if something similar has been done already that you can reuse.
There is nothing worse than giving someone a task to do and ask after half of the assigned time just to find out that he still didn‘t find out how to start.
If you discuss possible solutions beforehand then take his advise but don‘t be afraid to say if you think you have a better idea.
Don‘t go like: your idea X is stupid, it would be much more clever if we did Y, but say something along the line of: what do you think: could approach Y work as well for this?
If the senior criticises your work: take his advice and don‘t be offended. Don‘t become passive (aggresive).
As soon as the senior sees, that you do your job well and manage to complete the tasks he assigns, he well see how valuable you are.