By using this website, you agree to our privacy policy [ Ok ]

Software Engineering or Software Patterns

by Abdur-Rahmaan Janhangeer



It is very curious and concerning that a lot of books on software engineering focus on … software patterns.

Engineering a robust piece of software requires a lot of stuffs. One of the main characteristic is being bug-free and providing working features. This requires the addition of valid and vetted bite-sized pieces of code. There is a need to address the approach to development.

There is also the issue of foresight. This is an indispensable aspect. Foresight often shape the direction of the project and prepares it to deal with the expected unexpected. Field knowledge contributes a lot to foresight.

Then we need to develop clean apis. There are very few books dealing with how to develop clean software apis. Great library usage experience is not that which is logically correct, which can be composed. A greatly architected library might have a poor api usage experience. It is about how easy customers find it to use it while providing powerful features. I asked a community of brilliant people to recommend resources, there are few resources as most books focus on clean codebases.

Then there is the aspect of security. People learn about security as an after-thought, imbibing post-mortems. This should maybe be a fundamental piece of education. Security and web frameworks should go hand in hand. There are a lot to security, devops sec, ci/cd sec etc also forms part of it. True that frameworks limit a lot of issues but, you should be intelligent enough not to rely on frameworks or be insightful enough to avoid pitfalls or add additional layers. Or even know about issues which the framework cannot address.

There is also a boring part which requires writing code to thrive in hostile environments. Malware authors teach software engineers lessons after lessons. People often tell this and that cannot be done. Malware authors often teach brilliant lessons on distribution and stability. Even i am amazed at how they write Python-based viruses and RATs which run undetected and the ease with which they distribute those to different OSes. The software world is still like well Python this and Python that. Malware authors take the patience to write code to deal with obstacles in their way.

Software engineers are often picky about code details at the expense of shipping a good product.