[tl;dr I'm looking for advice on how to spot an intellectually stimulating job]<p>I'm a newly grad in CS who's doing part time work over the summer while searching for a job. Fortunately for me, the jobs aren't in demand - I am. This comes with the consequence though that there seem to be a lot of crap jobs out there, lots of people looking for experts in Java or .NET.<p>I'd like some advice on how to spot a job that will actually foster my intellectual growth, and not keep me stuck using the same language/technology day in, day out. I want to be encouraged to learn new programming languages and technologies on the job (or at least <i>for</i> the job). I want to actually be using my computer <i>science</i> background (I know a lot of interviewers ask questions about algorithms, but how many jobs actually require this knowledge?).<p>I don't want to be a glorified IT professional, and I really don't want to get stuck at some company lego-programming Java code, which is what I feel most of my non-academic work has accumulated to over the years. Maybe I'm being too harsh on myself, but its hard to be proud of my work when every 30 minutes I have to lookup an example or reference of some part of an API, and then modify it for my purposes. Maybe this is normal.<p>I'd like to think that I'm smart and passionate, but of course its hard for me to judge. That said, I'm confident that with enough work, I'll be able to land a job at my ideal company. The trouble is, I don't really know where to look.<p>For what I'm pursuing, what do you think are the best types of companies to look for. Will tech giants like Google, Apple, and Microsoft have what I'm looking for? Should I search for smaller companies to start with? What about start-ups, would this be a good idea for someone straight out of college? (note, I have no debt, and money isn't much of a concern to me... yet) Lets not forget industry either. Which industries do you think encourage what I'm looking for, and which will tend to stifle it?<p>I'd like to hear your advice and learn about your experiences after college. Most of my hardcore experience is in Java, C, and C++, so advice on convincing employers that I can pick up other technologies quickly would be appreciated as well. Thanks.