When you replace a running legacy system with a new system, it can be tempting to do it all at once. However, doing so courts disaster and makes the process much more painful than it has to be. Even though it sounds easier, a sudden system cutover is seldom pleasant.
Whether you are a manager, team lead, or executive you will lead several types of people during your time in leadership. From the too reliant who comes to you for everything to the grizzled veteran who has been coding longer than you've owned a computer understanding team dynamics is important. It can be difficult to know how to motivate and lead all the types of people on your team.
While it's nice to be able to pull in packages to do various things in our projects, we need to think long and hard about how we are going to maintain those dependencies over time, in particular in how they relate to security. Supply chain attacks on software components are only going to get worse over time.
Just like there are multiple ways to use a computer there is more than one way to use your mind. Many different ways exist to focus your thoughts from study and meditation to creating mind maps. Understanding these will help you improve your concentration.
Your database is probably the most valuable part of your application, and it can be terrifying to think of it falling apart. Yet, that is just a day in the average developer's life in many companies.
Understanding how you think will help you to improve your ability to learn, understanding how others think will guide you in utilizing their talents to compliment your own. Whether it's creative thinking, divergent thinking or any of the other types of thinking you will benefit from understanding and applying your style of thinking to critical thinking skills.
Eventually management will ask you to evaluate third party integrations for your software. Whether it is for authentication, sending emails, or other functionality, there are times when it makes more sense to use third party software instead of building it yourself. However, many developers are not used to having to do this sort of thing, which makes it difficult.
It can be easy to fall into the thinking that when I'm in charge I'll do things differently. You do not have to have authority to be a leader instead you can exhibit leadership through influence. From choosing positivity to critical thinking skills there are many things you can do to be a leader even when you don't have any authority.
When you work with other people in a codebase, at some point you have to merge your code into the main branch. The code should be reviewed before that happens in order to keep quality high on the branch that is deployed to production and is used to start other branches.
While you probably have lots of code in your codebase that you are proud of, it's almost certain that you didn't write all or even most of the code that executes while your application is running. Code reuse has always been a critical part of software development, but it's important to get it right.