The history of Computer Science or say, Science, in general, suggests that it's the same basic concepts of Physics, Chemistry and Mathematics that lead us to the great discoveries and inventions like electricity, modern-day transports, computers as well as mobile devices. Applying a similar concept to the software programming industry, the engineers like us develop new and sometimes really innovative cool stuffs. Whether it is a word processor, a flight emulator game, or a social networking website, the basic rules remain the same that includes a set of modules containing a specific combination of simple, looping as well as conditional constructs.
Sharing the code-stuffs is the best an engineer can do. And if used by another engineer, BINGO you achieved something beyond the solution to a specific concern, and the satisfaction you get is incomparable to any other unless someone gives you a million-dollar check ;). Jokes apart, every individual has been gifted by the almighty a unique sense of visualizing everything in the universe. Someone who thought of linking together the world to bring together people at different geographical locations developed a social network. Or the other person who gave a platform to search existing information base and expanding this base based on the same search currently holds the favor to develop the worlds greatest of Search Engines. With the existing open git repositories and other open-source code platforms, we can give lives to our ideas without wasting our time and effort to get an optimized solutions to the basic modular problems of sorting, looping, displaying information in an appropriate form since they are just one search away in the Worldwide web.
The modern languages like Python are the best example that today the focus is on "What to do?" rather than "How to do it?". Because the basic sort and search optimization would be taken care of implicitly by the programs written in this language. There are tools and frameworks like Joomla with which you may develop a complete web application by some drags and drops even with a very basic understanding of languages for front-end, backend, or middleware. And if you are aware of modern application development concepts like MVC(Model View Controller), these stuffs are already been managed by these frameworks.
So the questions comes-What skills are engineers expected to possess in the current time. The answer is the same-the the basic concepts of Computer Science and Computer languages. But here's a catch, at the same time we need to change our attitude. They need to be innovative, creative as well as intellectual in their fields so as to be able to present new effective ways of doing things. Also, their penchant should be towards automation of the current system in a manner that the integrity and accuracy of the system they are working on remains intact.
A couple of years back, someone imagined an "All in one" device that is portable and has capabilities of a computer, a telephone, calendar, wrist-watch, etc. Today we have Smart Phones. Similarly, someone imagined having a Software who can write the back-end codes in drags-drops and clicks which is reality via web-designing frameworks. My dear friends, the idea in your brain may seem to be "A fictional super-power" now, but that could lead to the Next Big Innovation.
Think big and try mixing and matching the existing codes with your new ideas. It may take time but you may implement a new "Super Power".
Soumitra Mishra
Comments
Post a Comment