{"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

Why tradeoffs are necessary?<\/h3>\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

Back to the discussion on tradeoffs in software development<\/h3>\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

Concrete software example<\/h3>\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

Conclusion<\/h3>\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":"\nThe question of tradeoff in software, business, and life - Sasa Buklijas<\/title>\n<meta name=\"description\" content=\"tradeoff\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/buklijas.info\/blog\/2018\/11\/15\/the-question-of-tradeoff-in-software-business-and-life\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The question of tradeoff in software, business, and life - Sasa Buklijas\" \/>\n<meta property=\"og:description\" content=\"tradeoff\" \/>\n<meta property=\"og:url\" content=\"http:\/\/buklijas.info\/blog\/2018\/11\/15\/the-question-of-tradeoff-in-software-business-and-life\/\" \/>\n<meta property=\"og:site_name\" content=\"Sasa Buklijas\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-15T06:00:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-14T21:16:21+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\">\n\t<meta name=\"twitter:data1\" content=\"Sasa Buklijas\">\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data2\" content=\"2 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"http:\/\/buklijas.info\/blog\/#website\",\"url\":\"http:\/\/buklijas.info\/blog\/\",\"name\":\"Sasa Buklijas\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"http:\/\/buklijas.info\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/buklijas.info\/blog\/2018\/11\/15\/the-question-of-tradeoff-in-software-business-and-life\/#webpage\",\"url\":\"http:\/\/buklijas.info\/blog\/2018\/11\/15\/the-question-of-tradeoff-in-software-business-and-life\/\",\"name\":\"The question of tradeoff in software, business, and life - Sasa Buklijas\",\"isPartOf\":{\"@id\":\"http:\/\/buklijas.info\/blog\/#website\"},\"datePublished\":\"2018-11-15T06:00:36+00:00\",\"dateModified\":\"2018-12-14T21:16:21+00:00\",\"author\":{\"@id\":\"http:\/\/buklijas.info\/blog\/#\/schema\/person\/780025d597f1c5df3cc156eaffc8c561\"},\"description\":\"tradeoff\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/buklijas.info\/blog\/2018\/11\/15\/the-question-of-tradeoff-in-software-business-and-life\/\"]}]},{\"@type\":\"Person\",\"@id\":\"http:\/\/buklijas.info\/blog\/#\/schema\/person\/780025d597f1c5df3cc156eaffc8c561\",\"name\":\"Sasa Buklijas\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"http:\/\/buklijas.info\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/9f6f7de5a4882517ca0e4a8ebd607925?s=96&d=mm&r=g\",\"caption\":\"Sasa Buklijas\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5YHGV-cf","_links":{"self":[{"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/posts\/759"}],"collection":[{"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/comments?post=759"}],"version-history":[{"count":4,"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/posts\/759\/revisions"}],"predecessor-version":[{"id":792,"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/posts\/759\/revisions\/792"}],"wp:attachment":[{"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/media?parent=759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/categories?post=759"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/buklijas.info\/blog\/wp-json\/wp\/v2\/tags?post=759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}