I remember having conversations with junior software engineers and they always ask what can they do to get better. Refactoring!
When we first start our software engineering career, the one thing new engineers always do to try to improve their skillset is build new projects.
However, what I've noticed is that sometimes that approach does not guarantee the greatest leap in their skillset as they would like. The main reason being is that although the project changes, the concepts you are practicing are the same.
Most apps new software engineers build are CRUD apps. Fundamentally, there isn't much of a difference between a todo app, a notetaking app, or a chat app.
One thing I recommend as a better approach to upskill is to only work on 1 or 2 projects, then take time to focus on refactoring. Refactoring allows you to revisit your past work and figure out how to improve it in terms of following best practices of the language and framework you are using.
You get a chance to dive deeper in the documentation of the frameworks and APIs that you used, which will give you a greater breadth and depth of understanding of those tools.
You can learn how to follow better design patterns, design features to be more modular, fault tolerant, extendable, faster, scalable, developer friendly, etc.
By the time you decide to start a new project, you will have leveled up, and will be able to apply these best practices at the start of future projects rather than the end.
This is how I leveled up my skills on the frontend and backend.
#softwareengineering #refactor #refactoring #designpatterns
Follow for Your Daily Dose of Coding, Software Development & System Design Tips | Tech Book Buff | Exploring AI | Everything I write reflects my personal thoughts and has nothing to do with my employer. 👍
6moThe popular Software Development myth => Once it's shipped, it's done. Reality => Launching a feature is just the beginning. The real work is in iterating, improving and ensuring it truly delivers value.