I suppose that (b) has a little different meaning than (a). Am I right?
(a) I have worked here for three years.
(b) I started to work here three years ago.
I believe that you can say (c), but (d) doesn't work.
(c) I started to work here three years ago, but I quit last year.
(d) I have worked here for three years, but I quit last year.
I believe that you can say (c), but (d) doesn't work.
(c) I started to work here three years ago, but I quit last year.
(d) I have worked here for three years, but I quit last year.
Using 'here' implies you are in the location when explaining. Again, it is about context. If you are explaining it to someone after having quit the job, it is more likely you would use "I worked there for three years, but I quit last year".
I feel both examples you have given in the quote above would work.