Software engineering, ability or skill?

Software engineering, ability or skill?

There are many who believe software engineering to be an innate ability that is possessed by few who are mentally gifted, movies and our sociocultural environment hasn't made things any easier as software engineers as well are successful tech entrepreneurs have been shrouded in enigma.

The ability to communicate with machines isn't an ability to the same extent as it is a skill, humans are born with the ability to walk which is more or less potential, there are those who walk amongst us who have developed that potential into a skill, there are those with so much kinetic energy that we call them speedsters.

However like all skills the theory of use and disuse applies, muscle memory while a thing can be weakened. The same is to be said of a software engineer's skill, when software engineers evaluates the demand for a particular language or architecture, they also do so with the consciousness that learning languages and architecture without a long-term plan or sustained demand is an exercise in futility.

If you want an engineer to build you something in a different language you have to show the long-term potential in making the switch or you'll have to find someone who already has what you need. If you want to learn you need to also consider these things, you'll be surprised by how fast you can forget syntaxes and programming when you don't code for a while, as a newbie it's OK to want to try your hand on a lot of languages, while you play around you need to also make a decision on what you want to have a reputation for doing.