WORST MISTAKES When Choosing A Technology Framework

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
technology choices what framework should we use what language should we use what architectural pattern and what vendor should we use in our career we are faced with these decisions some love these decisions some dread them how do we make these decisions and how could we do that differently [Music] welcome to this channel my name is aino Corey and I work as an independent consultant most often as an agile coach I'm also as you can see a co-host in Dave Farley's continuous delivery Channel if you've not been here before please hit subscribe and if you enjoy the content today hit like as well before we begin a thank you to our Channel sponsors equal experts trisentis and transfig all of whom help us grow the channel and provide products that align very well with what we discussed on this channel today my focus will be on the mistakes we make when choosing a technology framework and because I'm a great fan I'll start with a surprisingly relevant anecdote from Lord of the Rings then move on to rational and irrational reasons for choosing technology and in the end of the video you'll hear the worst reason for choosing technology in My Mind but let's talk about the Lord of the Rings before I start I will admit that I have not read the books I've only seen the films and I know that in the anecdote I talk about there are differences but not so much so that we lose the point so at a point in the story the team that fights for the good in the world consisting of the wizard Gandalf the dwarf Gimli the humans Aragon Boromir the hobbits Frodo Sam Marion Pippin and the elf Legolas need to decide on the best route to take in their quest to save the world from Evil much like the situations we often find ourselves in as software Developers initially Gandalf says that they should use the passage South however it is discovered that serum and spies are present there preventing them from using that route Gimli then suggests using the minds of Moria where his people live and Thrive but his idea is dismissed probably because there's not a lot of psychological safety in the team and no one listens to him then Gandalf proposes using the passive karat dress instead and since he's the leader this is what they do Unfortunately they encounter dangerous weather conditions and Saruman the evil wizard in the world makes the mountain break down on them because of this they're now forced to retreat and going through the minds of Moria is the only option left this of course makes Gimli extremely happy because he's looking forward to being in the minds again and seeing his people again he has a lot of good memories from there however they find that the minds are filled with dwarf corpses and Orcs And trolls making it a dangerous and unpleasant experience Gimli had no idea about this due to the lack of smartphones at the time they Soldier on though and I'll not spoil more of the story here this anecdote reflects the challenges of choosing technology in real life scenarios some like Gimli May advocate for certain Technologies based on past experiences but they may not always be suitable for the situation similarly seemingly rational Solutions like going through the parts of karatress may have unforeseen issues and teams May hesitate to go back and change their approach due to the sunk cost fallacy in this scenario though we must congratulate the team for being able to change their mind and go back and try a different route when the First Choice turns out to be wrong but what are the rational reasons for choosing a technology perhaps one technology has a deal breaker feature that you really need to have for example you need a mobile app framework that uses Maps flutter did not have Maps initially and was ignored by some because of that in case you do not know this flutter is a framework that allows you to build apps for both IOS and Android so your apps feel at home on both platforms but Maps is important for many app developers nice to have features can also be called a rational reason for choosing a technology perhaps you really need a language with garbage collection because you know yourself or perhaps you need a language that comes with a library with everything you need so that you do not have to code it from scratch yourself sadly some people have to make the choice based on the vendor they're locked into are we using Microsoft Azure AWS are we using a Linux server or a Windows server you can also find a lot of comparisons between Technologies online that will help you make a rational Choice try if you're bored one evening to find comparisons between the two machine learning Frameworks tensorflow and Pi torch you can read page after page but the result is that it depends on your situation your data your people your schedule and your taste not surprisingly this is how it is with most comparisons between Technologies online if one was objectively much weaker in all situations it's probably not one you would even consider those were what we often think of as the rational reasons what about irrational reasons like Gimli if you've used the framework or language before and you have great memories about it you tend to go there again even if the situation at hand is different and the technology itself might have been overtaken by newer choices also this is something you know so the learning curve is not so Steep and you can quickly get started but this is turning into a rational argument so I'll move on changing technology in general can be a problem so even if there are good reasons for using a new technology it might be overlooked gurga oros from the brilliant block the pragmatic engineer has cited from the book history of computing when a more friendly version of assembly was invented sap which meant a faster way of writing programs adoption was very slow despite productivity increases and I remember myself when I heard about Ruby for the first time dismissing it as a poor simulation of small talk but it probably has some merits I never knew I must admit I never used it so I still don't know if it's better than small talk and so we stick to what we know often if we are that type of person if you are different from me you might be more like the satirical Twitter account hipster hacker who proudly announces that he is always using the newest technology just because it's new and never wants to maintain systems when the technology they are built with are not shiny anymore one of his tweets read seeking Junior web developer must be willing to inherit whatever Tech stack has lost my favor this month while I convert to the new one at least he's honest about it I once worked in an organization dangerously close to the Department of computer science at a university and the developers who worked there always wanted to use the newest technology resulting in a lot of small difficult to maintain subsystems tied together with different technology wait this reminds me of something the definition of microservices microservices every service can be built in its own technology as long as they communicate thereby ensuring what we call technological freedom microservices architectures don't follow a one-size-fits-all approach teams have the freedom freedom to choose the best tool to solve their specific problem and as a consequence teams building microservices can choose the best tool for each job or teams can try out their pet technology of the month and spent time on learning it every time and then when they need to maintain it they need time to do that as well but don't get me wrong microservices is a brilliant architectural pattern under the right circumstances and with developers more like me than hipster hacker we can also find people in our field who stick with what works well and do not let themselves over complicate things an example is Brian LaRue he's now working on enhance which is supposed to provide an example of how to build web apps using web technology if you follow him you will hear him say things such as HTML is a good choice for the use case of displaying HTML and transpiling is a massively brittle practice for questionable benefits but what are actually the consequences of making bad choices in technology use apart from the obvious problem with creating another vendor trap for ourselves so spending a lot of time learning something that is unnecessary other consequences can appear as well maybe you find yourself in delusions of grandeur when you think you need to choose something that can support a hundred million users on your app before you know it you have a hugely complicated solution that orchestrates dozens or hundreds of virtual servers most likely you do not need that you're not Google even Google doesn't get a hundred million users on every product which is why they keep closing stuff down or perhaps you find yourself in analysis paralysis where you read numerous blog posts and watch endless YouTube videos and entertain daily discussions about the Technologies on how to make the perfect choice how could we change this in general experiments and Architectural spikes are what is most useful when making a grant decision about a tech framework an architectural spike is a technical risk reduction technique popularized by extreme programming where you write just enough code to explore the use of a technology or technique that you're unfamiliar with besides experiments and spikes you also need the acceptance that you can't know everything from the beginning that you will learn and that you will make mistakes this is what you need in order to make a good decision aiming for the ultimate right decision is perhaps pushing it and even when you have done your research you still have to figure out how you make the decision in your team you need to think about how you would like to make that decision and you have four General ways of doing that either you use democracy this is used in a lot of organizations and different countries the benefit is that the majority is Happy the downside is that the minority can be really pissed second is consensus it was used a lot in Denmark in the 70s everybody has to agree this is brilliant but it takes forever and often ends in indecision which can sometimes only be fixed with the third way of making decisions dictatorship where someone just makes the decision sometimes dictatorship is good mostly if the dictator is benevolent and knowledgeable but sometimes the only reason for using dictatorship is just to have one single person to blame when the hits the fan Fourth Way is consent and this is what I am increasingly recommending when decisions are to be taken consent means that everybody is okay with the decision they're not necessarily thrilled but they can live with it sometimes a compromise is what is needed to make people accept the decision perhaps you decide to make an experiment or try something for a short period of time and then you revisit the decision in my book retrospectives answer patterns I have a chapter called unfruitful democracy that describes the trouble with Democratic decision making in teams in detail since making choices about technology can be compared with making any other decision we know that even when we think we've made a very rational decision it was often a decision based on hunches feelings and even misunderstandings and also as Linda Rising points out in numerous talks the environment we make decisions in might not be so helpful to our brains think about when you last made a decision were you perhaps sitting down looking at a screen with some data or were you having a plenary discussion where the loudest person got to decide or did you perhaps make sure you were not hungry or thirsty walk outside together perhaps thinking in silence and then making small experiments if you've never watched Linda's talk you should do yourself the favor of doing so she dives into why people do what they do and how we can improve things like decision making and talking to people who do not want to listen to us as promised in the beginning here comes the worst reason for choosing technology in my mind this is when you're choosing a tech framework some people choose it just to have it on their CV not because they're curious not because they believe this is the right thing for the company or the Software System they're building they know it would be better to use a different often simpler technology but they would like to use it as a ladder to get a better job I'm sorry to say that I think a lot of people introduced blockchain where it was irrelevant at best and harmful at worst just because it would look good and I'm wondering if large language models llms are the next thing that will be overused back when I started it was the gang of four design patterns I even did my PhD about design patterns and language constructs but more about that another day oh and the worst technology choice in Lord of the Rings is this in the end the eagle save the hobbits by just flying in and fetching them and bringing them to safety Why did Gandalf not choose to use the Eagles earlier instead of almost killing the hobbits you can learn from this by asking yourself is there someone in your organization you forgot about who would be able to help or advise you or send an eagle to you so in summary making rational decisions about Technologies is impossible you will never understand the full consequences of choosing one over the other and you will never be able to foresee explicitly what you need in the future we as humans cannot make perfect decisions so we just have to accept that and accept the consequences instead of beating ourselves up about it be nice to yourself what was the best or worst reason for choosing a technology that you ever saw tell us in the comments thank you for watching I'll be back next month with more about teams meetings decisions learning communication or whatever I fancy at the time thank you
Info
Channel: Continuous Delivery
Views: 14,723
Rating: undefined out of 5
Keywords: technology framework, framework, technology choices, choosing the right technology for your business, technology framework examples, chosing the right software technology, software engineering, software development, computer science, aino corry, continuous delivery, technology mistakes, technology framework mistakes
Id: qVLpMC001AA
Channel Id: undefined
Length: 15min 6sec (906 seconds)
Published: Wed Aug 16 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.