“We will be running over a series of blog post as an effort to show you behind the scenes here at Vembu – SyncBlaze Team. As part of the initiative, we are going to introduce you to the team members who will be sharing some useful information with the community. First up is a new entrant who learns quickly with questions” – The SyncBlaze Team
Hi, my name is Harssha and I am part of the development team of Vembu SyncBlaze. I joined the team recently and I am quite excited about my first blog. To me Software development is both hobby and passion. I love learning new technologies and languages.
Software Development: Doing it right
As a student, I learnt theoretically that coding constitutes only about 20% of software development activities and why it is so. Now I am practically realizing it here at work. One reason for why it so is that softwares evolve over time. The time taken to develop a software is comparatively less than the duration for which it is maintained and during maintenance phase functionality of the software is modified. So it would be mutually beneficial to both the development firm and its client to design the software in such a way that changes could be made to the software with minimal effort. Design patterns allow us to achieve exactly this. Design patterns which are basically a set of best practices are based on certain basic principles:
1. Open Close Principle
2. Dependency Inversion Principle
3. Interface Segregation Principle
4. Single Responsibility Principle
5. Liskov’s Substitution Principle
A famous book on design patterns: “Design Patterns: Elements of Reusable Object-Oriented Software” by the Gang of Four describes 23 patterns and classifies them into following categories:
1. Creational Patterns
2. Structural Patterns
3. Behavioral Patterns
Learning these patterns are easier than cultivating the ability to apply or use them in appropriate situations. To what I have heard/experienced so far, software development is a skill rather than science. One cannot swim just by looking at others swimming or reading about it from a book. Practice makes perfect!
This is why here in Vembu, we are encouraged to understand the problem and come up with the solution which is then transformed to perfection by incorporating the team’s view into it. As a result one gets to learn from one’s as well as the team’s experience.