DEV Community

Cover image for Mistakes to Avoid As a Backend Developer
Joseph Mania
Joseph Mania

Posted on • Originally published at techmaniac649449135.wordpress.com

Mistakes to Avoid As a Backend Developer

Currently, I can call myself a backend developer after a whole 3 years of coding. In short, a backend engineer is an individual who deals with the server-side, database, and configurations. This developer must have good knowledge of data structure and algorithms to implement the data in the right way. Minor knowledge to keep security safe.

As you get more experience in the world of development, you notice it’s not all about the technical skills you have. It’s about using these skills to create a product that is efficient and reliable to non-technical users. This means you must observe the best practices when it comes to writing your code and using the right language or frameworks.

Time, memory, and security are the key features. If you are a backend developer, there are things you need to do to ensure your software responds as fast as possible. Furthermore, the code has to be clean and simple to allow the program to occupy the minimum space. This is where you need to learn about the mistakes that backend developers make. Be keen and stay updated on best practices.

Learning frameworks before the language.

For sure, I had a friend who jumped directly into Django without learning any python. It’s the worst way of learning. Take an example, a child will never exist without a father. So when you want to reward them, you have to prioritize a father before narrowing it down to a kid. Kindly, learning PHP will give you the base foundation before jumping into laravel.

Yes, you could succeed with frameworks, but they have their disadvantages too. We have people who have developed their site with raw HTML, CSS, JavaScript, and PHP, and their sites are good. Don’t prioritize frameworks over the core language. This can also apply to front-end engineers. Use the right path, learn the language, then swam into frameworks to save development time.

Avoiding Code Review

Of course, no one likes reading his/her code. However, this does not mean you deny your fellow members from reading your code. Let them correct your mistakes, no one is perfect. If you are writing shoddy work, we have to tell you the truth. Peer-to-peer review is very important, but if you are working on a single project, invite some of your friends to review the code. Ask senior developers to help you in one way or another. You will learn a lot.

Starting a project without knowing the tools

Here, developers argue among themselves which tool is the best. Let’s say you are working for a SaaS startup. You don’t follow the software engineering procedure, jump directly into the code. On the way, if you are working with a team, you might end up disagreeing. This is because each one of you has his/her favorite tools which they prefer. It is the task of a senior backend developer to choose the tools that are favorable to your team.

Less knowledge of databases

Don’t call yourself a backend engineer without having an intermediate knowledge of databases. In a different project, you will meet different types of databases. Take time and learn how popular DB like Postgres, MYSQL, MariaDB, and SQLite works. Read through the theory before learning the commands. In your lifetime, you will live to fetch and post data in and out of the database.

Not considering the security

It’s okay you are not a cybersecurity major, but you’re a developer and the manager expects everything to work right. Let’s say you launch your site today and someone breaks into it tomorrow. They will blame you. Remember, authentication is the backend process. This goes back to choosing your technology keenly. Recently, many people blame PHP for having loopholes, the reason why many wordpress sites are being hacked.
I didn’t mean PHP is bad(in fact am learning it now😂😂), the community is developing a wall. Always have some knowledge on the best way to safeguard your site. Protect the database and admin panel from any malicious entry.

Over-engineering the software

Yes, you are an engineer, but adding too many unwanted functionalities doesn’t make you a pro. However good you are, we don’t need your complex code. This is where senior engineers win the cake. Don’t promise too more than expected while implementing a product. Just write a simple code and document the process. If you find the problem to be too simple, just go straightforward solution. Don’t try to be perfect here, software development is sometimes a hard task.

Avoiding to read documentation of language/framework

Hey developers🙄😉, you have to read the documentation while using the technology or tools. YouTube and bloggers have the right knowledge. But if you want to understand the reason and why something works in that way, consult the documentation. Stay updated with the respective document to see the new and outdated features.

Maybe my learning methodology 🤴 could help you. I always use tutorials or i read blogs as I learn certain frameworks. Then after two months, I will go step by step on the documentation to understand what it entails. You will notice a lot of new things that you haven’t used. Always consider the documentation over other sources.

Latest comments (5)

Collapse
 
jmdollosa profile image
John Mark Dollosa

Thanks for sharing!

Collapse
 
sgenlecroyant profile image
sgenlecroyant

I strongly agree with you! Thank you for sharing these top and top tips !

Collapse
 
techmaniacc profile image
Joseph Mania

Thanks for the feedback @sgenlecroyant 😊

Collapse
 
aminmansuri profile image
hidden_dude

A big one I've seen unfortunately too often is loading entire files (or even entire object graphs with an ORM) into memory unnecessarily.

In the old days of the web you would read and stream objects, but some common APIs today make it just easier to load up everything in RAM. So loading 100 MB in RAM may not sound like much, but if you have a thousand users doing that it's going to bring your system down.

Learn to stream large things rather than building up giant things in RAM. This includes JSON, serialized objects for the cache, files, reports, etc.

Collapse
 
techmaniacc profile image
Joseph Mania

Thanks for the informtion...😂😂😂this is what differentiate a coder from programer.. Having a deeper understanding of how the software affects teh RAm is an added advantage. You will now how to scale up your application. Stay blessed @aminmansuri