How to be a Good Software Developer

Yesterday I spoke to students of NPTEL. The topic was "How to be a Good Software Developer". It's more like my advice to my younger self. The talk went on quite well except for few internet glitches. It was also special we because I was part of NPTEL's engineering team at Google. I touched upon the following points. I think each one can be a talk by themselves.

  1. Empathy for your users
  2. Code is for your team mates
  3. Think before you code
  4. Be a duct tape programmer
  5. Take notes1
  6. Have side projects
  7. Learn to be curious
  8. Learn the process and tools
  9. Write more2
  10. Learn to use Unicode!

Ofcourse after the talk in the Q/A session there were questions about preferred programming languages, frameworks etc. I answered them as much as possible. May be I will do an FAQ blog post.

I am still getting used to live streaming. You can see me being uncomfortable in the beginning. I was okay after two minutes.

I have recorded offline videos using OBSProject. It's an amazing tool. This is the first time I have used it for streaming. It works like a charm. You should try.

I also used my Zoom H1 3 to record the audio offline. I have edited the same. You can listen to it in your favorite podcast player.

  1. Includes documentation and comments
  2. Design documents, how-tos, longer emails, detailed bug reports and blog posts
  3. Not the software. Hardware recorder