You're going to need to simplify this significantly before you can solve it.
Given the size, you will likely need to be able to split it into different subproblems in some way. Vehicle routing problem decomposition is tricky, but there are some research papers out there on it.
Also having jobs sometimes require one technician and sometimes two is hard, unless you can simplify further. If you can't simplify, then you have a 'synchronised' vehicle routing problem (this is the term used in the research literature), which I suspect you probably won't be able to solve just using OR Tools. Possible ways to simplify:
Can you assume a team of 2 technicians works together for the entire day, so you just model them as a single route? So, you have some routes which are a single technician and some routes which are 2 technicians, BUT 2 separate routes of 1 technician each NEVER come together to do a 2-technician job?
Do jobs that require 2 technicians last the whole day, so you don't have to model independencies between 2x1 technician routes working on a 2 technician-job together? I.e. you don't have to model the delay to technician B if technician A does another job before they do a job together?
Are 2-technician jobs rare enough such that you could automatically schedule the 1-technician jobs and then get a human planner to manually slot in the 2-technician jobs around them?
Skills should be relatively straightforward. Other things you might need to consider are:
Do you need to model multiple days at once?
Is this a realtime / dynamic vehicle routing problem or a static one? Our video here gives a simple explanation of the difference. If you have jobs that are booked on the same day they're served, or the duration of jobs is uncertain (i.e. you don't know how long they'll take), then you have a realtime routing problem which must be treated/solved differently to a static case.