You will need a computer with a development environment where you can start a new project, run tests, and commit changes. You know that you are ready when you can run tests and see them fail and then commit those changes to a version control repository.
Examples: A typical toolset for Java programming would include IDEA, JUnit, and git. A typical toolset for Ruby programming might include rvm, bundler, vim, RSpec, and git.
You can work in any programming language, as long as you can create a reasonably quick evolutionary design workflow that involves running tests and the ability to roll back changes.