A bit of inspiration most weekdays for exploring your mindset .

Insightfulness in software

Khem Raj December 23, 2024 #meta

How many programming languages, different data structures and algorithms, common programming paradigms and patterns does one understands? All these are part of knowlege system that is a must for becoming a good software developer. They can be learnt at schools, trainings, labs, implementations, debugging etc.

However, there is another aspect to software development which is as important its discernment

For instance chosing right tools, this requires one to understand strenghts and weaknesses of different tools and technologies e.g. programming languages, hosting solutions code editors etc. Deeper undertanding of business needs and user requirements enables to prioritize and decide effectively. Breakdown complex engineering pieces into simple understandable artifacts which can be used to communicate amongst engineering and non-engineering functional teams. When there are options of choices, if we can assess its risks and benefits and manage uncertainity around the choice then it will be the best option of the choices at hand.

Thomas Jefferson said

Wisdom is knowing what to do next. Skill is knowing how to do it. Virtue is doing it