There are many complexities in software development and modern technology. Computers are hard, let the experts handle it.
Technology has certainly come a long way in the last 50 years. From the MITS Altair 8800 to Microsoft Surface and Apple iMac 5K, the development of laptops and cell phones, then to smartphones and tablets. Now we’re looking at touchscreens, contactless tech, wireless charging and cloud computing. In terms of industry growth, technology continues to grow exponentially year after year. This is something that will never change, technology evolves as rapidly as we find new ways to use it. But one thing will always remain the same: Computers are hard.
That may seem like an oversimplification of a complicated problem, but it really isn’t. Computers ARE hard! In construction, it’s a pretty rare occurrence to put a nail into a beam on the second floor and have the sprinkler system go off on the 9th floor on the opposite side of the building. That’s just not how construction works, right? But with computers and software development and anything that uses code as its base, that is a possibility every single time.
Let’s discuss a familiar example. You remember “Gangnam Style”? The 2012 KPop song by previously not well known Psy, a Korean singer, songwriter and rapper. Anyway, the song was released in 2012, and by 2014 had so many views that it forced YouTube to upgrade. Previously, YouTube used a 32-bit system, which allows for 2,147,483,647 integers. So when the views of the video grew to that number, people began to state that “Gangnam Style” broke YouTube’s view counter.
People were concerned that YouTube was going to break because of the rising number of views. And isn’t it somewhat ironic that the one thing the system was built for got so big that it almost stamped itself out? The good news for Google is that it didn’t happen that way, they were able to flip the system over to 64-bit systems to allow for increased views and leave room for scaling. Had they not been upgraded, YouTube could have gone down until the problem was remedied. Why? Because without the ability to make a higher number, there’s no way for users to continue to view the pages. Every user has his/her own unique ID, and when the system can’t make a new one, it will stop. As will the functionality of the site.
This is the world of software and modern tech. It’s never easy because there are thousands of things happening, even in simple applications. If one of those things goes wrong, it could have zero impact or it could have a million different byproducts. You hammer a nail on the first floor to fix a problem and either the problem is fixed, or you end up with a hole in the roof.
Coding, programming, development, security, data storage, anything that touches code is subject to this problem. If dev is working on a project and the customer makes a change, it’s often not something that can simply be added in or taken out. The entire codebase has to be re-worked to account for whatever is being added or removed. Which is also why coders and devs prefer to have security coded in from the start. Going back to add security in later is a hassle and takes twice as long than if they had been allowed to do it the first time.
Think about the hardware of your computer, the motherboard, RAM, wiring, speakers, CPU, sensors, everything that you can physically see. There’s a lot of layers there, right? And it all has to go together like a puzzle for it all to work properly. Software development, web development, etc. are all even more intricate and layered than the parts of your PC. It’s not magical voodoo that makes your programs work, it’s dedicated developers and technology professionals. There are people behind it, people maintaining it. It’s not magic.
Let the experts – you know, the ones who have been trying to figure this out for 20 or 30 years and still get stumped every – day handle it. Because computers are hard.