Wednesday, February 16, 2011

Learn, Respect, Triumph

This post is for all the new developers out there coming to the industry. Take a look at the Title of this post. Ok read it again. Ok Again. Alright now lets get going. I wanted to post something to all the new developers that come into the field of IT. I myself am not a veteran software engineer, i count a little over 4 years of experience. Wanted to share my thoughts about the new guys who come in. I see them and remember myself 4 years back and wanted to share some insights.

I often see new people who come in, fresh and pumped up to work. This is just great to see, reminds me when i was first entering the world of IT. Few things i noted which i myself was a victim back in the days are the ones i am going to go through within this post.


I see few people these days who just enter the field of IT and they expect to work on the latest technology, with the latest frameworks and what not. This is great and there should be that hunger for technology but i would like to point out that you will not always get the chance to work on a project with all the latest technology. You would probably blame the company for not adapting to the new trends. Ok take two steps back. Look at it from this angle. Before two to three years did we have all these awesome java script frameworks that we now have? No. So people adapted their own frameworks that fit their needs which runs perfectly fine and has being running fine for quite a few years. Now when you fall into a project like that, you will probably think why would i ever want to learn all these boring old things since i know the new stuff. Ok again take two steps back. Look at current frameworks. Dont just look at them, dive into the code and look. Do you see a slight similarity between that and the current code of what your company use?

See everything that is there currently is a development of what already existed. Learn what you might think as "old" technology because these are the foundation on what current frameworks are built upon. Just because they are old does not mean its useless.

A few interns joined our company recently. A very talented group i must say. One guy was seated next to me, so i was asking how everything was going for him so far. He says "everything is good but i sure wish that i did not have to understand other's code and just write my own code instead". He was on a maintenance project and was mostly involved in bug fixes and enhancements. What i told him was that you will in a majority of cases be reading other's code and some may be bad and others would be good quality code. But whats important here is that you get to learn what is meant by bad code and good code my looking at other's code. Just writing your own code will get you no where. 

There are many other cases i would like to share but i do not want to lengthen this post much :) .. Ill probably break it down into sub posts in the time to come. Ok moving on to my next point,

As new people who enter the field of IT learn to always respect your seniors. That does not mean that you have to shake your head and agree on everything that they say or tell you to do. But dont think less of them just because they might know the latest technology that is out there or has just come out. Remember this, as you mature in this field you see many technology come and go. Some stick around and others fail. Maybe you like a certain new framework or language that has just come out, but just because your senior engineers do not want to incorporate it into the project does not mean they do not know that specific technology, it means that they with their experience often can judge if a certain technology is mature enough to adhere and incorporate. 

I must say i was in a similar situation when i first started working. Fresh out of grad school i was excited about going to work and starting off with the cool technology i just learned. But alas non of the tech leads or senior engineers even want to know about a particular technology i was talking about. I was left with some mix emotions. Sad, frustrated, angry and many more. Now when i look back i can see that those guys were actually right on the money. Because those technology i was talking about actually never materialized and some of them were a failure.

Remember to always respect your seniors no matter what. Some of them might be wrong sometimes. But most of the time they are right. Learn from them. If they think something you say is not correct dont be silent and in your mind mark that senior person as an idiot or incompetent. Ask him/her why that is so and the reason behind it. You will get a rationale answer i guarantee. You might not understand it fully at that moment, but some day you will.


Ok last point. For anyone who got to this point thank you for reading this post and bare with me,just few more lines to go :) ... Actually this is an ongoing thing and you cant just accomplish this and wash your hands clean. To excel in this industry i believe the points i highlighted above are very important. Always keep learning, and i do not mean just about IT. Read anything that interests you. My father always says reading is the best habit you can have. Dont just be a nerd on a PC 24x7. Enjoy life, go out, play some sport you love, spend some time with family and loved ones. These i believe are all important things that make the essence of life just beautiful and more meaningful.

Ok thats about it guys. I know the last part is a bit too profound but just wanted to get that in there too :) . Cheers guys.....