§1.4.

My philosophy in this workbook

The technologies used to create web applications change extremely rapidly.

Technology that you learn today may not work or be relevant next year. Some of the code you write now may even be out-of-date or stop working before you have a chance to apply it. I have taught classes where code has become out of date before the class finished!

This rate of change is sometimes overwhelming. It might feel like there is too much to learn. It might feel that things are changing faster than you can learn. I’ve been programming for almost 30 years, and doing some form of web development for over 20 years, and yet I too sometimes feel this way.

However, there is good news about learning web development:

  • There is always a chance to learn something new by yourself and from others,

  • There is always an exciting new technology to try,

  • And, most importantly, some underlying principles and skills stay the same.

So, what does this mean for you?

For you, as a software developer it is essential to develop leadership skills that match our industry:

  • Awareness of the changing field and self-awareness of your understanding

  • Ability to learn quickly and devise strategies for coping with change

  • Confidence in your ability to adapt and experiment in new areas

  • Familiarity and awareness of your reactions to uncertainty

For this workbook, I have designed with these ideas in mind:

  • I have designed the workbook to emphasize mastery and leadership in our profession

  • I have designed the workbook to cover enduring principles of internet programming

  • You will be learning many technologies on your own, but I hope to use this workbook to explain the vision, context, history and rationale for the technologies that you are learning