It’s About Time
This week marks my first commit and push into my own branch. I successfully did not destroy the company, and I consider that a positive result! A lot more actually happened this week, so let’s just get to it before I run out of time.
While working on our first few lines of code, we came across an issue with how the date is determined. We told the system that it’s Monday. “Yup!” the system replied. “It’s definitely Tuesday, just like you said!” I checked my calendar to make sure it was not, in fact, Tuesday (you can never be too sure about these things), but the app was quite certain. We literally broke time on our first real code day.
We fixed the error and were quite proud of ourselves! Then we learned that someone else had already fixed that error and pushed the update, which we hadn’t received yet. So we deleted the code we were so proud of.
Once the dates were set correctly, we wrote our very first test! It took hours to figure out how all of the moving parts came together, and no matter what we tried, we could not get a block of our code to show test coverage. We opened the app and checked our React Dev Tools – everything we’re doing should work! But yet, we’re still in red.
A few hours later, my fellow new hire (and cubicle roommate – or, if you want to combine the two words, my “room-icle”) and I both recognized at the same moment what was wrong. The code we’re trying to test doesn’t actually do anything! It’s defined, but never actually used. Someone has rewritten it, called the new version something incredibly similar, and never deleted the old code. We deleted the unused code block, and 100% of everything still functions as it should.
In addition to not needing to test that particular code, this also meant that our code was already duplicating work that someone else had done. So we deleted the code we were so proud of.
Actually, we waited until the next day, because we couldn’t bring ourselves to press the delete button after all the work we had done! It was a fantastic learning experience, and the rest of our testing time was smoother and more efficient because of it, but it’s still a bit disappointing to lose the actual code itself.
Now that the code is up, it’s time for a code review! We were on a high for submitting our first finished code – it lasted for about 11 entire seconds! Then the first review came back. Then the second, and the third, then #4, 5, 6, 7, 8, and 9… All in all, we had around 2 dozen comments from our first reviewers requiring lots of changes! It was pretty brutal, but everyone has to go through it.
We made all of the changes, tested everything to make sure it still works as intended, and submitted a request to Master. It was checked & approved. We are officially contributing developers! We have officially delivered a software solution! I cannot tell you how exciting that is – especially since most of you do it several times every week. But this was our #1!
“It works, and it doesn’t break anything!”
As if that wasn’t enough, once per month, I attend a React meetup. This week was all about Portals! Go check out my write-up. Portals basically work by conjuring voodoo magic on your application. We also witnessed the future death of Redux at the hands of react-easy-state. It was a pretty awesome night!
Now I’m working on my own story – no more pair programming. It’s time for some solo work. Here are the steps I’ve encountered so far:
- Step 1: Write a test for a file.
- Caveat: The file doesn’t actually exist yet; you’ll need to create it.
- Actual step 1: Create the file first.
- IMPORTANT NOTE: Please use a Duck format.
- Caveat: We don’t actually use the Duck format.
- IMPORTANT NOTE: Please use a Duck format.
I’m in the middle of wading through that puddle now. I have successfully built the file! It works, and it doesn’t break anything! I know I’m going to experience more frustration later, but I wanted to bask in feeling successful for a few more minutes. So I updated my blog. Time to get back to work!
Speaking of time… I was asked how I have enough hours in the day to get everything done! Honestly, sometimes it’s hard, but you always make time for the things you really want to do. That’s definitely all there is to it. Now if you’ll excuse me, I’m on my way back home in my preferred method of transportation…