Deadlined

March 24th, 2020
deadline

Things Got Interesting

I had a really successful day at work, still toiling away at my project I started on the third day I was there. Tomorrow will make it 2 full weeks since I started this project, and I was really thinking I'd have it done a week ago. I may have, too, but not in the condition I have it in now. Actually, I spent the entire morning today working on some of the last parts of it, really getting down to the end of the project. At this point, there are only just a few small changes to make before I can put it aside and work on some other things, which I'm both excited and curious about. Since there is only one Apple computer that is used for the team, only one person can work on a React Native project at a time. This is due to XCode not being compatible with anything that isn't an Apple product. I have a MacBook, but I wouldn't be allowed to use it at work for work purposes, so that's out of the question. As much as I love my MacBook, I think it's the most ridiculous thing ever that someone who doesn't have an Apple computer wouldn't be able to develop IOS applications. That's so restrictive to so many developers out there, and it's one of the reasons I've never been a huge fan of Apple in the first place. They do a great job for developers, and building a developer environment on an Apple is a cinch, but to only allow IOS development on your own devices is just absurd. Beyond that React Native project, I'm sure there are plenty of other projects to work on; I just don't know anything about them yet.

future

So, as I was saying, I worked the entire morning on getting those last little bits in place, and a lot of it came down to getting the application to work with either a Quote ID or without, and redirecting the user depending on whether they had one or not. We came up with a fake Quote ID, and I started playing around with what it returned when queried. I was able to pass that information through to the product context, and get it hooked up so that the same fields would be populated, and the app could differentiate between a quoted plan and a non-quoted plan. I was curious as to where we would send the referral data, so I asked someone on the team how this would get passed to the backend. She didn't know exactly, and thought it would probably involve adding a field onto the database to handle this, but she decided to ask the CTO about where and how he thought it should work. When she came back, she said she had some good news: we wouldn't have to get referrals at all. This was not good news, as I had spent more than a day or 2 working on this part of my feature, and it meant I would have to delete all of that work. In fact, I thought this was one of the best parts of my feature, complete with a list of referrals that had buttons on each where you could expand the referral to reveal more information, along with remove and edit buttons. It was disappointing, to say the least, but I guess in the long run, it will make life a little easier, not having to deal with that data. The real good news, though, was the way I built the feature, using a reducer, all I had to do was delete it and dispatch the next step in line. It was incredibly easy to get this out of the app, and I'm at least thankful for that.

deadline

After I got back from lunch, we received some news. The company wanted to run a promotion for their agents where they could input a discount code and the customer would receive $500 off their plan. They wanted this out tomorrow, which is kind of a tight deadline. We immediately started scrambling. First, my neighbor built an API to check to see if the coupon code was valid while I worked on the UI for the application. We would need an input field with a button that, when pressed, would fetch the API with the value from the input field dynamically introduced, and return whether or not the discount code was valid. If it was valid, the button and input field would disappear, revealing the discount with the new price. This took a little work at first to get the fetch working correctly; I've struggled a couple of times with figuring out the asynchronous behavior with the fetch API, and when that result comes back, but eventually we were able to get it working correctly. From there, it was just a matter of getting everything styled nicely, which didn't actually take all that much time. I had to change how the receipt appeared, adding a row dynamically when there was a discount. There were also a few other things in the application I had to clean up to get it ready for production, as everything was mostly hooked up to work on the development level, but not currently in production. We wanted to finish it before the end of the day today, and my part was complete well before that. There was a lot, though, that went into the backend of it, and my neighbor had to change a lot to get it done in time. We ended up pushing it to production and getting a successful test through about a half hour after we were supposed to leave, but it was great to get done. I have to say: while this was stressful to be put under a time crunch, that was the most fun I've had on this job so far, and I look forward to more opportunities like this.

Until tomorrow!

Created by Sam Thoyre, © 2019