1 year of professional work experience is a wonderful milestone in everyone's life. My passing that milestone came with a range of new experiences. Year 2 got off to an awesome start with a brand new project.
I was extremely excited about the new project for lots of reasons but my top 3 were:
- New business domain
- New team (but same old project manager :) )
- Brand new code base (0 lines of code written)
As I was coming to speed on what the new application was all about, I had the the opportunity to mentor 2 of the 6 new software developers who had joined our group. The tutorials at ZS for new SDs last a month and that's how long I had to teach the 2 developers I was mentoring the basics of development in a professional environment. Teaching is a skill and not an easy one to learn. Some people are naturals, some others, however take a lot of practice. I had an able mentor myself, to help guide me through this, and at the end of the month I was extremely grateful for his help. The one thing about teaching I learnt was, if you watch yourself carefully you can get better, as long as you don't let your ego get in the way. I also realized, that I like teaching people new things (an Ah ha! moment indeed). This realization has defined a large part of my interaction with new folks in our company in subsequent years.
Soon after the tutorial period ended, I took on another extremely joyous short term assignment - recruiting at my Alma Mater. Its a special moment when you go back to your college as a recruiter. You see the college from an all new perspective when you are not a student there anymore. Everything about your college is suddenly great! We recruited some great people that year, and I was happy to have given back to the place that was my home for 4 years.
Coming back to work on this high note, it was time to get down to business and start developing the new application. Working on a blank code base has some unique challenges and pitfalls. You find yourself eager to experiment, since there is no baggage to mind, but you also have a hopefully have a "small" voice going - be careful because anything that goes wrong will be your fault :-). 2 of the 6 new developers joined our project and being the senior most developer on our project in Pune it was time for me to teach them some more. Over the next few months, we worked hard on getting the application running to the specs required by our first client.
I didn't know this back then, but apparently history does repeat itself even in software development. We reached a stage where we had too much work and too little time to do it in. Troopers that we were, we put our game face on and geared up for the long hours and "What is a weekend?" phase. As I would learn later, if you are in software don't ever expect not to go through atleast one of these phases! This phase lasted a little over a month, but turned out to be a success. The only silver lining is the extreme sense of accomplishment and learning on stress management that comes afterwards.
In March 2009, I traveled for the second time to the ZS Evanston office to work with the subject matter experts on defining the next set of features for our application. It was my first time interacting that closely with business folks without much supervision and my first time being responsible for planning and developing a whole new module. The 2 most important lessons I learnt were: no question is too silly and you don't (shouldn't) always have to say Yes to everything.
My second year was just as good a learning experience as my first year at work and it ended on a tremendously high note when I was promoted to Senior Software Engineer in June 2009. A lot of people had contributed to my success and growth but, the person who impacted my career so far the most was my project manager Tomasz Czajka. An absolutely fantastic person to work for/with who will give you all the freedom you need to grow, while also providing a safety net should you fall.