Why is software development is so Hard

Hi, Welcome to my awesome profile ๐
Iam full-stack software developer with a creative problem-solving abilities(using Algorithms and data structures), ability to work with high level of confidentiality, Capacity to be flexible and multitask and Ability to communicate effectively with team members and leadership staff in English.
Why is software development so hard?
It was 11pm(late night) and my phone rang. Initially I was wondering, "who would call me this late?" I did not pick the call.
Next morning, I called back, and this was our conversation:
Me: Hello,good morning, sorry I missed your call yesternight.
Caller: Yes, good morning, my name is Richard, I am a corp member(service to our country by postgraduate students), I got your number on a WhatsApp group where I noticed you are a software developer, and I am interested in learning. Please can you teach me how to code?
Me: oh! That is great, yes I am willing to teach you, but I need to know if you are really serious about learning or not.
Caller: Yes I am serious, but I heard software development is hard, please what makes it hard?
Me: Very good, the reason why software development is hard are:
๐ Keeping up with technology: change is the only constant In software, we have to continually keep updated even to maintain a simple codebase.
๐ Communication: constant communication between developer, team lead and other is important for keep everyone in the same page
๐Every line of code is a potential point of failure: Each line of code would have lots of possible inputs, output and lots of dependencies to deal with. It can be impact or being impacted by other line of code or other external factors
๐ You are expected to know everything: You are expected to know everything as old as Windows MS-DOS to as new as Windows 11. Software is a vast field and inculcating all the skills is just next to impossible. Online learning and collaboration can be of great help. When everything else fails, Google it!
๐Time management is difficult: When you might have planned to implement a feature within one week. One bug can ruin your entire schedule. These reasons are more on a general terms, when we talk in terms of coding that is a topic for another day.
Caller: wow!, It sound exciting, when we can we start the learning process.
Me: Wow I love your determination.
Comment other why ๐๐


