Develop Software to live beyond you: Tech Talk by Vice President Mindtree
Four years of engineering is not learning subject and getting score only. But it is way to think, it is learning approach how to solve the problem. It is very need to learn how to learn. Companies are growing too fast and getting more updated with technology than academic as business can not run with outdated technology. To be in rival in this industry they have to up to date, so their expectation is also high from Engineers. Perception of each subject is different for class and company. Now it is need to understand what exactly we have to learn so it will help us to stand out in crowd of engineers?
We are already know, Innovation and Interpretation are major ideas to become billionaire. But how to adapt these ideas in us is major concern? All these question seems to be forward but hard to implement in real life, but not impossible.
It was really awesome for me to attend Tech Talk by Mr Ramchandran, Vice President of Mindtree at NIT Trichy. It is special session because he talks more about reality than myth, engineering than artist. It is special because he talks more about how to stand in corporate industry than scoring marks in class.
I do not want to be menace for you by playing with your patience 😉 . Here is go “Develop Software to live beyond you”, delighted Tech Talk by Mr. Ramachandran Ramakrishnan, Vice President of Mindtree .
Table of Contents
Can software transcend time like Monuments ?
We know the great wall of China . do you know who constructed it ? It has been constructed in 206BC. No one mater who builts it but still people all around world visits there just to know its history , skill, technology they have used that time. So monuments transcend time. But can software transcend time, same ?
Engineer starts deep down teeth by writing Hello World program, why “Hello World” only ??
Almost everyone while writing program use i and j in loop counter… Why “i” and “j” only ??
In the 1950s for scientific and engineering applications, Fortran was only programming language. In this language, every integer is start with letter “i” , “j”, “k”, “l”, “m”. So this transcend time & we are still following. So Yes, software have power to transcend time. Lets start now to build software that will transcend time.
Its engineering not art ?
The primary difference between art and engineering is; art can show on paper but engineering only can apply in reality. You are engineer, be grounded in reality of tech world. Don’t forget that engineering is higher precision activity than art.
Where is software stand today ?
Printer for presentation have software. Mobile carrying in pocket have software. Almost from home appliances to luxurious car have software. In small component of Mercedes only have 20 millions of line code.
Remember what ever has been developed , it is not sufficient to solve problem. There is always scope of improvement, scope of innovation. Technology is still updating. The point is, in all these changes there is opportunity for memorability. How to build memorable software?
You may like to read :Principles of Agile Software Development Methodologies
Develop Software Memorable:
To Develop Software Memorable there is need to adopt five principle that you can not learned in classes only, but have to get it by your self.
1) Simple Code
This is primary thing to build memorable software. First KISS is always memorable 😛 1% of you might be disappointed as I’m am talking about Kiss – keep it simple stupid rule , not kiss that you are thinking. 😀
Software should be so simple that, in next generation other will build on it. In future many will come and extend what you have done. The more is simple code, the more is reusable.
Don’t keep your attitude like you can developed better than what other has developed or attitude like you can develop by yourself. This attitude can hamper your growth in software industry .
To develop software with simple code,
- Method should not contain more than two screen code otherwise it become complex code.
- Complexity index can be calculated by number of branches, if else statement or switch cases in program code. More than 10 complexity index in method indicates complex code.
- In program there should single entry and single exit to function.
2) Modular Design
Program should be modular. Developing modules? Primary concept in designing modules in computer is to check the functionality, though it is not in form. Each component should describe one thing one object. Coupling between two components should be clear. Modular designing should be implemented and developed like brick models in Legoland.
3) Documented Code
Remember no job is finished until paper work done . Write down the comments that will matches with the code in written program. People seems to be procrastinator in writing comments. Its seems to be many procrastinator sitting here :D. But commenting code will help us to understand program very easily and develop software memorable.
You may like to read : What is and How to create Accessible Web Design | Future Scope
4) Follow Coding Rules
Rules are boring.
Rules are meant to be broken…blah..blah..
After jumping in software engineering profession, quotes seems good in phrases only. Every language have its own set of coding rules. Total coding rules for particular programming language may counts up to three full screen view. Make practice of following coding rules to develop software memorable.
5) Unit Test Your Code
Industry is changing more than it meant to be. Customers are demanding more. Customers are not ready to pay for testing and their thought process is quite interesting. They think while developing software the bugs are created by developer then why they have to pay? Remember their expectation from software developer is more than your perfection. So always unit test your code properly before delivery.
Rate of change in technology is very high in industry so keep eye on building software that transcend time. Make your software memorable. We are developer who develop software that live beyond us.
All the Best !
Being Engineer what change is important to become successful or any point that every engineer should adopt ? please feel free use comment section bellow.