Top 12 Tips from a Mid-level Developer
Tags: webdev, javascript, beginners, programming
Published: 2024-05-12 22:34:24

## **1.Level Doesn't Matter, Results Do**

No one cares how long you've been developing if you are solving their problems. Don't delay learning about a topic you're interested in just because it's labeled advanced. You never know what you might need to create, so that knowledge could be useful sooner than you expect.

## **2.Don't Memorize**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uq7aihc8zby50flofgz6.jpeg)
Learn how to find the information you need. I'm not talking about StackOverflow and GenAI. For the tools and languages you're using, know where the spec or documentation lives. Find out who writes the best guides.

It doesn't matter if you can't remember whether the ? or : goes first when you use a JavaScript conditional operator. What matters is that you know when to use a conditional operator and where to find the exact syntax.

Tools constantly update. Always check the version of the docs you're reading. Find a way to stay up to date, whether it's a newsletter or that one friend who's really into CSS.

## **3.Master the Basics**

Having a strong grasp of the fundamentals is crucial. If you understand the basics well, picking up a new tool in the same ecosystem becomes much easier. You'll likely write simpler and more reliable software. By knowing the basics, you can avoid reinventing features that already exist. You'll also be better equipped to comprehend and prevent errors.

## **4.Think Systematically for Success**

Solving any bug requires a systematic approach. If you overlook the power source when your toaster won't work, you might miss a simple fix. Thinking about the entire system enables you to foresee unusual scenarios and design new functionalities. Learn more about creating mental models for your codebase in Getting Started in a New Codebase.

## **5.Experiment Before Asking Questions**
Developers are problem solvers by nature. If you demonstrate that you've attempted solutions that didn't pan out, others are likely to join in troubleshooting. This approach ensures that your questions are thoughtful and not seen as trivial.

## **6.Every Line of Code is a Liability**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ku0u1hac1pgsmy7lq073.jpeg)

Write code as if someone else will need to fix it (even if that someone is just you in 6 months). Install packages as if you will need to update them often. Document the reasons behind your code to avoid accidentally breaking things later. Understand the opinions of opinionated tools before making them a core part of your system to prevent conflicts with necessary features.

## **7. Practice Reading Other's Code**
Software development is often taught in a way that may make you think you'll frequently create entirely new apps. However, it's much more likely that you'll be working on existing codebases, fixing issues, and adding features. You might even spend more time reading code than writing it. Practice reading and refactoring code without introducing new bugs.

## **8. Test, Test, and Test Again**
In his DevNexus 2024 talk, Chocho mentioned, "Code is theory. Software is practice." Always run and test your code before seeking a review. Practice writing tests extensively. Anticipating how a user could break your code and considering scenarios beyond the happy path will enhance your skills as a developer.

## **9. Practice Turning Requirements into Software**

Add a button to the page that opens a modal allowing a user to edit this data.

You should be able to translate a requirement like this into a list of steps or pseudocode. If the ticket lacks clarity, it's your responsibility to seek the necessary information.

Once you've defined those steps, you should convert them into code and ideally create tests for that code. Subsequently, it's your duty to navigate the company's version control, review, QA, and deployment processes.

Engaging in Open Source projects is an excellent way to practice this.

## **10. Community is Extremely Important**

You won't find the most detailed, unbiased views in social media posts. Having a support network to reach out to for different perspectives is crucial.

Mentorship plays a role in this. Attending local meetups and conferences is an excellent method to grow your network and broaden your understanding of development. Participating in networking groups provides insights from experienced developers.

Don't attempt to handle this job entirely by yourself. The amount of information available can be overwhelming, leading to tunnel vision.

## **11. Find What You Enjoy About Programming**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fj6nte4dabfje1lxu646.jpeg)

I'm not suggesting you must adore your job or strive to be the elusive Passionate Programmer. However, continuous learning involves subjecting yourself to discomfort repeatedly. If you're unsure why you keep getting up every day to face this, you're likely to experience burnout. Your reason can be entirely self-centered, but you need to understand your motivation.

## **12. Each Person Has Their Own Path**
You're not in a competition with others regarding careers and content. Another person's route to success may not suit you at all. Concentrate on your unique viewpoint and strengths. Discover and express your voice. There's someone out there who wants to listen to it.

## **Conclusion**
Observing my (or anyone else's) profiles might give you the impression that my journey to becoming a mid-level developer was direct and effortless. In reality, it was quite the opposite. I've stumbled, shed tears, caused production issues, experienced burnout, and found myself stuck in numerous challenges.

For this reason, I sincerely thank my husband, family, friends, and the tech community for supporting me. I also appreciate many colleagues for believing in my potential. Without all of you, I wouldn't have come this far. I am truly grateful for how far I've come.