 I've been developing for some time and I've been talking with a few professionals on what is the best way of doing it. So yeah, first one is the language selection. Language selection is when you're choosing a particular language for developing a backend, so you need to consider about what language are you going to implement. For example, if you're developing for the cloud, I think it's better if you stick with an interpretive language such as Python, which is open source and if you have any issues regarding it, you can actually, like you can ask a community about it and if you're making an enterprise application, it's better, like which has a security requirement as well and legacy requirements, compare languages better and it's better to research on the language which you work on because sometimes what generally happens is 80% of your task is actually been done somewhere on the internet and like it's better you could get a license about it and like start customizing on for yourself. And like I forgot to add this, when you choose a language, it's not just the language you work on, you're actually choosing a particular community on it and yeah, second one is data persistence. Data persistence is whether like, how do you want to manage the data? If you're working, if you're choosing SaaS, it's better when you have a cloud environment and like you require scaling and if you're using a self-hosted in cloud, it's like required for fast deployments and for hardware it's like, if you can customize all the physical aspects, but the only thing with hardware is like most of it's labor intensive and it takes a lot of cost and if you have a data where which requires like where the data is really a concern and it's better to stick with the asset properties which is consist of atomicity features and it's better to use my SQL database and if you want to require data which you want to expand horizontally, it's better to use CAP theorem which is advanced tan acid which is a no SQL database and in no SQL they have document storage, key value pairs and the graph database, like document storage which you have file systems like MongoDBs and key value pairs, you have a Casandra which is also good and graph database like if you require a database which doesn't require index free lookups, a graph database is a good choice which for example Neo4j is one of the graph database. Agile development, this agile development is like iterative process of development on how you want to implement features and roll out new revisions and try to write automated test case so that you could know where is the problem so you can actually fix it up and like it's better to know where something is broken at the earlier stage itself than getting at the when it propagates further, yeah premature optimization, it's one of the concern where people try to optimize very early, like for example like if they consider the use case for million user but they don't have a single user yet so don't try to do that and premature refactoring is a huge mistake and yeah peer review, if you're writing a code and if your friend or any programmer comes and looks into your code and gives a suggestion it would be really good and peer program is another approach where two people come together and one of them codes and one of them reviews and like it's actually a good way where one can vet for the other's code and like yeah if you're a freelancer it's better to say no you should know when to say no like not even do money and like research on your time and the cost of making a project, yeah that's it, thank you.