As a junior developer, you often know very little when starting at your new job. What is worse is that it can often be intimidating to ask questions, usually out of fear of embarrassment or annoying your fellow co-workers. This is normal and you shouldn't worry - asking questions is important and absolutely essential, something you should not be afraid of doing at all! In this post, I have brought together some of the questions that I feel helped me gain valuable insights when starting out as a new developer and helped me ease into my job.
"What's your name?"
"Ughm-- this has nothing to do with being a software developer". Actually, you would be surprised! In fact, it's not so much the question that I want to highlight here, but that you remember the answer. On your first day, make sure you are social, direct, and remember your co-worker's names as soon as they tell you it. Believe me, this will go a long way (and you can only make a first impression once). If you start off being polite, friendly and show interest in your colleagues, people will be more tolerant of your mistakes and likely to give you a helping hand when you are (inevitably) struggling to get your work done.
"What Classes /Files should I look at when trying to tackle this Problem?"
The hardest thing about coding is not writing, but managing the complexity and reading other people's code. When you are a junior developer thrown into a large and unfamiliar code base, you will have no idea how to get started. By asking your co-worker for reference points when starting to work on your assignment, you are saving yourself a lot of time and confusion.
"I'm unsure if my current approach makes sense in the context of my current assignment - do you think I'm on the right path?"
I often find myself looking at different parts of the codebase, stitching things together and trying to make sense of it. This can lead to situations where I find that the approach I had thought of initially would not suffice and I'd probably have to rewrite/pivot to a new solution. When this is the case, I always like to make sure that my assumptions are correct before starting to undo the changes that I had already made - perhaps I my approach WAS the right one.
"I feel that this part of my code could be optimized or refactored heavily, but I'm not sure how - could you give me some feedback?"
When writing code, things start to get messy quickly and a refactoring is needed. Contrary to what you might think, experienced developers are rarely bothered by you asking for their advice or opinions on code that you are writing. It's often quite the opposite - developers usually have strong opinions on how code should be writing that they like sharing with others. Gaining that insight can help you write code that is more in line with that of your colleagues.
"I've read the assignment requirements several times and this part still doesn't make sense to me. Could you give me a further explanation?"
Understanding business requirements is secretly one of the most important parts of the software developer job. Getting good at this will take a lot of time, so I suggest that if you have ANY questions in this regard, you should ask as soon as possible instead of making assumptions. Remember: asking another developer only takes a few seconds out of their day, but building the wrong thing will require them to give you the same explanation AND possibly correct all the mistakes you made.
Always remember: it is good to ask questions. It shows others that you are interested, motivated and helps you grow. Never be afraid to ask, however make sure that you experiment to leave yourself room for figuring things out on your own as well.