3

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.

  • 2
    Have you discussed this with your lead? What did they say? If you have not discussed this with your lead, why not? – Gregory Currie Mar 6 at 8:26
  • @GregoryCurrie because I don't want him to find out I am so lost... I basically don't want his answer to be "how the heck did you get in here?" – JuniorWhereJuniorsBanned Mar 6 at 8:56
  • There is undoubtedly a huge difference between "We don't hire juniors" and "We don't let juniors work here". Don't confuse them. – A. I. Breveleri Mar 6 at 16:45
12

Do you have any indication that the work you are doing is not good enough? It seems to me like they threw you into the deep water but mostly you are doing fine. They probably gave you lots of autonomy and responsibility on purpose, that is what they were looking for, they want someone who can handle it.

So key point, get feed back on whether the work you do is good enough. If it is don't worry about your perceived lack of experience/ seniority. For the points that are critized try to improve and ask for all the help and tutoring you need to do it.

| improve this answer | |
  • it's actually a pretty good sign that they have some confidence in you and to my mind quite good experience. – Kilisi Mar 6 at 9:14
4

You're doing fine. Don't worry too much. You're in the process of growing from junior to senior.

The important thing when you're solo on a project like this is to be transparent with your supervisor and team members. Keep them informed about your progress and stuff that comes up to block your progress. And, ask a well-formed question once in a while. "I'm thinking of doing this task that way (give details). Do you know a better way?"

That way they know you exist. They know you're doing your best to do a great job. And, if you need help, they know you'll ask for it.

Believe it or not, your co-workers are delighted that you're handling this project.

| improve this answer | |
1

It sounds to me like most people in the company are fairly green based upon:

The least junior person here after me has 6 years experience

I'm taking this as the most senior employee has 6 years experience which is not a lot. With this I would say it would be difficult for anyone to mentor you as no-one there has enough experience to properly mentor junior developers.

You're question also indicates that projects are very poorly structured and not really following best practice things like:

Nobody is meaningfully reviewing my code

Which means it's full of bugs and problems. This can be quite bad for you as you may fall into the habit of just hacking stuff together to get it done. When it comes time to move on if the next company has more sense they'll notice this quickly. You need to get into the habit of getting a proper peer review done of your code it greatly increases the quality of the end product.

we don't understand the domain, which means that we aren't exactly sure what is going on

Combined with

nobody but the product owner is checking the work I do

Sounds like a train wreck. Hopefully the customer will be happy and this system won't require much maintenance but if they are not and it is to be supported for the next 5 years then good luck to the poor programmer having to pick this all up after you.

The advice I would give is that you need to discuss this with someone more senior and try to get a proper answer. If you don't get a proper answer then take the experience and move on as this doesn't sound like a good environment for a junior to work in.

I am up late dwelling on the "we don't hire juniors" comment

Take it as a compliment, maybe they all think you're super experienced because you're doing great work.

| improve this answer | |
1

Only one point: If nobody else reviews your code, then you review it yourself. Really focused, as if it was someone else’s. And you fix any faults you find. The good thing is that you won’t complain about petty things when you review your own code.

If it is a good idea letting someone else spend an hour reviewing your code, then spending that hour yourself is also a good idea.

| improve this answer | |
0

Being a Junior is very stressfull because you don´t know wether what you do is good or not. You lack confidence. A senior developer would have the confidence to say "I´m sorry but I don´t know if I should be doing this and we most likely need to create some more secure architecture with layers of backups and safety nets"

Truth is... Your employers don´t know what you are doing that is why they prefer seniors. Not because they are better programmers but because they have the confidence to say "I don´t know".

You don´t need reviewing because you are doing a great job. It doesn´t need to be some super well structured code and as a developer you are going to make mistakes. Big ones. "Drop table" kinds of mistakes. Your seniors are probably more likely of making those kinds of mistakes than you are.

Also, don´t worry about not passing the interviews with Amazon and Google, there are books on how to practice for those interviews specifically for those companies so your compentition had slightly an unfair advantage if they did their research.

Book on coding interviews! How to beat google interview tutorial!

| improve this answer | |

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .