WIWO - Oct 10-14

WIWO - Oct 10-14

Posted Oct 17, 2022

Last Updated Oct 17, 2022

Welcome to the close of the week of October 10-14! At work right now we're in the middle of changing how our Sprints are run and the organization for that, so this was more of an open week for me than normal. Let's get into it!

Monday

First, some context. Our Data Science team has been wanting to start to put scraping code as well as other initiatives up in APIs, so I built an API using Python, FastAPI, and SQLite for them to do this.

However, this leaves us with having anyone starting these processes to do so through Postman, first calling Auth0 for an access token, and then calling the actual API. As I had a bit of extra time, and I've been really diving into TypeScript lately, I figured this would be a good time for me to build a small front end. Over Thursday and Friday I whipped it all together using TypeScript, Next.js, and Emotion styled components, then protected the app using Auth0, set up the Cypress environment (my first time doing so with TypeScript), and started with a couple layout/render tests.

When I came in Monday morning, I jumped back into writing Cypress tests. Using Cypress has always been easier for me than other testing frameworks, but the addition of TypeScript was a nice surprise with the auto completion it provided on my custom commands! I spent the first half of the day getting things set up there and making sure both my layout and user flow tests were passing.

In the afternoon, I started to get CircleCI set up in the Next.js repo. Previously, I'd only partially set up CircleCI (for this blog), but fell just a step shy of getting everything fully set up, so it was nice to get some time to work on it during work hours! I spent the last of the afternoon trying to get my config set up, as my CI jobs were just failing due to config errors. I finally got things to run, but ran into issues with my ENV's to close out the day, so I decided to give it a break and come back to it Tuesday.

Tuesday

Tuesday I woke up determinded to get CI figured out. In the first half of the day, I spent the entire time getting things going there. I figured out that my app wasn't finding any of its environment variables, so I went in and added those all in, and surprise, surprise, all my tests were passing!

After getting everything to pass, I found that my CI workflows were running on every single push, so I went in and figured out how to get it configured so it would only run on PR's. I got that set up, and then submitted all my CircleCI testing changes in a PR in the repo, and everything ran just as it should!

After getting it set up there, I've now got the basic pattern down, and I'm excited to go through and add it to all my personal repo's, and then customize even further!

In the afternoon, we had a meeting about how we're adjusting sprint planning, and then I got some work done on this very blog (while definitely not watching the Mariners ALDS game in the background!).

Wednesday

Wednesday was a two-part day. The first half of the day was spent on deploying to production, followed by your typical deployment problems. As a team we spent the first half of the day narrowing down the problem to the server, and then again to the database connection. After verifying all was good on the Front End (my portion of the project), I spent the second half of the day debugging an API that I've been working on for Data Science. Fixed a couple small references, and everything was good to go! Tested it in the afternoon with the Front End I'd built in TypeScript for it, and everything ran through good! So now I'm just waiting on DS to make their changes to their logic, and then we deploy!

Thursday

Thursdays are always weird days for me, as I'm required to be in office in the morning, but I have therapy in the afternoons, so I wind up going into the office for a few hours and then commuting back home. For the first block of my day, I had a weekly 1:1 with a coworker, and then started planning for some changes we're going to make to our Core Platform PIM. We need to change the way we're pulling data from the API, so I'm going through and making a list of "this is how the API would look if it were only what I want for the Front End" so we can compare with where we're at. I think we're pretty close, and the small changes we make potentially could give us some dramatic performance gains!

In my afternoon block, I got pulled into trying to implement something in our Shopify store. My coworker hadn't worked in the store in a while, so he asked if we could pair program to take care of it. What seemed like a small change turned out to take us 2 hours, all the while feeling like we ALMOST had it. Turned out we didn't, so at the end of the workday we turned it over to our PM so he could resource it into our next sprint.

Friday

Friday was spent working more on my ideal API document, until we had our weekly company-wide meeting in the late morning. After this I finished up the day a little early so I could go spend time with the family.

In the evening when I had some alone time, I worked on a fastAPI generator package that I'm putting together in Python.

Pretty good week overall! A bit all over the place, but this is life at a startup!