{"id":12,"date":"2022-01-13T00:57:09","date_gmt":"2022-01-13T00:57:09","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/?p=12"},"modified":"2022-01-13T00:59:48","modified_gmt":"2022-01-13T00:59:48","slug":"its-all-about-the-stack","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/2022\/01\/13\/its-all-about-the-stack\/","title":{"rendered":"Its all about the stack"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5153\/files\/2022\/01\/pancakes.jpg\" alt=\"\" class=\"wp-image-13\" width=\"614\" height=\"409\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5153\/files\/2022\/01\/pancakes.jpg 468w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/5153\/files\/2022\/01\/pancakes-300x200.jpg 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/unsplash.com\/photos\/09FcOqmi8R0\n<\/div><\/figure>\n\n\n\n<p>    Javascript or Python? React or Angular? MongoDb or Postgres? AWS or Heroku? These were some of the questions we started wrestling with this week as we met our groups and kicked the start of our capstone project. Since our particular project did not have a specified tech stack we were given the freedom to decide it for ourselves. Yet it has been anything but simple. Before I started programming I would have told someone selecting a technology to simply pick the best\/fastest\/coolest one. Now, given the wide number of available options I have come to learn that \u201cbest\u201d depends on what you prioritize. Through this project I have learned that the key to picking a tech stack is first ask what is most important for the project and then to choose the technologies that best match those goals.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>    Our first challenge in choosing a tech stack was to determine what was most important for our project. Speed or scalability? Rapid development or optimal performance? Platforms that are fastest or platforms that are cheapest (free)? Such an exercise has been helpful in getting us to identify what our goals for the project are and what would be the best way to reach them. The consensus on my team was to focus less on learning new languages and more on taking technologies we had some experience with and seeing how far we could extend them. This would give us the time and energy we needed to focus on excellence and execution. Still there were different aspects of our tools that we will need to invest time in learning. For example we chose to use Javascript \u2013 which all four of us had experience with &#8211; but not necessarily in the context of newer frameworks like React. We also decided to host our application on a more traditional Heruku environment rather than using AWS or GCP. All these decisions showed our resolve to focus on extending and applying what we learned rather than starting over from scratch.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>    What is fascinating to me though is to see how situational these decisions have been. Had we been on a different project \u2013 say we were working for large company for month to years \u2013 we would have likely picked an entirely different set of tools. Familiarity would have given way to scalability, cost effectiveness would have given way to performance. Just as a workman might use a hammer, drill and saw all in one day but in different contexts- we also have to adjust our technology selection based on the situation we are in. What this taught me was that is not so much about being an expert in a particular stack but rather understanding the objectives of the project and picking the right tools to meet those goals. Once we do that we can have confidence that we chose a good stack.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Javascript or Python? React or Angular? MongoDb or Postgres? AWS or Heroku? These were some of the questions we started wrestling with this week as we met our groups and kicked the start of our capstone project. Since our particular project did not have a specified tech stack we were given the freedom to decide&hellip; <a class=\"more-link\" href=\"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/2022\/01\/13\/its-all-about-the-stack\/\">Continue reading <span class=\"screen-reader-text\">Its all about the stack<\/span><\/a><\/p>\n","protected":false},"author":11994,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12","post","type-post","status-publish","format-standard","hentry","category-uncategorized","entry"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/posts\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/users\/11994"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":3,"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/posts\/12\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/posts\/12\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/media?parent=12"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/categories?post=12"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/kevinstechblog\/wp-json\/wp\/v2\/tags?post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}