{"id":759,"date":"2018-11-15T06:00:36","date_gmt":"2018-11-15T06:00:36","guid":{"rendered":"http:\/\/buklijas.info\/blog\/?p=759"},"modified":"2018-12-14T21:16:21","modified_gmt":"2018-12-14T21:16:21","slug":"the-question-of-tradeoff-in-software-business-and-life","status":"publish","type":"post","link":"http:\/\/buklijas.info\/blog\/2018\/11\/15\/the-question-of-tradeoff-in-software-business-and-life\/","title":{"rendered":"The question of tradeoff in software, business, and life"},"content":{"rendered":"
Published on:<\/strong> 15.11.2018<\/p>\n In software development, it is common to have discussions about what technology is better<\/strong> or the best.<\/p>\n Those discussions look like a wise discussion for beginners, looking for a perfect solution, the holy grail<\/strong>.<\/p>\n But they are useless because there is no perfect solution<\/strong>, the much more important question to answer is what tradeoffs are you making and why<\/strong>?<\/p>\n In any system, if you want to increase one aspect of the system that has to come at the expense of some other aspect<\/strong>.<\/p>\n Let us take the car for example.<\/p>\n I am taking the car as an example because I suppose it is easy to understand.<\/p>\n If you want to make a car acceleration faster, you have to make it lighter and fuel consumption will go up.<\/p>\n So, to increase acceleration you have to decrease weight and fuel efficiency<\/strong>.<\/p>\n This is a simplified example, there are many imperfections, but I hope that reader can get the point.<\/p>\n Basically, you have to do tradeoff<\/strong>.<\/p>\n When you add business aspect into considerations<\/strong>, it is even more complicated.<\/p>\n Things that make sense from a technical standpoint, are a disaster for business and vice versa.<\/p>\n The hard thing about a tradeoff between business and technology<\/strong> is it is almost impossible to have one person who can understand just one side completely so what to say about both at the same time.<\/p>\n Today software systems are so complicated that it is common that there is no single person who understands everything<\/strong>.<\/p>\n That is why REST API is popular, but that is the discussion for another day.<\/p>\n I have one personal program, that I use every day, it is responsible for saving me 1000$ on average per year<\/strong>, so I do have the real monetary use of it.<\/p>\n And SQLite DB is the main part of it<\/strong>, and I do not ever use indexes in it (no cost benefit from it).<\/p>\n I know that SQLite for my use case, from point of speed, is not the best option.<\/p>\n But I took SQLite because it was fast to start, backups are just copying one file<\/strong> and I am running SQL queries once per day while I am sleeping.<\/p>\n Currently, an average time for all SQL queries are around 30 seconds, and as DB file gets larger query time will also increase.<\/p>\n Even if it gets to 1 hour (what I am not expecting even in the next 100 years), that would be fine for my use cases.<\/p>\n My deployment platform is shared hosting with the flat monthly bill so increased CPU time is also not a problem from me, altho if I used platform with serverless billing per CPU time it could be.<\/p>\n Know what tradeoffs are you making and even more important is why<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":" Published on: 15.11.2018 In software development, it is common to have discussions about what technology is better or the best. Those discussions look like a wise discussion for beginners, looking for a perfect solution, the holy grail. But they are useless because there is no perfect solution, the much more important question to answer is […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[27],"tags":[41],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"yoast_head":"\nWhy tradeoffs are necessary?<\/h3>\n
Back to the discussion on tradeoffs in software development<\/h3>\n
Concrete software example<\/h3>\n
Conclusion<\/h3>\n