Hey guys! Need some help.
My milestone is to basically get all the exceptions from a huge async job and propagate it upwards.
So I was assigned to do milestone 1 for my internship by week 3. My manager initially mentioned to me how it can be done. I took a look at the codebase, but was unsure of how it could be implemented. I wanted to explore ways this solution can be implemented easily. I initially did my approach in a diff but that would break the async job. So I asked my peer's opinions on how they would approach it. I made a design of all the approaches my peers and my manager mentioned and made a design doc and wrote my thoughts on the designs.
I had a design review with my team, and my manager realized that his idea would not be the best longterm feasible and scalable. My peer recommended a way to pass the output from each function as a data or an error, allowing to see where we could pinpoint to exactly what value the error is happening at and it would be the best overall solution. My manager agreed it was a good solution, but we realized that it was a lot of code changes.
So I was unsure of what route to choose, and wanted to go with the safest approach so I chose my peers solution as that adheres to a lot of best practices. Me and my manager also realized that the codebase is a mess, as there is a lot of blockers eg. backend code is calling graphQL endpoints etc. and a lot more refactoring needs to be done. There is insufficient log for exceptions etc...
I am still in the process of implementing that solution. Midpoint is going to be soon, and I am still looking to finish task 1 of milestone 1. I do not know what to do at this point. I have 15 diffs, 2000 significant lines. Is it too late now?
Any help would be appreciated.
Thanks
I had a design review with my team, and my manager realized that his idea would not be the best longterm feasible and scalable
This is quite common. The solution that was assumed to be best ends up not being feasible for some reason (either expected or unexpected).
The challenge is that in an internship, you don't have much time to course correct. However, this should not be held against you. You should spend time working with your manager and TL to figure out a new game plan, then figure out how to decompose it to be feasible in your internship.
You should look to have an awkward conversation with your intern manager ASAP. You were supposed to finish this by Week 3 but you are now around Week 5 from my understanding. Point out that you are behind the current plan and ask if that's okay. I'm hoping that it is and you will get some leeway in performance review when you get graded. But if it's not and you need to move faster, you need to find out right now and course correct.
In terms of how to course correct, that will depend a lot on the context. Again, talk to your intern manager. Some projects will allow you to cut scope, others won't. Some projects can bring in another engineer to help you, some won't. Talk to your intern manager and get all the information and options.