Recently I completed seven years in IT industry. My career started with Siemens and as of now I am working with Infy. Along with Infy and Siemens, my professional life has been greatly influenced by people whom I met at various events, online and open source communities. This is a small note where I want to share what I learnt in this seven years. There are many things to write about, I just wanted to use number seven.
- You can’t learn programming in 7 years
Yes, Plain and simple. Read Teach Yourself Programming in Ten Years by Peter Norvig
- Care about people than process
Most of you would have heard “People are the center of every problem” quoted mainly by managers, HRs etc. But for me, People are the center of every solution. None of the **greatest** process can solve any problem with out right people. In fact all great projects/events in the history of the world are remembered, by remembering the people who were involved rather than process they followed. So give importance to people, break the process but don’t break a human.
- Be the worst team member
At the risk of sounding very controversial, Yes, you should be the worst team member in your team. I believe in learning from team members. You have better chance to learn when everybody is better than you. Where you can learn from every contact, every conversation and every minute. Its good to lead a team. You might get promoted if you lead a team. But you should realize that you are losing on learning. Its very important to be lead by a leader/thinker early in your career and also to work with a great team. Remember: Its good to lead but its best to be lead by a good leader. They also make you better future leaders.
- Have personal projects
Many would have written about it. If your employer supports your personal project then nothing like it. If not make sure to have some personal project. You can start from writing simple tools/scripting. Once you feel better try to contribute to a open source project. Later you can have your own big project. There is nothing like self learning, your personal projects will give you a chance to learn what you want. It also gives a chance to escape from **ordinary regular work**. Updated: You should read Scott Berkun’s post on 20% time.
- Use tools or use Unix
Few days back, my friend was wanted to know why I am not interested in solving sudoku. According to him, its the most famous games amongst geeks just like rubik’s cube. For me I want to solve the problem for ever (I know how stupid I sound). I would probably write a program to solve the sudoku/cube than solving it manual. Now coming back to the point, use tools at work. Even if it is a very boring manual work. Try to automate it, make it a programming problem. Learn different tools. (I met this guy who was working on excel sheet to make some reports. Now it sounded like a very boring stuff. But actually he could have programmed in vb script to completely automate the reporting. Now it sounds better right?) While learning tools..Learn the mother of all tools: Unix commands.
- Attend conferences and meet people
I cant stress enough on this. Every time I talk to somebody at office who comes for advice, this is what I give them. None of the communities in the world is as disjoint as Indian IT (developers) community. Please do go out, attend meets, conferences. You will learn as well as your professional circle gets bigger. Even volunteering at conferences like foss.in or barcamp will give you a great opportunity to learn.
- You don’t have to learn to knot a tie
You know what I mean. Sometimes you need to follow the rules but programmers have their own way of satisfying their own ego! No. I don’t know how to knot a tie and I am not willing to learn in near future.
I hope it helps to somebody at least.
Picture Credit: Wikipedia and FOSS.in