Next Generation Engineers
I went to Boston MIT to recruit for software engineering internship positions. It was 2 days full of interviews. Meeting people getting to know them and gauge them its a super tiring job. Regardless I enjoyed doing it. I wanted to do it so that I get to know what’s the next generation looking like. After a couple of interviews I immediately understood that the quality is pretty high. I liked the fact that almost every CS student was able to code stuff up in python since 3 of their courses were taught in python. A lot of students were already building API’s using Ruby on Rails while using titanium to create a mobile applications.
For a junior in college optimizing for run time and space time complexity is pretty impressive. I had no idea how programming works when I was out of college. I barely knew how to structure a program. I envy the latest generation so much. I mean they are so sharp and good so early on. I wish I was that smart and knowledgable early on. I had to learn things the hard way. I remember the times where I used to hop on #django and #python irc to get an answer. I used to be kicked and booted out of rooms for asking too many dumb questions. Regardless one thing I learnt is learning hard way strengthens your concepts. My debugging skills strengthend a lot by making stupid mistakes all the time.
One thing I saw in most of the students was the fire. There was fire to do something in life. When I see someone trying hard I see a fire in them. I know it might sound little skeptical. But I am talking about it because I used to have a fire to learn. When I had about one year left in my masters I had no idea what to do later. So I was determined to learn stuff as much as possible. I think part of the problem with programming is implementation. No matter how much you read its not gonna help you. It always comes to implementing stuff. One basic difference I found in a school like MIT compared to some college in India is they push you over the edge. Your breath stops as long as you look down the edge but once you are in a free fall you make your best attempt to survive. Through a constant effort to survive you learn a lot of new skills.
One question I was asked couple of times is:
Does any skill / technology you learn in college is useful in your job?
Personally I think my answer is NO. I am sure concepts like algorithms, data structures, networking concepts etc are useful in any stream of computers since they are the basics. But those basics wont help you get anywhere. Real world applications and problems are quite different and takes experience to understand them. The question remains what do you learn in school?
You don’t go to school to learn skills required in a job. You go to school to learn how to observe, grasp, learn and apply. You go to school to meet a bunch of like minded people and work as a team. You find motivation in your peers.
Every exam looks like a competition but actually its a way to inspire you to try harder. You see someone trying and you need to find the same feel to do it. I personally know how valuable it is to find a bunch of like minds. To me its what fuels me. I think school is a great place to find life partner or cofounder.
Seeing this youth full of energy and zeal kind of replenished my energy and gave me a new spirit to work on something new. Thanks Kate Fiedelman, Zac Whitlow and Jeff Warren for making this a memorable one.