Environmental contexts of programmer's professional self-development through learning: ecological and synergetic approach · Study