8

I taught myself html and css via online courses and was able to get a full time job as a junior developer at a large corporate retailer. Previous to this job I had a 6 month long internship at a very small company as front end intern. At the internship I worked on very small projects and in no way did it prepare me for my current role.

I'm entering my 3rd week at this new job and essentially my 3rd week in my new career as a developer and I'm completely overwhelmed. I'd never worked on a large MVC project before that had a front-end, back-end, data bases, 25 different view files, both C# and JS, etc. I get assigned simple bug fix tickets but spend 1/2 to 3/4 of the day trying to figure out how all these files interact with each other. Its difficult for me to decipher a lot of the code. I'm not sure which code to touch and which code is a different department's responsibility. I feel like I'm working really slow. Its shaking my confidence to the core. I ask a lot of questions but I also have to hold back on a lot of questions because all the other devs have their own work to do. Its not there job to hold my hand all day. To compound the problem, due to the corona virus we're all working from home so I feel like I'm alone on an island with all the work related trouble I'm having.

The one thing I feel good about is that I didn't stretch the truth at all during my interviews. I was up front about my talent level. I specifically told them I was a beginner at JS and had never worked on an MVC project before.

Is this situation common for a really green junior dev? To feel mostly to completely lost on the job?

5
  • One thing I've done to test new junior devs is give them things I know they can't do, to see how willing they are to ask for help. Are you certain this isn't what's happening here?
    – Scoots
    Commented Mar 22, 2020 at 16:57
  • @Scoots I can't be certain of that but it could be a possibility. I guess I'm just not sure of what the expectation is for a brand new junior developer.
    – jtc10
    Commented Mar 22, 2020 at 17:14
  • 3
    You're only 3 weeks in. Learning a new job with a complicated codebase take time. I've been a software engineer for quite a few years and MVC frameworks still give me trouble. Go easy on yourself and give it time.
    – Seth R
    Commented Mar 23, 2020 at 1:23
  • 1
    Short answer: yes. I've been developing for 25+ years and the job I'm currently in was overwhelming at first. It's the largest, most complicated code base I've ever worked on and I felt the same way. Don't panic. You're getting paid to learn new skills. Enjoy it! Commented Mar 23, 2020 at 8:55
  • Somewhat (barely) related, but not duplicate: workplace.stackexchange.com/questions/125707/…
    – Clockwork
    Commented Mar 24, 2020 at 11:14

3 Answers 3

9

I'd never worked on a large MVC project before that had a front-end, back-end, data bases, 25 different view files, both C# and JS, etc.

I get assigned simple bug fix tickets but spend 1/2 to 3/4 of the day trying to figure out how all these files interact with each other. Its difficult for me to decipher a lot of the code. I'm not sure which code to touch and which code is a different department's responsibility.

I have been in a similar situation picking up my first full time job as a junior software dev after doing internships, so I can somewhat understand the overwhelmed feeling that you are feeling now. I had done work on very large systems in my internships as well, but mostly on small, specific parts of it. At my first full time job, however, most of the work was done as a full stack developer, and on very complex projects.

What had helped me the most was a wonderful mentor, who helped guide me through the structure of the project on a high level. Even then, it took me quite a lot of time to understand the project itself. For several sprints, I was a week or two behind schedule, but I began to piece things together little by little. It took me around a month or two before I understood all the pieces of the project. Throughout, by communicating with my team about my progress in daily scrums, and keeping them updated, my team was always supportive, and understood that it would take time to learn everything.

Something else that helped was the linear structure of my stories; I worked through the entire stack story by story to achieve my goal, and by the end of it, I had a good understanding of the entire stack, matching the top-down explanations given by my mentor.

I then moved onto a different team in the same company, for a different project, and was able to once again pick up the structure. This time, I was forced to be more independent, due to the time crunch and the members being busy on their own. There was no mentor, but I made use of confluence and the wiki to figure out parts of the structure, asked the other team members when I got blocked for more than half a day, with the results of my research from confluence, the wiki, and the web, and eventually mapped out the workings of the second project.

Summary

I did post a lot of info, but I believe that yes, being overwhelmed for a new job is very normal. It took me about a month to thoroughly understand the projects I worked on (although this is not particularly fast, it is still acceptable in most companies), but none of my team members have derided me about it.

My advice, from my experience, is to be straightforward and communicate to your team. Tell them about your confusion about how parts fit together. Do update them every now and then on your progress, perhaps they can offer tricks to unblock you. In terms of how often to ask questions, and how to ask questions, this resource about the method to ask is helpful, although you may already know the general gist.

Most of all, as a full time job working with a large codebase, actively listen and ask questions about things you don't understand. If you have work updates, you can figure out who does what, so you know who to ask. Internships are different in that we are not expected to understand the whole picture, given the short duration, but at a full time job, understanding the high-level overview of a project is very useful. You may also be working with your team for a long time, so knowing what they do and what they can help you with is very useful.

Confidence in your job is built up steadily, it is perfectly fine to take it slow and build up your understanding over time.

I hope some of my own experiences starting out can help a little, and I wish you the best of luck! Know that starting off your full time career is definitely not easy, especially in times like this, but you can pull through with some good communication and persistence.

4
  • 2
    @Entus3d Really appreciate you taking the time to write this extensive response. Knowing that other devs have had similar experiences takes the edge off a bit. Thanks for the the great advice!
    – jtc10
    Commented Mar 22, 2020 at 17:36
  • @jtc10 No problem. It hasn't been too long since I started working full time myself, being able to help out someone in a similar situation is my pleasure :). Also, you don't need to accept my answer as the accepted one so soon, you can wait a bit before accepting so you can hear some more valuable advice from others as well!
    – Enthus3d
    Commented Mar 22, 2020 at 17:39
  • @jtc10 and do feel free to keep me updated in the comments, should you need anything in the future. Hope all goes well!
    – Enthus3d
    Commented Mar 22, 2020 at 17:40
  • 1
    Will do! Again, Thanks!
    – jtc10
    Commented Mar 22, 2020 at 17:44
7

I'm entering my 3rd week at this new job and essentially my 3rd week in my new career as a developer and I'm completely overwhelmed.

Normal. I was still doing tutorials in my third week on the job.

I'd never worked on a large MVC project before that had a front-end, back-end, data bases, 25 different view files, both C# and JS, etc.

That's normal. That is why they have 5+ software engineers working on it over years. I would bet that no one person understands all the parts in the system.

I get assigned simple bug fix tickets but spend 1/2 to 3/4 of the day trying to figure out how all these files interact with each other.

My first bug fix was repairing a toggle button that wasn't toggling correctly. The fix was just changing 4 lines of code, but it took over a day to solve. That happens too.

Its difficult for me to decipher a lot of the code. I'm not sure which code to touch and which code is a different department's responsibility.

This is not something to be blamed on you or your newness to technology. Whether you can touch some code or not (code ownership) is a policy issue, not a technical one. You could be Bill Gates or Linus Torvalds and not get that right. Go ask your manager.

I feel like I'm working really slow.

You are, but that is normal.

1
  • Thanks for taking the time to give some of your insight into my situation. I'm happy to hear that this is more common that I may think. Your personal story about your first bug fix actually shed light on the experiences of new devs, lol. Thanks again!
    – jtc10
    Commented Mar 22, 2020 at 19:13
3

It's pretty normal for a junior dev to feel overwhelmed when he gets into his first high-responsibility-role. I've felt that way myself, I've seen numerous other junior devs feel that way.

When you make your way from short-to-midterm internship to regular employee, you'll usually be assigned to more complex/critical projects. Getting into such projects is obviously harder. Nothing unusual here either.

When I delivered on my first 'real' project, it felt to me like I created a total mess. Ugly code, ugly UI, 2 weeks past the initial deadline, coworkers had to help because I was unable to do some things on my own (like integration into our ERP, which I had zero experience with) and stuff like this. I then went to my manager, to apologize for what I'd delivered and he told me that he was very happy with my performance and hadn't expected me to deliver on my own at all when the project startet and thought I would need much more help from more senior devs. Of course he realized that what I had delivered was far from a masterpiece, but it was usable, feature-complete and nearly on time, so the company could use it and that was what mattered for him. We sheduled some time to address the problems I had identified, I did so and that was basically the end of the story. Today, with a much more seasoned and realistic view on software development, I realize that I did a good job on that project and I'm somewhat proud of it.

So: Relax. Most likely you're doing fine, otherwise every half-decent manager/teamlead/senior dev would notice something going wrong and step in in some way.

What I learned from my beginner period: Ask for regular feedback. Try to shedule one-on-ones with your manager/teamlead/responsible senior every now and then. Explain your concerns, ask for feedback about your work and how you could do better. Act on it. What you're describing sounds like a normal process of learning on the job / growing into your role. The important part is that you continue to improve, not that you have to work like a seasoned senior from day/week/year one.

1
  • I'm going to take you up on your advice to ask for regular feedback. I think that sounds like a great idea. I suppose if my direct superior is kept in the loop regularly they won't feel blindsided if something isn' t right. Thanks for the thoughtful response.
    – jtc10
    Commented Mar 22, 2020 at 19:15

You must log in to answer this question.

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