Ubuntu development best practices