Software Engineering Knowledge

Genesis Code: What is it and why is it important?

21 August 2022

Genesis Code: What is it and why is it important?

Every software project starts with the first line of code. The code design, implementation, and architecture for your very first release are what I call, Genesis Code, which will determine how far your software can live without refactoring and rebuilding it.

It doesn't really matter whether you are building an MVP or an actual production-ready product, Genesis Code is very important. Moving on after your first release, there are three main areas of concern that I think is really important.


Scalability

The number one concern for me is always how scalable the current code is. Often time, most businesses and startups started MVP and ended up continuously introducing more features. It is just so costly to rebuild it, isn't it? So, might as well just build it right from the beginning. If developers follow standard guidelines and frameworks, it really just costs the same amount of time and money to build an MVP that can be scaled to production-ready code. Without a well-structured code and design, it is just really not too easy to implement new features and functionalities. The chances of breaking the system are very high. So, you would probably be paying more for developers' time to fix bugs and make sure it doesn't break the system.


Maintainability

That leads to another concern, which is how maintainable the code is. Badly written code can break the software easily and it can be very hard to fix. It introduces Tech Debt in the future. It costs businesses a lot of time and money to try and fix it. Sometimes, engineers may propose to completely rewrite the code. I had a client whose mobile app was built in Ionic Angular by other freelance developers. The code was written just to make the app work and it was totally out of standard. Among all other issues, the entire code wasn't implemented properly to handle timezone around the world. So, it took almost 2 weeks to completely fix that issue. Most of the time, fixing one issue breaks other parts. Trust me, it was not so pleasant.


Productivity

Last but not least, you want to make sure your team of developers is very productive when working on the project. For most people, they only see how it works and looks on the screen. They can test functionalities and see that beautiful UI. It's awesome when it does what they expected. But, for developers, we mostly stare at the screen with a bunch of code. Sometimes we compile code in our head and visualize how it looks. So, just imagine, if the code was written as good as a poem, whoever is working on that will enjoy working on every single line of code. It's just going to be amazing.


So, if you are starting a new project, make sure your Genesis Code is AWESOME! 😎

If you really think about it, technology today is a lot better than 10 years ago. We now have a coding standard that thousands of engineers around the world have developed, improved, and shared on the Internet. We have a framework that is being maintained by hundreds of thousands of engineers all over the world that can help us build any software project really fast and scalable. So, I think there is no real reason to think “Let's make it work for now, and we will do it properly later”.

Other posts

I'm building the next generation Low-Code No-Code solution.
Low-code No-code Software Engineering
I'm building the next generation Low-Code No-Code solution.
2022-11-02

Software development has been changing over the past few decades. Low-Code No-Code solution is one of the future software development that will change the way we build an application. But it has to be done right. That is why, I am taking this challenge.

Read More
Making a September trip to Melbourne YouTube video.
Life Wow Trip
Making a September trip to Melbourne YouTube video.
2022-09-24

It is fun making video. I started to love editing video and uploading them on YouTube. I recently went to Melbourne for a visit. With the footages I got, I made a new music vlog video which I uploaded on YouTube. Find out more.

Read More
My first video on instagram was edited on Canva
Life Wow
My first video on instagram was edited on Canva
2022-08-07

I am not a designer. I don"t really have any creativity in designing anything. However, as I am a Software Engineer and running my side hustle, I need to do some designs myself, like a logo design for my website and software products.

Read More
How did I become a Software Engineer?
Life
How did I become a Software Engineer?
2022-08-04

Being a software engineer wasn't my first choice. But, I always knew I was going to be some sort of engineer or scientist. I gained so much interest in science and technology during my high school. When I discovered coding, it amazed me.

Read More

Follow my blog account on Instagram
@blog.kelvinht.at
© 2023 - kelvinht.at