You might think… now that I am about complete B.Tech, once I complete, I don’t need to study further. I have been studying from L.K.G to B.Tech, so now I can rest and just do the work.
But in reality, every software developer in life actually starts learning in real sense. When I say in the real sense, it is that you have been studying the things for which answers already exist. There is nothing much new as part of your 18 years of study. From now on, you will learn to solve the problems that you have in your work. They are not like your textbook question and answers. They have to find out a real solution to the real problem that you are working on. Engineering trade itself means a collection of trade-offs in creating a solution that suites the current need. There is nothing like a right and wrong answer. Instead, you will be evaluated if you can provide a solution to the problem, which is satisfactory to the people who are using your solution. So learning starts now and its life long.
There is tremendous learning, as part of the work that you do. There are continuous updates on the technologies that we use. And the methods we use to solve the problems. To be able to understand them at the speed of the creation of these new methods. You need to understand the fundamentals and foundations of these technologies well. One of the critical things becomes, are you able to recognise the patterns in the foundations of computer science.
A well-used time in college means having a good understanding of fundamentals and perceiving the common patterns in all of the solutions used in society by people with various needs. As you keep collecting these patterns, you become competent in understanding the new technologies and methods. That people design to create solutions that are easy and cost-effective.
The way to gain this perspective is to keep yourself exposed to the problems of real work. Either by doing an internship in a company or working for someone who needs to develop software. Or you are working on your ideas, which include using the latest technologies to solve them. Just for fun building something using the latest technology.
Invest time to become good at reading large volumes of data, analyzing them and synthesizing the data. This will be an excellent skill needed. Along with this, try to create presentation material or articles or explanatory videos. This will help you in learning many tools to achieve this.
So here are some questions to explore:
What are the common capabilities needed in this working environment?
How can you get experiences which help you building these capabilities?
How can you make it effective in attaining these capabilities by working with your friends as groups?
How can you leverage the connected world that we are in to achieve these?