I'm a junior developer who has spent 8 months on the job. My current job is at a small enterprise software group just ~15 devs and a total company size of 500 (maybe 70 of which are the typical office/white collar jobs). Every developer who is not the lead just has the title "Software Developer", so we don't really differentiate between the levels of experience. However, the other team members include a large cohort of former L5 and L6 from Amazon. The least junior person here after me has 6 years experience. I started here just out of university. I am also one of only two people that hasn't worked at a company you would probably know.
I am getting good experience (I think) because they don't really have the structure to have a junior, so they will assign me to do things I haven't got a clue how to do and I must muddle through. The one constraint is that I don't get any production access beyond ability to change which build is being used and can't merge to master except through merge request, but that seems reasonable. Most devs here don't have production access or merge to master permissions. My lead (I was hired by his predecessor) was gloating about how "we don't hire juniors" today, so I am not really sure how I got hired as I am indisputably junior.
Anyway, my challenge is that I work largely autonomously with a contractor on my project (just two devs), which seems fairly significant as it replaces something which has revenues of about ~20 million a year. Nobody is meaningfully reviewing my code. It is reviewed, but not by a dev who also works on the project, so they have no context. I have a QA who checks functionality, but she is also new, so we don't understand the domain, which means that we aren't exactly sure what is going on. My lead spends maybe 10 minutes a week talking to me, mostly in social greetings and telling me where to find X. I get to make all the architecture decisions (as much as architecture is a thing in two week Agile sprints). I am often left to interpret the requirements with the business analyst or even talk to the product owner directly and make commitments with her on my own.
I make a solid salary (a former contractor even called me "substantially" overpaid when I told him what I earn) for my area with great benefits and retirement matching, so it is not as if we are a cheap bodyshop. Hours are 37.5 a week. Hours are flexible. I have had one day where I had to stay until 6 (I usually work 8 to 4) because of a bug, but that's fine.The learning to keep up and complete all my work within that time is a couple hours a week on Udemy, but it isn't bad. 6 weeks of paid vacation in the USA too.
I can't help but feel that something is seriously wrong with all of this.
I have no supervision. There was no formal training. My lead knows my name, the project I work on, and probably not much else. Beyond a brand new QA and a bit by the contractor, nobody but the product owner is checking the work I do. Nobody cares which IDEs I use, so I just downloaded the ones I already knew. The product owner for my project happily defers to me when making design decisions. My resume has flashy stuff, but I failed the onsite Amazon and Google interviews, so I am obviously not Amazon caliber like these other guys are, even if you discount the massive experience gap. Then there is the fact that the job description for me has 3+ years experience (I used Linkedin easy apply, so didn't really read).
I keep watching for a foot to come out of the air and squash me.
My question is, where is the foot and what kind of shoe is it wearing?
Asking because I am up late dwelling on the "we don't hire juniors" comment when I arguably am one.