I want to build new software but I don't know where to start and what kinds of lessons to take.