12 Tips I Wish I Knew As A Junior Developer

Raz Levy
6 min readMar 9, 2024

--

Being a junior developer isn’t an easy task those days, you have a lot of work to do and many things you should learn to be accepted to a role and succeed in your day-to-day job.
In this article, I summarized many tips I wish I knew as a junior developer. These tips will help you get started on the right foot.

1. Keep learning is a part of your job.

The field of technology is constantly evolving. New programming languages, frameworks, tools, and methodologies are regularly introduced. Staying current with these developments ensures you can leverage the latest and most efficient technologies in your work.

In addition to that, learning exposes you to different types of problems and their solutions. This helps you develop a broader perspective on problem-solving and equips you with the ability to approach challenges creatively and efficiently.

As a part of my B.Sc I wanted to learn many more things which weren’t a part of the original syllabus, so I took some online courses to develop my skills and be more relevant so I would be able to send my resume to many companies and get some interviews.

2. Searching the internet is a very important skill, practice it as much as you can.

Development often involves encountering problems and challenges that you haven’t faced before. The ability to search for solutions online allows you to tap into the vast knowledge available on the internet.

Many developers share their experiences and solutions on forums, blogs, and documentation like this one, providing valuable insights.
Another benefit from this tip is that in many cases you won’t need to depend on other teammates and you will be able to solve your problems by yourself.

A good resource may be https://stackoverflow.com where a lot of developers ask questions and get answers for their issues from other developers and technology experts.

3. Start small, then extend.

When creating a new system, or adding a new feature to an existing system, I extremely recommend you start with a very simple version, with minimal functionality requirements, then extend this solution step-by-step until it fits all the original requirements.

Planning in detail a big task correctly at the beginning is super hard, instead, you can learn as you go, change your ideas, and understand what will be the best implementation later during your task.

4. Change one thing at a time

When developing a feature, or a part of it, and by accident breaking something, or changing its functionality, it’s super easy to follow your steps if you break the original task into smaller tasks, that do only one thing in each task.

Do one thing, make sure it works, and only then repeat.
Changing one time at a time is also vital for developers because it simplifies debugging, minimizes the risk of unintended consequences, and promotes a systematic approach to problem-solving.

5. Add logging and error handling early in the development process

Logs provide a detailed record of system behavior, helping developers trace the flow of execution and diagnose problems efficiently. Early error handling ensures that potential issues are captured and reported immediately, preventing them from escalating into more significant issues later.

By implementing these practices from the start, you will be able to establish a robust foundation for troubleshooting, enhancing the overall reliability and maintainability of the software throughout its lifecycle.

6. Test everything you can

Thorough testing is a critical aspect of the development process, allowing developers to identify and rectify potential issues before they impact the end-users.

Comprehensive testing ensures that each component of the software functions as intended and is compatible with other elements, contributing to a more robust and reliable system. Early and rigorous testing also reduces the likelihood of encountering unexpected challenges during later stages of development, saving time and resources, and also keeps you from publishing mistakes.

7. Everything takes longer than you think

In the realm of programming, tasks consistently consume more time than initially anticipated, and this tendency is particularly pronounced.

Estimating the duration of a feature’s development remains challenging, even in optimal conditions.
Unforeseen challenges often arise during software development, such as a seemingly straightforward merge introducing subtle bugs, necessitating modifications due to framework upgrades, or encountering unexpected issues with API calls.

8. Understand the existing code before estimating

Before making project estimates, it’s crucial to thoroughly understand the existing code. This ensures that you can spot any complexities or challenges hidden in the system before you start working on it.

By taking a close look at the current code, you can figure out how changes might affect the project, identify any dependencies, and anticipate potential issues.

This understanding is key to making informed decisions, setting realistic timelines, and allocating resources effectively, all of which contribute to the overall success and efficiency of the development process.

9. Bugs will be there forever.

Bugs are inevitable in software development, and “getting it right the first time” is unrealistic. Despite our best efforts, bugs inevitably surface because there are often aspects you won’t anticipate.

Instead of striving for perfection initially, it’s more practical to establish a system that facilitates swift troubleshooting, bug fixing, and deployment solutions.

10. When trying to fix a bug, first, reproduce the problem.

The very first step you should take when trying to fix a bug is to reproduce the problem.

Without the ability to reproduce the problem, you will grope in the dark and won’t really know what you should fix, or maybe even guess what to do without really understanding what is the problem.

After reproducing the bug, make sure that when the fix is added, the problem is gone and you won’t be able to reproduce it again.

11. Use timestamps in your logs.

When debugging, or looking at logs, it may be very difficult to find the right log due to multiple events fired at the same time, or a lot of trash logs that are available in debug mode.

By adding timestamps to your logs you will be able to follow your requests and debug your system efficiently.

12. Ask. Always ask.

Being a part of a team comes with a few benefits, one of them is the ability to brainstorm with other professional people, who are aware of your code and know what you are trying to do.

When you feel like you can’t find a solution to your problem, and after you tried to find a solution over the internet, cap it with a time, and when you get into that cap, raise a question to your teammates, you will be surprised how many opinions and answers you will get, different people are go through a different path, so everyone has a slightly different experience that can contribute to the situation.

Wrapping up

Reflecting on my experience, I’ve fathered essential insights that could have significantly benefited my early career. These lessons encompass the importance of continuous learning, navigating challenges systematically, and fostering resilience in the ever-evolving field of software development.
Embracing these principles can pave the way for a more effective and fulfilling journey in the realm of programming.

Want to read more helpful content?

Sign up to discover human stories that deepen your understanding of the world.

--

--

Raz Levy
Raz Levy

Written by Raz Levy

Senior Full Stack developer, expert in Vanilla JS, React JS, Node JS, TypeScript and Cloud.

No responses yet

Write a response