I just don't know if it's realistic to want "satisfying and rewarding work". This is something I see a lot of millennials say and believe me we all get this, but I just don't know if it's realistic. To me this is kind of like people saying that if you don't love your job you should quit it and find one you do love. The sad reality is that there just aren't enough "jobs you love" to go around for everybody to have one. If you go home at the end of the day and you're not stressed out from work and you're not screaming about your job and it's not taking a toll on your health, that is a realistic best case scenario for most people. I had a job I loved once. I'm not in it any more. You know why? I chased money. That job spun off a new company during the internet boom and I was given the option of remaining in the job I loved or joining the new company. The old job I loved was laying off a few people and it froze salaries for what would end up being 2 or 3 years so I went with the spin off. For the time of the job freezes at my old company the spin off looked great and I got pay increases. But we got bought out by a European company who forced out our CEO and the new CEO was pretty hostile towards US workers in general. The job got a lot worse and in the end I and others got layoff notices. I found a new job and my new company is pretty good compared to most out there, but I wish I was still with the job I loved. Those I know who rode out the pay freezes are still there. The vast majority of my co-workers who went with me to the spun off company are long gone from it, having been laid off at various times. So leaving a job you do actually love to chase more money isn't something I'd ever do again and I wish I hadn't done it. I wish I could go back to the old company I loved, but I can't. They don't have much turnover there because it's a pretty good place to work.
As a new CS grad you do need to full grasp that management in US companies usually doesn't respect your job or what you do and they'll always be looking to replace you with cheaper workers, probably from India. Those cheaper workers won't do as good a job as you will, but management doesn't care. They don't respect your work nor do they want to pay US wages for it. They'll take "sort of works" if it's cheap enough. This is just going to get worse as you age. My current employer does value its US employees but there are limits. We also hire plenty of cheap H-1B workers or simply add spots on our India team. The race to the bottom for wages is a race you'll never win. Maybe if you're lucky you'll be able to finish your career without any major disruptions, but likely you'll change jobs a lot as the number of US employers who actually value US IT staff continues to shrink. Today there's another article on Slashdot about a major California university replacing its IT staff with foreign workers. This is going to be the norm for you in your career. If you find at some point you're tired of this crap, get into US federal government work as quickly as you can. The Feds don't do too many layoffs and security concerns make it very difficult to impossible to outsource the work. There are pros and cons to this kind of work, which I did for some years after I graduated. The pay is better now than when I started and you get a lot of vacation time, which I really liked. On the downside a lot of government IT jobs, even programming ones, are very specific to the government and you'll get skills that will be of little use on the outside world in the unlikely event you are ever laid off. Pay won't match outside companies though. You'll always have friends who are getting more than you and working for the Feds may require you to live in small towns that just suck your soul and fill you with despair.
If you're really really good at what you do, you may be able to work for one of the top employers like Google, etc. who may give you great work with great benefits. But again, there are only so many of those jobs. You may be in the 95th percentile at what you can do but if they only hire at the 98th percentile, you're out of luck. A lot of jobs you'll be offered will have insane hours because they know you as a younger person will be willing to work them without complaint. And your generation is kind of infamous for not getting that it takes time to move up the job ladder so you may find yourself dissatisfied with what is actually a pretty decent job with a decent company because of unrealistic expectations. You can play the "always moving on to a new job" game for a while in IT, but once you hit 50, you'll find that even though it's illegal some employers do discriminate against old employees and they won't hire them. The smaller the town is where you work and live, the more likely this is to happen. I read all the time about people over 50 in IT who can't get hired because the only job that needed them left town and there just aren't all that many similar jobs in their podunk town any more and they don't want to leave. The gulf between small town people and big city people is just going to grow as you get older and you should consider that if you take a small town job and stay for decades, there will be real risk if you get laid off when you are older. I'd advise taking a job in a major city if you have choices. If you need to find a new job, it's always easier in a bigger town. Note that California is one of the highest cost places in the USA to live. What might be a pretty good starting salary in, say, Dallas would be more like barely scraping by in California.