How to Be a Good Developer in 2025: Part ...

How to Be a Good Developer in 2025: Part 2 - Technical version

Jan 05, 2025

image

You can read the part 1 here.

This article is a continuation of the first part on how to become a good developer in 2025. This time, I will delve deeper into essential technical topics that you should consider when tackling a programming project.

It is important to clarify that this is based on my personal experience as a developer with over 5 years of experience. However, it does not reflect the full scope of what developers should strive to be. Let's begin...

image
Refactoring

I started with refactoring the project, not because it is more or less important than the following points, but because duplicating your code repeatedly can cause serious maintenance issues. Knowing how to program should not be automatic; it should be done with awareness and thoughtfulness. From my experience, in my first programming project, an Android app, it took me three months to refactor it. My lack of knowledge and awareness of the importance of refactoring and implementing best practices were so great that I ended up removing over +15,000 unnecessary lines of code. Therefore, before starting a project, it’s essential to visualize the best practices you will use and know when it’s the right time to refactor the code.

image
Data Structures

If you're a programmer, you've probably heard the joke that "one plus one equals eleven." People who aren't familiar with programming don't get it, for obvious reasons. Representing real-life situations in code can be simple when it's just about adding two numbers (like we did back in university), but it can also lead to unexpected results, like getting "11" when you're the only developer on a project and have forgotten the data types you're working with. Data structures are essential for understanding how databases and projects are developed, and, especially, how to manage the data types that a structure or list can contain.
image

Artchitectural Pattern


Nowadays, there are several development patterns, such as MVC or MVVM. Implementing these patterns in your project means you won't be lost among thousands of lines of code. It's crucial to master design patterns as they provide a structure that makes code maintenance and scalability easier. Personally, I have used the MVC pattern the most in my projects due to its simplicity and effectiveness in organizing code.

image
Enviromental Variables

Imagine you're developing a new feature for your project and, by accident, you delete all the users who are using your app. That's exactly what we try to avoid with environment variables. They allow us to use different values and configurations depending on the area or process we're working on within a project. For example, we could have one environment dedicated solely to development and another for production. This way, we can develop new features without affecting users with any errors or issues.

image

CI/CD

Typically, we don’t have more than two hands or unlimited time. CI/CD (Continuous Integration and Continuous Delivery) steps in to assist when pushing a project to production, allowing you to automate tasks that will help you catch errors before confirming changes. This CI/CD approach can be crucial in preventing unforeseen mistakes that might slip through during the development process, providing you with an extra layer of security and efficiency.

image
Deployment

Of course, there wouldn’t be any excitement if we only test a project on localhost. It’s essential to master a platform to deploy your projects and share them with new users. In my case, I’ve worked with platforms like AWS, Vercel, Heroku, and Firebase. If you’re starting with web development, I’d recommend using Vercel, as it’s free and the deployment process is very simple.

These are just a few of the many pieces of advice I’d give you to study before starting a project. The goal of writing this isn’t exactly to give you a tutorial but to provide you with some key points you should consider if you want to become a developer, if you're aiming for this job, or if you’re not sure what to do after you’ve mastered localhost.

Regards 🙂

Enjoy this post?

Buy Christopher a coffee

More from Christopher