I like solving problems - the challenging part is identifying the problem, the fun part is solving it.
Whether you’re working with an internal or an external client, the key is to help them get what they need to get their job done. In the case of an existing system our task might be to identify deficiencies, tackle bugs or develop additional features for that system. The challenge with a greenfield project is making sure that we capture early on how the program needs to work so that we build it correctly, instead of getting too far down the path of developing the project before asking critical questions. Essentially we are trying to anticipate the things that may be a problem. Oftentimes a client may not think that a certain detail is important, or we may not understand the requirement in the right context so it is important to ask the right question to get to the crux of it.