system design skill