1. A method, comprising: receiving, by a computer, input from a client device, the input indicative of a software environment for a software application to be developed by a user; analyzing, by the computer, the received input against a knowledge base to generate a technology recommendation for the user to use to develop the software application, wherein the knowledge base encodes a query tree that specifies questions to be provided to the user to solicit the input indicative of the software application environment, wherein the query tree includes a plurality of leaf nodes, the leaf nodes associated with questions to solicit the input from the user related to a software platform, a server role, and a type of device on which the software application is to be executed; analyzing, by the computer, a path in the query tree by obtaining a first leaf node in a first level of the query tree, the first leaf node corresponding to a first question to provide to the client device; and providing, by the computer, the technology recommendation to the client device.