Out of curiosity, what does "junior position" mean, exactly?I'm 30 with 7 years of experience. I wouldn't say I'm a top-1% programmer (probably top 5%, possibly 2%) yet but I'm a really good data scientist and I've seen a lot of different corporate environments. Also, being a Lisper (but also knowing well the virtue of static typing, having worked on production Ocaml systems) I have good taste. There are still some holes in my knowledge (I was a math major, not CS) but I'm filling them pretty quick.
I wouldn't take a job where my day consists of being handed bugs or small features in some large project where the decisions were already made. Someone else can churn tickets, I'm past that point in my career. I'm not a prima donna. In the short term (say, two weeks) I'll do what is required no matter how unglamorous. But in the long term (3+ months) I'm not going to work in a role that's incoherent with my career objectives.
I only work in roles where I get to make some of the technical decisions, because if I'm purely in an implementation role, I won't learn anything. I generate ideas and implement them; if I'm only doing the second of these, then the work is meaningless to me. If the project is big and complicated-- say, 2.1 to 2.3 in difficulty on this scale: http://michaelochurch.wordpress.com/2012/01/26/the-trajector... I'd probably be doing that under light supervision and that's fine, but if I'm not engaging in a learning process and in control of what I work on, then I'm wasting my time at this age.
Is it that you want to be more of an architect and were being offered programming positions?
Senior programming is different from junior programming. As with writing, there are varying forms of it and they have different flavors that might not be obvious to those who don't do it on a daily basis.
A junior programmer fixes bugs and implements features that come downstream from executives, product management, and more senior programmers. There's a lot of value in that experience, if it comes with mentorship, when you're starting out. But when you get to my level, the quickest way to learn is to do things and find out directly what works and what doesn't.
A senior programmer gets to set priorities, generally has a lot of autonomy over what he works on, and has input (and, often, final say) in product and architectural decisions.
It's not about title, as it were. There are plenty of people with "Senior" in their title who are junior in terms of how they work, and there are others without fancy titles who are de facto senior.