Software Dev Internship Experience/Week 4

Software Dev Internship Experience/Week 4

Background
I'm currently in my 4th week as a dev intern at a SaaS company, Before this I was studying on my own for about 6 months, and then with a dev course provider for another 6 months. I'll be sharing my experience throughout this 10 week internship - writing about what I've learned throughout the journey and what students can expect when entering a dev role.

Asking for help
The dev team I'm working has been extremely helpful during my internship, but there is a big difference I have noticed when it comes to asking for help. I've found that working as a dev from home vs from the office, makes it more of a tricky task when asking for help. The few days a week in which the devs come to the office provides a much easier way to ask for help on minor problems or questions. It's very easy to go to someone's desk and have a chat about a problem or a question. The difference is very noticeable when compared to how much more loaded it feels to ask to have a quick call over teams/zoom to ask a question.

Unit tests
This week, I continued working on writing unit tests and figuring out how best to maximize the code coverage of my tests. The major issue I faced in writing my tests were inner functions which created http requests. Though I really wanted to figure out how to mock these functions and get a high percentage of code coverage, I eventually saw that I would need to make some changes to the functions in the existing codebase in order to write the tests properly, more specifically I would have to change the way in which the inner functions are being called. I decided to not go this route and instead just wrote as many tests that I could without making any changes.
I don't feel confident enough to change the existing functions, and I really don't want to break anything! So I've left it at that for now and will continue writing tests for other files, and may revisit the inner functions down the line.

ETL
The ETL process a huge part of the SaaS company I'm working for. ETL stands for Extract, Transform and Load. The first step, extract, retrieves data from third party sources, this data is then transformed into a usable format, which is finally loaded into a database.

This week, I was given another task - to look into the extraction layer of the companies ETL process to provide more specific data to the API. So far I have looked into the current extraction function and the documentation for our data source. It will take a deeper look into both of these in order to figure out what needs to be changed in the function but I'm excited to be doing a new task besides unit tests.

Next week
The plan is to continue with the ETL task as my main priority, while keeping the unit tests as my second.

Reflection
Due to recently starting a part time mentoring role, this week has probably been the most hectic in trying to balance everything. I want to continue to keep this internship as my main priority, and that means continuing working during the weekends and nights.

Did you find this article valuable?

Support Melvin Narayan by becoming a sponsor. Any amount is appreciated!