1. A method, comprising: receiving, by a computer, input from a client device, the input indicative of a software environment for software 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; and providing, by the computer, the technology recommendation to the client device.