Is there a way to find out what are the tasks in the deployed workflow, so that workers can be assigned to them (in the getting started example the jobType is hardcoded)?
Not build-in. You could parse the XML you send to the broker for the task types that are defined in the process.
Even if the first task is completed, the second job worker never starts working on the second task. What could be the reason?
Does you process contain input/output mappings? Something like this
<zeebe:input source="$.foo" target="$.bar" />
<zeebe:output source="$.bar" target="$.foo" />
If your payload does not match the mapping it would create an incident for this instance and stop processing it. To check you could create a topic subscription to see if there were any incidents created, see https://docs.zeebe.io/introduction/quickstart.html#step-6-create-a-topic-subscription.