In Conversation with Dilip Kumar


The way technology is moving fast it’s very difficult to catch up. However being Computer Science graduates, expectations there are high expectations from us to be a master of all these technologies. However, following few things help to keep it easy.

  1. Trying to predict
  2. Reinventing the wheel
  3. Building your own product
  4. Collaborating and sharing
  5. Learning more about Internet technologies
  6. Being positive about Computer Science & Engineering.

Predicting about any technology or a solution is very important. If you are learning any new technology, try to figure out what problem it is attempting to solve.  First of all, come up with your own solution to it, and only then try to relate your solution with the solution provided by that technology. This is a very crucial step in order to hone our thought process, and to learn in and out of technologies. Once your thought process starts following the right direction, it would get easier to learn new technologies as every new technology solves a particular problem in its own way.

Reinventing the wheel is very important to get a real hands-on experience. The world is expanding at a very fast pace, and fortunately it is gifted with a lot of intellectual minds. It is hence very much probable that the problem you face or observe right now is also faced and observed by others. Also, the solution you are think can be simultaneously thought by others as well. However, one thing stands unquestionably true, that the execution to solve the same problem with same solution approach will be different. Most of the time it's the style of your execution that distinguishes you. Therefore, there shouldn't be any hesitation in copying other's work, as long as you do it in your own way. Reinventing the wheel is something which will give you a chance to learn the nitty-gritty of problems and shortcomings in its solution. More importantly, it will make you as experience as others who are working towards the same goal.

In the past few decades many companies started off with a small idea or a "baby project", and it gradually got converted into a giant company. Also, the intriguing part, is that you can come up with technology products even with zero money. It just needs an individual's dedicated time and effort. Therefore, it is very much important for us to inculcate in the activity of building at least one product ever year during our college time (i.e. four for B.Tech and two for M.Tech). Products can be based on any idea. For example, you can think of building any of the following as your pet project:

  • Your own Operating System
  • Your own Internet Browser
  • Your own Search Engine
  • Your own Map
  • Your own Video player
  • Your own Audio player
  • Your own video encoding algorithm
  • Your own Audio encoding algorithm
  • Your own image type
  • Your own favorite online game
  • Your own database
  • Your own robot
  • Your own programming language
  • An online course management system
  • Build an application like Facebook
  • Discussion portals like Stakoverflow/Quora

Sharing is the heart of software industry. Never has just one company/individual ever built the technologies to solve the problems in the entire industry. Be it any programming language, Operating system, or anything. It has always been developed with collaborative efforts and sharing. We should always be willing to share our product or idea free of cost with others to get a feedback, and see what others are doing in same domain. Try to be a part of the open source community. Once you have a look at the amount of knowledge being shared free of cost, you would realize the power of collaboration. Also, if chances permit- try to travel across the world to meet new people and learn about the kind of innovations happening on their side of the world.

Computer Science Engineering, in collaboration with Electronics Engineering is only engineering stream that touches almost every area of human lives and every industry. Be it health care, aerospace, automobile, telecommunication, education, agriculture, banking, marketing, military, robotics, research & development, customer services etc, Computer Science touches each and every aspect. Doesn't matter if, after your B.Tech or M.Tech degrees you wish to continue working as a Computer Science Engineer or if you are aiming for MBA; you will be handling a product whose major part has been contributed by Computer Science. Much of the world’s prestigious university MBA graduates join major technology companies.Internet is continuously transforming human life and the way industries function. Therefore it would always be beneficial to get the expertise on Internet technologies. There are many technologies being utilized to build Internet based application.  However, these days MEAN stack is getting more attention to build Internet based applications and native apps. MEAN extends as Mongo Database, Express to support HTTP, Angular js and Node js. React is also a relatively new language that needs to be explored, as it provides out of the box solution to solve Internet based application’s problem and also provides native app solution. JavaScript is at the core of Internet based application deveopment. The way English language is helping entire world to communicate in one language, Javascript has similarly become the one language to design frontend, backend, database or even to design any native app. Day after day, JavaScript is becoming more powerful, and hence it would be good to get a thorough insight on it.

And finally, being a part of the IIT group, it comes with an extra responsibility of developing our own Computer Science department to be one of the best in the world, which would only be possible by the efforts of the students. We have to excel in all the areas so as to attract better talent and the best of the recruiters. We should show keen interest in participating in research and development related work. And most importantly we should encourage the students and professors to make efforts in coming up with as many startup companies as possible.

Dilip Kumar
Full time as Software Engineer @ American Express, Phoenix, USA
Remaining time as co-founder of MYfitCODE App (iOS & Android) for Gym clubs as Startup