Formation Fellowship: Week 1 Review

I’m still hanging on to the back of the train!

So. It has been a week.

Actually, that’s a lie. It’s been 2 1/2 days. I’m just so jazzed about Formation and have a miraculous child-free, task-free half hour or so, and so naturally the thing to do with that time is come back here and give my update on how much I love being a Formation Fellow.

Guys. I love it. I love the Formation Fellowship. So let’s do a recap, shall we?

Saturday

Surprise! I actually had a hot second on Saturday, and since I was itching to dive into all the tasks on my roadmap, I started with the Codesignal array benchmark assessment. The assessment was supposed to take 30-45 minutes. I was scared. I opened it up…

Not five minutes later, I closed it. I was done. DONE. Three easy questions (one of which was on runtime and I did get wrong, full transparency), and one easy coding problem. It was a good way to go into the week ahead of me.

Monday

Monday started with a 9:00am Formation-wide Kickoff meeting. Just some housekeeping stuff — revealing the Rising Tide of the Week, a few changes with the Fellow Mentors, info on referrals, that sort of thing. And of course, introducing the new group of fellows (read: me! and others too).

After that I dove into all my Array practice problems. Two I knocked out really easily, but the third, a monotonic array question, I got entirely stuck on. Then when I looked to the solution to figure out what I was doing wrong I was so baffled by how beautifully concise the code was, and how it used some things I’d never even seen before, that I got completely overwhelmed. I tried my best to understand the solution, re-wrote mine so it was passing, and then re-scheduled the problem for the next day, to make sure I would cement my knowledge of the approach.

In addition to the practice problems, I had a coffee chat with my onboarding buddy Cindy — it was nice to hear her perspective on things, she’s only 3 or 4 weeks ahead of me in the program, had a Concept Drills session on Arrays with several other n00bs like myself and led by an engineer at Google, and had a session about the Engineering Method with an engineer at Amazon. The engineer sessions were a lil overwhelming — I now know that you can access a specific value in an array by multiplying its index with the block size of index 0 (??) but overall really great.

I ended the day ready to dive in to the next day’s work.

Tuesday

Tuesday was significantly less session-heavy. I had a very quick standup at 9:30am and then nothing else scheduled until a 6pm Coding Drill session with a Meta engineer. I polished off all my Array practice problems, including the one I’d gotten stuck on the previous day, and did my hash structures Codesignal assessment. This one was slightly more difficult than the one on arrays, which makes sense — I’m not quite as comfortable with hash maps. I mean, I can get/set/has all day long, but actually iterating through an existing map doesn’t come naturally to me. I got all the questions right, but ran out of time on the second coding problem. NBD, that’s why I’m in Formation! (At least I tried to tell myself that, ha.)

After all that was completed, it was time to face the music. I had to do my Recur tasks. I’d been scheduled for seven (count ’em, SEVEN) bug fixes the first week. In, let me remind you, a codebase I’d never seen in my life.

I got everything set up, which took a goodly amount of time, because I had to delete all my previous Node versions and then renew my security key that had just expired on Git. But after all that was done, I was able to pull the Recur folder down, got all the dependancies installed, started it up, and took a peek at the code.

CUE OVERWHELM. I’m used to React. I get it. What I do not get is all the fancy stuff these people have done with it. How. HOW.

I took a deep breath then, and reminded myself that I knew I was going to feel this way. I focused on finding the spot I needed to insert my changes — the task was to change the color of the submit button from white to orange. After not too long, I found it! I tinkered. Nothin’. I tinkered some more. Still nothin’. That’s when I shut it down for the day.

Actually, that’s a lie. Before I did that, I searched Mattermost to see if anyone had previously been stuck on the bug (since we all do the same bug tasks — kind of a blessing TBH) and got a good peek at someone else’s code. I decided I’d look at it the next day with fresh eyes.

Wednesday

I started my day with a check-in with Cara, my Fellow Manager. Told her I was feeling 80% good about things, but that I was a little overwhelmed with all the bug fixes I’d been assigned, and I might have to push them into the next week if I wasn’t able to work through them all at a good pace. She was totally cool with that, but also told me that a lot of people get into a nice rhythm after they figure out the first one. Which was good to know. After our meeting, I warmed up with the two practice problems I had left, and then dove back into Recur.

I had decided overnight that I needed to bring Ye Olde Console.log() back. Duh, Em! Console.log() statements saved me during Catalyte. I wasn’t even sure my computer was connecting with the development server because absolutely nothing was happening when I tweaked the code and saved it. That’s where console.log() shines! I found a strategic spot, inserted it, opened my console, clicked the submit button on the website, and…ba-baaaaah! There it was! My log, telling me, “Here I am!” (Literally. That’s what I had it say.)

So I knew at least something was getting through. The next step, then, was to tweak the color to how the spec wanted it to be. I knew I probably couldn’t do it without the help of the Mattermost code screenshot I’d found the night before, and it’s never good to be blocked for too long — so I took a looksee and discovered that I needed to change the color scheme to secondary, and change the button styling from outlined to contained.

So that was taken care of! I pushed it up and got to work on my second bug fix. This one wanted me to underline a selected checkpoint. I finished it in about 20 minutes (!) and then got a tip from the woman doing the PR’s that I should make sure the spacing looks good before pushing it up. Indeed! I hadn’t accounted for that. So I worked for another 20 minutes on padding/border-bottom/margin-top stuff until I was satisfied, and pushed it up.

Then I set in on my next bug fix, which came together in literally 3 minutes — just a matter of Googling how to make text unselectable and adding in that rule to the appropriate spot. I couldn’t believe it — I was nearly halfway through all my bug fixes! I pushed it up, had a short pair learning session that went over Merge Sort, and then called it a day.

Thursday

(It’s Friday now, so I’m finishing this post!) On Thursday I had one session scheduled, but aside from that it was all bug fixes, baby. I wanted to knock everything out, including the one fix I had scheduled for Friday, so I could relax and go to tea with Jarrod as planned.

The session was a Coding Drills session that covered hash map problems. It was a little bit of a snooze-fest, as the one guy who began the coding got stuck for quite a while and was doing all sorts of fancy Python things, but I was able to contribute at the end and not make myself look like so much of a doofus.

The bugfixes were not as straightforward as the previous day’s #3, but I was able to fix them up okay. I did need a little help for two of them, but I figure as long as I’m learning it doesn’t count as cheating. Right? Right. What I learned: src={Photo} is a good way to get .png files to show up on React, and also setting flex-grow to 0 if another element is at 1 will squish the 0 all the way to the corner where it needs to be. And also, you can create your own custom classes with MUI! Duh. So I had to create a .cancel class to change the text of my cancel button to blue and the cursor to a pointer.

The third actually did come together really quickly — preventing a button from being clickable if a search query was under 3 characters. Not too complicated.

I also had to redo my underlined checkpoint bug fix, because Stella, my PR reviewer wanted me to use theme.spacing(). In any case, I got 4 done, which meant that my Friday was freeeee. Minus two sessions, of course.

Friday

And so here we are! The final day of Week 1. I can’t imagine I’ll go into quite so much detail in the upcoming weeks, ha. But this will be a good time capsule, anyway.

This morning I woke up with four emails asking for changes on my submitted bug fixes. Gahhhh. Turns out, I’d asked to merge into the main branch, not main_eshuffman as I was supposed to do.

And that damned checkpoint underline came back to me too. I’d implemented theme.spacing() incorrectly — Stella gave me a bit more direction, so I fixed it up, re-submitted my other bug fixes with the correct branches, and moved on. I’m still waiting to hear if everything comes back as accepted…hopefully so!

At 9am I had another pair programming session with a fellow first-week Fellow (heh). Tried coding up a Number of Elements Repeated X Times in an Array problem, got entirely lost in the weeds trying to be too fancy, and then he helped me out of it.

In about 15 minutes I have another coding drills session, this time on array iteration methods. This week has been very array-heavy! We’ll see what sort of fresh hell I’m up for next week.

But all in all, guys. I’m seriously enjoying this so much. I know the hard stuff is yet to come, but it’s a great program, everyone is so kind, and I don’t feel out of my depth at all. 10/10 would recommend!

9

mins
read

Begin typing your search above and press return to search. Press Esc to cancel.