7 things I wish I had known when I was a junior

Tamy Nagy
Nerdeller
Published in
5 min readJul 31, 2023

My mother always said “learn from my mistake”. But there are mistakes you have to make yourself. So I will not talk about mistakes — just perception and possibilities that may change how you look at the world of programming from the get go.

1. Code review is fluid

Code reviews, especially when you are a beginner, are annoying. So much. There is nothing worse than having someone reviewing your code, making suggestions, then upon completion changing their mind or finding more things to do. Been there. Had moments when I saw yet another comment on my pull request and seriously wanted to cry out of sheer frustration.

So let me tell you this: your reviewers don’t do it on purpose. The don’t intend to waste your time or frustrate you. They do the exact same thing with their own code. They create solutions, then go back and change them. And change them again. And again. Except their iterations are faster. Their iterations happen in their heads, on the fly. They rename variables a million times, restructure and rethink code a hundred times a minute.

If you don’t believe me, just ask one of your reviewers if you can watch them coding for an hour while they are thinking out loud. They review your code and at every iteration they find something new. Something better. Same as they do in their own code — only to receive comments on their pull requests to make it even better. To do things they haven’t thought of.

They are not doing it to piss you off. Breathe. Read the review. Understand it. Make the changes. Take notes. Remember the solutions next time. It will get better.

2. You can write cleaner code even as a beginner

As a junior sometimes writing a recursive function or understanding an error message is already a challenge. You focus on getting some practice and experience under your belt — as you should.

But there are a few things you can do from day one to make your life easier:

  • Think about those variable names: take a second and think what is this variable exactly, and name it accordingly. It will take some time to become a habit and for you to become good at naming, but try anyway.
  • Same goes for functions: instead of adding a comment to explain what your function is doing, stop for a second and give that function a descriptive name.
  • Make them short: it is okay, if your function turns out to be 50 lines long by the time it works as intended. It is not okay, to leave it like that. I bet you, you can’t give it a meaningful name that describes all that is going on inside! Before you create that pull request, split that function up to small pieces. If you need comments to track what happens at each section, start with those — remove the comments and extract the code.
  • Write unit tests: yes, it’s a pain at first. It requires a different type of thinking. Maybe you can only come up with one sad little use case to test. And that is fine. Write that one test. Practice makes perfect, soon you will write tests like the wind — I promise. Just do it.

3. Asking questions does not make you look unprofessional

Quite the opposite. I still remember my beginner days as clear as yesterday. I was afraid to ask questions and I was convinced it is my job to just figure it out and leave others to work in peace. I thought asking questions will give away how much I don’t know.

Newsflash: your seniors know how much you don’t know. They have been there before. They know the struggle and they don’t expect you to magically have all the knowledge. They expect you to try but know your limits and ask when you are stuck. It won’t make you look dumb — it will make you a better team player and a better professional. Developers don’t work alone. StackOverflow doesn’t know the answer better than your colleagues who are familiar with the codebase.

4. You can ask for feedback

Be it your ideas to solve a specific problem, your actual solution, your growth or your overall performance, you can always, always ask for pointers, guidance and generally any type of feedback. Most of the times, code reviews will give you a generic idea on what you need to focus on more, but your seniors can give you the tools that help you grow in that specific area.

Ask for honest feedback, be prepared for constructive criticism, and ask for recommendations as to what to learn, read, research to be better at certain topics. No one was born with all this knowledge, and those who followed the same path before you will have experience to tell you what worth your time and what doesn’t.

5. Write a coding journal

Take a few minutes at the end of the workday, to write about your experience. Make note of what you did, the challenges you faced, the solutions you found, your thought process, whatever seems important or keeps your mind busy.

This method will help you organize your thoughts, wind down at the end of the day, pick up work the next morning, and also can be useful later on, if you face the same or similar issues again. It will also help you when you prepare for your yearly evaluation — you can see how much you’ve done and how far you’ve come.

You can use any digital note taking apps as well as a simple notebook, it is up to you and your preference. If you are on the fence, I suggest a simple notebook and a pen — handwriting beats typing when it comes to learning and remembering information.

6. Write down your ideas

There are those problems that keep you busy on your lunch break or after working hours. If you like thinking walks, you probably had the experience before — as soon as you start looking at the trees, the birds, focusing on something different, the ideas come flooding your brain. Do not rush back to your computer and definitely don’t sit down in the middle of night trying out your newest perfect solution — it will take longer than you expect.

Write down your ideas, dump your thoughts and let them be, until you are back at your computer — be it after a 30 minutes walk or a good night sleep.

7. Review your old code

So you have been a developer for a couple months, you are keep on learning, but you feel like you know nothing. I could tell you it is not true, that all the experience you have every day shaped your thinking and you became better without knowing or noticing — you probably wouldn’t believe me.

So bust out those old pet projects or closed tickets you worked on, and review your old code. Can you make any improvements? Would you approach it differently today? Don’t feel bad if you look at your beginner-code — everyone starts somewhere. If you have the time and opportunity, try and improve it. There is nothing more powerful than seeing your own growth when comparing what you know now to what you knew before.

--

--