The cycle of the Software Developer

The software development industry changes so much and so fast that each day you are going to become a worse developer than the day before if you don’t keep learning and adapting. This statement has three main consequences.

1. If you don’t do anything to prevent it, no matter how good software developer you are now, you will eventually become a bad software developer.

2. To make sure that in the future you are going to be as good a software developer as you are now, you need to learn and adapt to the upcoming changes that are directly related with your job environment.

3. To be a better software developer, you have to take learning and adaptation one step ahead.

Great Software Developers

Given this apocalyptic scenario where nothing is for granted, what makes a great software developer is not only his ability to learn and adapt but also going one step ahead of those who just do the necessary for not becoming obsolete..

Learning

* Technical knowledge becomes obsolete

* New methodologies and processes for developing software are created.

Adapting

* Software development is a process which requires constant adaptation. For instance, you will work on other people’s code. You need to adapt to its style and structure to understand and maintain it.

* Change happens continuously during the software development. Changing requirements, technologies…

* You won’t always get to do what you prefer to do. But you have to do it, so you better adapt.

Good Software Developers vs Great Software Developers

Good software developers and great software developers have two things in common- their productivity and quality are high. The main difference is that Good Software Developers that don’t keep learning and adapting will become worse developers every day while Great Software Developers will keep improving.

Are you a Great Software Developer?

Sometimes it is hard to tell how good we are at learning and adapting. These are a few indicators that can help you to determine it.

* You can learn a new technology very fast.

* You can maintain legacy code.

* You are good no matter the development process used, waterfall, CMM, XP…

* You can switch between programming languages easily.

* …

But the main indicator to know if you are a great software developer is: Great software developers are better software developers than the day before.

From http://www.makinggoodsoftware.com