1"use strict";(self.webpackChunkuiv_2=self.webpackChunkuiv_2||[]).push([[4851],{5465:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>n,toc:()=>c});var n=s(7060),r=s(4848),o=s(8453);const a={slug:"software-craftsmanship",title:"Software Craftsmanship - Objectify Tools, Not Debates",description:"Why endless debates about microservices vs monoliths, serverless vs servers miss the point. Learn to treat software tools objectively and focus on craftsmanship over dogma in engineering decisions.",keywords:["software craftsmanship","engineering tools","microservices","monolith","serverless","software architecture","pragmatic engineering","tool selection","technical debates"],authors:"manu",tags:["software engineering","craftsmanship","tools","debates"],date:new Date("2023-05-09T00:00:00.000Z")},i=void 0,l={authorsImageUrls:[void 0]},c=[];function h(e){const t={br:"br",p:"p",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"The debates from 2015 are back."}),"\n",(0,r.jsxs)(t.p,{children:["Microservices v/s Monolith.",(0,r.jsx)(t.br,{}),"\n","Server v/s serverless.",(0,r.jsx)(t.br,{}),"\n","Stateless v/s Stateful",(0,r.jsx)(t.br,{}),"\n","No-SQL v/s SQL",(0,r.jsx)(t.br,{}),"\n","Screwdriver v/s Hammer",(0,r.jsx)(t.br,{}),"\n","Bread v/s Cake"]}),"\n",(0,r.jsx)(t.p,{children:"These arguments have become the equivalent of a wrestling match in the software engineering world, where the last man standing gets the privilege to write code his way. And, of course, we all know that the only way to code is their way, right?"}),"\n",(0,r.jsx)(t.p,{children:"While we're engrossed in these seemingly infinite debates, guess what we're not doing? You've nailed it. We're not paying attention to the real craftsmanship of software engineering. Who cares about creating effective, sustainable, and scalable software solutions when we can spend our time arguing about whether or not to use microservices?"})]})}function g(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},7060:e=>{e.exports=JSON.parse('{"permalink":"/blog/software-craftsmanship","source":"@site/blog/2023-05-09-software-craftsmanship.mdx","title":"Software Craftsmanship - Objectify Tools, Not Debates","description":"Why endless debates about microservices vs monoliths, serverless vs servers miss the point. Learn to treat software tools objectively and focus on craftsmanship over dogma in engineering decisions.","date":"2023-05-09T00:00:00.000Z","tags":[{"inline":true,"label":"software engineering","permalink":"/blog/tags/software-engineering"},{"inline":true,"label":"craftsmanship","permalink":"/blog/tags/craftsmanship"},{"inline":true,"label":"tools","permalink":"/blog/tags/tools"},{"inline":true,"label":"debates","permalink":"/blog/tags/debates"}],"readingTime":2.63,"hasTruncateMarker":true,"authors":[{"name":"Manu Mishra","title":"Distinguished Solutions Architect, Author & Researcher in AI & Cloud","url":"https://github.com/manu-mishra","imageURL":"/img/logo.png","key":"manu","page":null}
1],"frontMatter":{"slug":"software-craftsmanship","title":"Software Craftsmanship - Objectify Tools, Not Debates","description":"Why endless debates about microservices vs monoliths, serverless vs servers miss the point. Learn to treat software tools objectively and focus on craftsmanship over dogma in engineering decisions.","keywords":["software craftsmanship","engineering tools","microservices","monolith","serverless","software architecture","pragmatic engineering","tool selection","technical debates"],"authors":"manu","tags":["software engineering","craftsmanship","tools","debates"],"date":"2023-05-09T00:00:00.000Z"},"unlisted":false,"prevItem":{"title":"The Future with Large Language Models - A Technical Debt Worth Taking","permalink":"/blog/llm-technical-debt"},"nextItem":{"title":"Software Engineer vs. Developer through the Lens of Socratic Questioning","permalink":"/blog/software-engineer-vs-developer"}}')},8453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>i});var n=s(6540);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.