View on GitHub

Devendra's Log

Dealing with technology changes

I forget the number of times I have written the same code in a different language. Technology changes all the time. If you are a professional developer, it may change from one project or task to another. How can we learn, use, and unlearn stuff so rapidly? I present a few points to ponder in no particular order.

Think in abstractions and patterns

The better your capacity to abstract and think in patterns, the more reusable your knowledge. Apply what you know works. Technology itself is an abstraction, think community and tools.

Read on the topic

Prepare. Go deep. Read a book. Read what the internet has to offer. The more prepared you are, the better you perform. Time is ticking.

Write a blog or book

Share your knowledge with the future you. A better you. Others may find it useful too. Improve over time.

Learn emotional detachment

Don’t reinvent. Don’t be too attached to your work. Appreciate feedback. Change. Move on. Unlearn. Relearn. Collaborate.

Get creative

Experience is never going to substitute the fact that you need to be creative. Think originally. Have the courage to implement your ideas. If you don’t act, you’re getting nowhere. Practise.

Employ tools

Good tools are essential to doing a great job. Tools don’t have to be expensive, some of the best tools may even be free. Automate repetitive chores. Don’t hammer a screw, aka use the right tool for the right job. Methods and practices are also tools.

Be alert

Listen. Watch. Observe. Every feedback you receive is an opportunity waiting to be explored.

Enjoy and wind down

Enjoy your work. Enjoy your life. Wind down. Difficult problems take time to solve. They may be easier for others who have already solved similar problems before. Socialize with them.