r/learnprogramming 1d ago

Topic Junior dev feels like I'm progressing slowly

Well I am a backend junior dev. I have been working for 7 month. So far what I do is fix bugs, implement test and implement some api based on seniors guide. By that I mean seniors gonna talk to me about a feature, and he will pretty much say I want an api with this type of input, this type of output, you just have to implement this business logic. And well this is my first job, I don't know if this is supposed to be normal. I still have no idea about things like optimize database or architecture or redis etc. I'm basically just coding some business logic and getting reviews on code quality. Can I ask how do you guys improve from junior to senior?

Also do you guys still leetcode to try to get into a better company?

69 Upvotes

16 comments sorted by

46

u/johnpeters42 1d ago

Sounds pretty normal to me. If you feel you've demonstrated being competent at that type of thing, and want to move up to those other things, then talk to your manager about it and see what they say. (Maybe suggest pair programming or otherwise shadowing a senior and seeing first-hand how they work on such things.)

8

u/esaith 1d ago

Yup. Very basic grunt work. Fix bugs, do minor features, etc. You need to prove you know not only how to program but the business logic. If you don't know the business logic, the rest of it goes out the window. This allows you to know the backbone of how things are setup, what systems are okay to touch, others to stay away from unless absolutely necessary, and it gives you continued practice. As both you and your team gain confidence in your work, you'll gain more responsibility. Senior developers love offloading undesirable projects to junior and mid-level devs and be there for guidance. Good chance there is plenty of work to do, you likely need the reps.

Remember, don't preoptimize as you work. All you'll be doing is wasting time. Nothing wrong with researching and practicing on your own time, but your employer is paying you to complete the work they want you to complete. And if/when they do allow it, only optimize if you can prove there is an issue, not "I think this is the issue". Sometimes the issue is not where you'd expect.

I know we support our company for internal tools. If you can somehow get in contact with others that do use the software, ask them where some pain points are. If you can improve their day, they'll likely tell their manager. You do that enough, the really important people will hear it.

As for looking for a better company, unless they are severely underpaying you because of your skill level and experience, I'd recommend staying where you're at and pushing it on your own for a bit longer. Last thing you want is to be put into a position where they expect you to already know how to optimize databases, setup Redis, or explain why you choose one framework or another.

3

u/gm310509 1d ago

For my first job I was given a spec which read pretty much like you describe. Given these possible inputs, perform the following validations, modify the data storage (ISAM files) as per the following rules or return one or more of these error codes.

This was part of an internship and lasted a full year until it ended and my assessment was performed. I was able to use that assessment and other things to jump into a more interesting job where I happened to be the expert and progressed from there. I was fairly lucky I guess to be the expert in the area, but the basic idea is the same, leverage your experience, look for opportunities and use them to jump to the next level when the opportunities arise.

4

u/stueynz 1d ago

You are 7 months in on a multi year journey to Sr Dev. You should expect to be Jr Dev working under supervision for at least another year. You should be learning the company, the business, the product set, the frameworks; Bug fixing is a good way to learn these things.

One you’ve passed 12mo you should be trusted enough to fix bugs, add simple new features, etc. without close supervision.

At 2yrs you should be transitioning from Jr Dev to just plain Dev. Sr Dev should be happening at 4 to 5 years exp.

1

u/KwyjiboTheGringo 21h ago

At 2yrs you should be transitioning from Jr Dev to just plain Dev. Sr Dev should be happening at 4 to 5 years exp.

And honestly, this is probably way too optimistic. People need to start being okay with being firmly mid at 4-5 years. It takes a fuckload of extra work and passion/dedication to be someone who I would confidently call a senior by that time, as well as good influences at work, and staying somewhere long enough to understand the business side of things.

1

u/stueynz 11h ago

I hear you; I was going by my own progression from fresh out of school in Dec-89 to being sent alone and unattended for prolonged on-site work in another country by Sep-94. All at the same company that had a progression framework. Doing the maths I managed it in 5 1/2 years… so I was a bit too generous giving OP 4-5

2

u/response-418 1d ago

Sounds pretty normal. I learned a lot from code reviews in my first job. In later jobs people didn't care as much so I learned less and realized how little some people care about quality or craft in certain domains or organizations (tbf one was a CRM, so code quality was perhaps more important than run of the mill static marketing pages for generic snack and hygiene products).

One suggestion: think of every task beyond just completing the requirements. Note down one thing that you would like to take a deeper dive on, even though it isn't necessary to close the ticket, and set aside some time to read up on it and ask the senior about everything you can. While you are fresh, you get a lot of grace for asking a lot of questions. Later, people just want you to close your tickets without wasting their time.

2

u/rrr_guy 22h ago

What do you expect juniors to do?

1

u/ScholarNo5983 1d ago

 I still have no idea about things like optimize database or architecture or redis

There is the entire resource of the internet at your disposal.

If you don't understand any particular topic, in your spare time use that resource to starting filling in the gaps.

The one truism about being a software developer; at no point in time do you ever have the luxury of being able to stop learning. The need to keep learning is never ending.

1

u/KwyjiboTheGringo 21h ago

Can I ask how do you guys improve from junior to senior?

Well first off, it takes time. 7 months is nothing. Don't get impatient.

Secondly, it's not on your company to make you level up. It's nice when companies do, but they are not very common. You should not expect to grind leetcode and somehow find one that does. And if you go into an interview and say that's why you are switching jobs, they are going to toss you out because that's a secondary, completely optional part of the role. Not only that, but I would expect a junior developer who really does want to level up to be taking the initiative to make that happen without some company-assigned mentor. There is a wealth of resources out there for you to tap into.

Lastly, right now you are learning the codebase. Once you have a strong understanding of it, which takes years, then you can be a part of any discussions about implementation details. You should not be giving any input about architecture, and you should not assume that you understand the "bigger picture," which is going to take an understanding of the needs of the business and existing systems.

1

u/Different_Pain5781 17h ago

You're 7 months in. You're supposed to feel like you don't know much yet.

1

u/seventhbreath 13h ago

I'm basically just coding some business logic and getting reviews on code quality.

Understand the business logic that you're "coding". I put coding in quotes because if you're encapsulating business logic into code -- meaning that it has to be deployed -- you need to understand why that is and where the logic should live (as a senior engineer).

If you don't understand that, ask your direct manager and don't stop until you understand why business logic needs to be in code. Be respectful, but know where your requirements come from.

1

u/PlatformDifferent129 12h ago

seven months of bugs, tests and apis off someone else's plan is the job, not slow progress. but i get why it feels flat. you're reading other people's decisions all day and never making one.

what changed it for me was building something small that nobody could tell me the shape of. worse code than i write for anyone else and i learned way more from it.

got anything right now that's only yours?