Twenty Years of Engineering Practice
This year marks my twentieth year of engineering practice. I got my first actual salary in Jan of 2003 from Infosys. So it has been 20 years. It will take several posts to explain this twenty years. For now, I will list some things about which I might write in detail later.
- I love engineering; I still get a kick from drawing, designing, and building things. It is what keeps me going.
- I enjoy working with teams. There is nothing like building things together or solving a problem together.
- Software is about people, whether it's about builders or users.
- There is no place for assholes at work. That is the only kind of folks you should avoid working with.
- The engineering scene has changed but yet has remained the same. It's about keeping your mind open to new ideas and learning new things.
- It took at least fifteen years to think of myself as a leader. You learn leadership skills from everyone. You grow as a leader.
- I firmly believe that engineering folks should read a lot outside tech and study the constitution of India. Justice, Liberty, Equality, and Fraternity matter everywhere, including while engineering things.
- You can take a break; in the long term, it doesn't matter much; in fact, it might add to your resume if you plan it well, or it might lead to unexpected life changes.
- Writing, Drawing, and Keeping daily work logs help. Don't throw them away.
- Small, incremental additions/changes (savings, experiences, friendships, features, or similar things) matter greatly. It may look small initially. Over time they build up and become invaluable.
- If you have a good team, you can build good products.
- Dedication, Hardworking, Learnability, Sincerity, and Ethics are what I look for in folks than sheer smartness or intelligence.
- Make friends and help them grow, both as professionals and as human beings. You will grow too.
- Building for maintenance is an art. Everything that you make goes into maintenance from day 0. Learn to build for maintenance. You never know how long the product gets used.
- Explicit and clear design, document, or code is better than smart ones. Someone will indeed thank you when they build on top of what you have built.
- Invest in learning. You should at least spend 10% of your income or time on learning. This investment can be made in many ways. Some of those are attending meetups and conferences, taking courses, blogging, or spending time on side projects. Teaching, helping others in debugging, and reviewing code are also valid ways of learning.
- Being professional is essential. Keep the communication going, inform people, respond on time, accept or reject requests, and be on time.
- Written communication skills are required. Shorter bullet points are okay. But they need to be clear.
- Think, talk, and take action on physical/mental health and burnout. I plan to work for a long time. So these are important.
- Be nice
Thanks for this, Thej! As they say, Software Engineering is socio-technical. Came here to read about “engineering practices” seeing the title, but this is more accurate I think.
Thank you for the comment. Glad that it resonates with you.
Always a pleasure to check your blog. Congratulations on this feat. More to come!
Thank you for this post.. Well written and can see how you must have picked up so many points you’ve listed here by learning through your own years of experience.
Thank you Shalini.
Not sure if you remember me, but we used to work for Infosys in Bangalore, and we met once at Coffee Day in the Bangalore campus.
You are one of the people who I inspire by!
I do remember Chitanya, though its bee more than a decade now.
I do miss meeting other bloggers in Infy. What an amazing community it was.