About
Software Engineering is not only the profession that I came to learn and love it is the manner through which I approach the analysis and design of software systems.
Software system is an entity designed to be a solution to a given requirement. In terms of development I consider there to be two types of software systems: a small system maintained by a single developer and a large which requires a collection of players. Overall large systems are infinitely more interesting; introducing a whole new spin to the development cycle covering everything from people dynamics to time and resources management.
Analysis is a method of understanding a given requirement. One of the fundamental aspects of software engineering is analysis. Simply listening to the problem and hacking away at the computer can be accomplished by every Joe who knows how to compile an algorithm. Analysis requires patience and knowledge learned through experience to take time and review critical aspects of a particular problem. Translating customer’s ‘fuzzy’, contradictory design in to a model, decomposing system into components/modules/subsystems, examining known system constraints, analyzing the concurrency issues, and examining security concerns are all important parts that are addressed through the analytical aspect of Software Engineering.
Design is the process of looking at the information collected through the analytical stage and creating/executing a plan of attack. Planning reasonable future growth, using known design patterns, prototyping a GUI interface, writing unit tests, creating the actual algorithms and performing integration testing are all important aspects that are channeled through the design process.
Some humour for those who stuck through my rambling
A guy was crossing a road one day when a frog called out to him and said, “If you kiss me, I’ll turn into a beautiful princess.” He bent over, picked up the frog and put it in his pocket.
The frog spoke up again and said, “If you kiss me and turn me back into a beautiful princess, I will stay with you for a week.” The guy took the frog out of his pocket, smiled at it and returned it to his pocket.
The frog then cried out, “If you kiss me and turn me back into a princess, I’ll stay with you and do anything you want.” Again the guy took the frog out, smiled at it and put it back into his pocket.
Finally the frog asked, “What is the matter? I’ve told you I’m a beautiful princess, that I’ll stay with you for a week and do anything you want. Why won’t you kiss me?” The guy said, “Listen, I’m a software engineer. I don’t have time for a girlfriend, but a talking frog is cool.”