In India, we celebrated Teacher’s Day, on the first day of the week, on September 5, as a mark of respect to a teacher and former president Dr. Sarvapalli Radhakrishnan on his birthday. In this week’s article, Uday shares the lessons he learnt, as he looks forward to complete his 18th year with General Electric, exclusively for Different Truths.
At a time when jobs in the software industry were at their peak, I had completed my bachelors in Production (a variation of Mechanical Engineering in Mumbai University). Like most other new undergraduates, I was nervous at what the future held for me. I saw a lot of my peers land into cushy jobs in top software companies and talk about cutting edge technology, while I struggled in my interviews explaining why they should choose me over some of the more relevant Electronics or Computer Science graduates! The one thing that stared at my face was that I needed to have some exposure to software if I intended to accelerate my career!
Lesson learned: From whatever stream of education you come from, there is no escaping computers. Make sure you get yourself trained in one way or the other in the relevant computing technology as soon as possible! Even if you don’t want to get into a core software development job, you will make a better impression in the interview if you understand the automation surrounding your industry and how computers play a part in the same!
During engineering, we were exposed to logic and that sowed the seeds of programming in me. I joined the National Center for Software technology for a PG diploma in Software and enjoyed the backbreaking assignments in programming. This part was foundational in my career and taught me the nuances and pitfalls of programming. I was lucky to have a lot of Electronics and Computer Science graduates as my classmates and I learnt a lot from them, which wasn’t a part of my engineering curriculum. The group assignments also exposed me to a new way of working – teamwork! At the end of the course, I was confident that I could take a problem, model it in a software program and solve it using a computer!
As luck would have it, I landed up in an interview for a corporate that had industrial machines as their key assets and protecting or maintaining them was their core goal. As a fresher, the interviewers were evaluating if my fundamentals were strong and if I could hold my fort in basic programming questions. However my Production Engineering degree and my understanding of the mechanical domain acted as an enabler in getting me the job that continues to be a passion even after the 17 odd years that I have worked on it.
Lesson Learned: In hindsight rather than depending on luck – if I were to go back in time, I would do a thorough research on the company as well as the various products. I would understand the key domain and the problem in general they are trying to solve for their customers. As a basic requirement for a software developer, I would make sure I am thorough on my fundamentals. A basic rule of thumb is being able to answer “why” you are doing certain things instead of just the “how”.
As a standard, the technology changes or upgrades roughly every few years. In the last 17 years, I have gone through at least five different paradigms for software development and have had to keep on my feet to learn the new stuff quickly. It did help that the company was always ahead of the curve and did sponsor research around these paradigms. Each change or upgrade brought in a lot of challenges and it was essential to dig deep and weed out any risks to meet our requirements.
Lessons learned: It pays to be ahead of the curve. Also being part of forums where like-minded developers discussed issues and features of new technologies paid off. It is always a good idea to subscribe to forums, technology blogs as well as technology talks.
Over the years, I was challenged to take on different roles. Some of them challenged me to delegate work than do it myself. This was the most difficult aspect of growing up in the organisation. The other roles needed me to get out of my developer role and look at Systems Engineering and product definition. Most of the changes expected me to get out of my comfort zone and try on a totally new and unexplored area in the organisation. Each time I changed, I made it a point to find out the other experts in that area and learn from their experiences. It is always a bonus to learn from others experiences!
Lessons learned: Do not fear getting out of your comfort zone. Things might work or they might not. In any case the learning in the new role always enriches you one way or the other. Delegation, albeit a very difficult skill is extremely important for you to grow in the organization. Seek and learn from a mentor whenever you feel challenged.
Overall, it is the fun in the job that keeps you going. Seeking new challenges and learning new things always keeps you from being stuck in a routine and eventually helps you grow in the organization. Every day should be a learning experience – there can never be a day when you know everything!
Pix from the Net.