Adapting a New Technology: A General Guide to keep Your Systems up-to-date
Get link
Facebook
X
Pinterest
Email
Other Apps
Special Thanks to [Mohamed Othman](https://www.linkedin.com/in/mohammad-othman-55351b20b/) for his help in editing this blog.
## Introduction
If you are generally working in the technology sector and specifically in the software industry, you will be under stress by the number of new things that are coming up every day.
New stuff can be a new integration technology, a new framework, a language version upgrade, or even a new library that helps you to do specific tasks in your code. In this article we will refer to those as: "new Tech".
And if you are like me, you will feel messed up if you don't know or know how to use the new trend!
So here, I will list some tips and tricks, along with best practices for keeping your projects up-to-date.
**Note**: the tips in this article for when and how to implement the new technology in your daily working projects are not concerned about keeping your knowledge up to date, knowing things and doing them are two different things, as this will be explained too in this article.
Furthermore, these points are related to the kind of projects that involve multiple team members unlike solo of projects
## Implementing New Tech
When implementing a new tech into your project or code you have to consider the following:
### 1. The Learning Curve
You need time to learn and understand how to use or implement the new tech. For sure, this time is greater than the 20 minutes of a YouTube introduction video and larger than a "Get started" page on the new tech documentation website.
So, DO NOT assume you will hit your peak productivity from day one; it's not recommended to use new Tech in "tight time" types of projects.
However, if the project is a "from scratch project" or a total revamp, the project will be a great sandbox to play with new Techs. But, keep in mind you need to make a proof of concept or POC before actually including the new tech, as mentioned in point No. 6.
### 2. Stability over Change
Changing something that is already working, familiar, and known for you and the team, means you are introducing new types of issues you didn't have before. This can cause an unstable system or solution.
However, this doesn't mean you shouldn't touch what is working. You should have criteria on selecting what to change based on Stability and Compatibility not based on what the trends are.
Also, you must have a clear process for moving from the legacy system to the new one, and a rollback plan if the change is huge or badly affecting several components in your system.
### 3. Environment Ability to Accept this New Tech
You need to check if your current IT landscape is capable of accepting and integrating with the new tech, from operating systems, through network and security, ending with the way of deployment and other systems integration.
### 4. Unknown Challenges
Unlike the promoted tutorial videos, which explain the straightforward and happy scenarios of the new tech, you will implement it for very specific business scenarios, which increases the time of learning and researching. This time could be reduced if the new Tech covers the next point; No. 5.
### 5. The Community Base
The larger the community base the faster you can find answers to your questions and solutions to the issues you face. Before engaging with any new Tech, take a look into its community contributions e.g. in its website, GitHub, and StackOverflow.
### 6. Finally, Always Build a POC
Proof of Concept (POC) is an implementation of the new Tech but on a small scale. On it, you prove the validity of the new tech to solve your business problem within your organization's environment and IT landscape.
A POC also provides a hint on the time estimate for future implementation.
Note that, POCs are not the final implementation of the solution; they might not turn out to be the change or the implementation itself. As they shouldn't, they are just exercises to discover the new Tech capabilities.
Therefore it's always great to wrap up your POC with some documentation on how the implementation is carried out and what type of issues you will face to be part of a knowledge base for you and your team.
## Conclusion
In conclusion, yes we have to keep our solutions and systems up-to-date, but we should only update when it is safe to adapt the new tech within the organization’s land landscape.
Your code repository is your most valuable asset, it represents the timeline and story behind what you’re building. It serves as your backup in case something goes wrong, which is why it’s essential to keep it as clean and organized as possible. Here are some best practices you can follow to achieve that for both private and public repos: ## The main contains the latest code always I’m a fan of using GitHub Flow for code management. Unlike the traditional Git Flow, where you have multiple main branches (one branch per environment), GitHub Flow has only one main branch. Other branches are used exclusively for feature development. The main branch always contains the latest code merged from feature branches. However, this doesn’t necessarily mean the code is already in production; it simply reflects the most up-to-date work from the developers. By following this approach, you ensure a single source of truth for the latest code and a single branch to deploy from. Even fixes ...
Introduction In this article we will discuss adding multiple DB contexts to our DotNet projects, we will use EF core as our ORM to make a "Code First Database" approach. In this article example, we will use DotNet 7 connecting to SQL Server through EF Core 7, all of this will be in a web API project to see how to define those DB contexts as services in program.cs file. You can download the example source code from here . Why would we need multiple DB Contexts in our Solution? There are two situations where you need multiple DB Context in your project or Solution: We have a single database but need multiple schemas in our database, and each scheme will have a group of entities. We have Multiple databases and our project needs to connect them to do its operations. We will take the first situation as our code example. Creating Our models Let's assume we have a si...
Comments
Post a Comment