Themekit is the tool that communicate between the Shopify Api and your local files.
Slate uses Themekit in the background as well and provides additional tools for building the files into a proper Shopify theme structure.
So pretty much is up to you to decide which one to use.
I personally use Themekit since I have a webpack setup build around it and I don't need the Slate tools, but if you don't like to build something using webpack you can look into Slate.
In order to be a Shopify theme developer you need your HTML/CSS/JS skills and to learn to use the Liquid templating language.
If you plan to be an App developer you have a free choice of what you can use ( nodejs/python/ruby/php etc... any back-end language that can communicate with a REST API )