Software engineer vs research associate in not-so-related subfield for CS PhD I currently have 2 job offers: high-paying software engineer at a top tech company (return offer from internship) and a computational biology research associate 2-year pre-grad school position. 

I want to pursue theoretical CS (mainly computational complexity, maybe approximation algorithms) so I don't know how much weight the comp. bio research job would carry. The research job also pays less than half of what I would be making at the software engineering company. I would much prefer the comp. bio job since it is at a very innovative non-profit company and the PI and I click super well. I am also really passionate about their mission and the work that they're doing and I'd love to be a part of it.

However, the pay is far worse and I would have to work there for at least 2 years as opposed to the software engineer job which I could quit after 1 year and apply to grad schools during that 1 year.

So I'm wondering, despite which job I would enjoy more, which is the more logical choice? Would either of these add to my PhD application at all?
Lots of trade-offs. I don't think either of these is necessarily better than the other for later admission for theoretical CS. Money is good. Research is good. Quicker entry may be good, though that depends on many other things. 

In a situation like that, I'd guess that "follow your heart" is probably best. You don't seem to suggest that the money is driving you - which is a good attitude for an academic.   

Either would add something, but neither would be determinative, IMO.