When you start in the world of programming you discover that there is too much to learn and at first it can be a bit intimidating. We were all in that place, and the idea is to provide some tips that I learned while going down this road.
Don't grab multiple tasks at the same time
This is one of the most common, you do not find the correct limits of your assignment and end up working on several related tasks at the same time, in the end, you didn't advance in any of them and blocking your teammates.
Be methodological
Much of the daily tasks of devs are repetitive, try to have an order and a methodology. In the beginning, it could be useful to create a list of steps and validate it with your TL or a more experienced dev.
For example, before starting to code a new task:
- Check that your base branch is clean
- Pull the latest changes
- Create the topic branch
Find at least one solution to the problem
When you are a jr dev, nobody expects you to solve everything on your own, and it is very likely that you will be blocked several times with the same task. But before asking for help, try to at least find a solution to the problem, even if it is the worst. Programming is largely troubleshooting, if someone solves everything for you, you won't notice progress very soon. You have to train yourself.
Don't assume
If you have a question about business logic or a block of code, don't assume, it can lead you in the wrong direction. I've been working as a dev for several years and I still usually make that mistake, so try to take it as a habit from the beginning. Better ask than do extra work.
Solve the problem first, then make it beautiful
It is always easier to work on a problem that has already been solved, even if it was done in the worst way. Iterate your code, don't try to find the best solution the first time because you will probably block yourself, make it work, then make it beautiful.
Be open to criticism (valid for experienced devs too)
Our code is a part of us, but we don't always have the best solution, the most performant or whatever, hear the advice, move your ego away, even if you do not agree, it can be of help in the future.
Add logs
Whenever I start a new project I tell myself: "this time start adding logs to everything you do" and clearly I never do. When your code has a problem in production and you don't have much idea what the problem might be, you will hate yourself for not adding logs. Whenever you can, add logging and comments.
Be honest
Please be honest about your knowledge, especially in interviews. If you can't answer the basic questions of a tech/concept, don't add it to your resume. Instead of including something that barely knows because you thought you knew it just by having read/heard something, in the interview, you can say: "I've been reading about...but never worked or did a PoC...".
Probably there are more tips and advice for novice devs, if you have more ideas feel free to leave a comment.