Features

April 14th, 2020
features

I had a pretty eventful day on the job today, getting a lot done in a short period of time. We are pushing to get a feature out for an application, and while I thought it was completely ready to go, when we discussed it in a meeting yesterday with the guy who runs the backend, we found out he wasn't getting the right information. Basically, the sales representative needs to be able to provide an ID for the lead he is working with. The backend could get that information after the fact by matching up the information from the database, but for some reason, they want that information to be confirmed within the application by the sales representative. So, instead of being able to roll out the feature in a fast manner, we're getting bogged down by adding other features to be able to get that information. In the end, what we are adding is actually really nice, and is definitely something that enhances the application in many ways. But, I spoke with one of the executives last Friday and explained to him that my part of the application was basically finished. One of my superiors talked to him and basically promised delivery by this Friday. While this is totally possible from the perspective of the frontend, I have a feeling he is going to struggle to meet that goal on the backend, slowing down the project. Really, though, now that he's being passed the correct information, he shouldn't have to change much in the database, just add a couple fields, which isn't too bad.

features

Like I said, though, I got quite a bit done today and had a pretty successful day. I basically added 2 features to the application since a meeting we had at noon yesterday. One of them was fairly small and only took an hour or so to fully implement, but the other was much more extensive and required quite a bit of styling. The first was just another authentication step for the representative. Before, all they had to give us was their representative's ID to access the form. From there, they could freely sign their leads up for a plan. Now they have to give us their ID and a valid phone number, which we check against the database. My cohort made a nice little API to check both of these values at the same time, and we handled that issue with ease. Then it was a matter of just nailing down the much more difficult task. With this, my cohort created an API that returned 10 values from the database that matched a search query of the names of leads for that specific representative. Getting this hooked up to the input to be able to return these values was a chore, but I was able to get it to work pretty easily. I then wanted to take those 10 values and map them out to a list on the screen where the representative could choose one of those. The map itself wasn't much issue, but there was a lot of styling that went into this. My cohort reminded me that anything that should act as a clickable item should be labelled as a button in the HTML. This made the styling even more difficult, but eventually I figured it out. I was even able to apply some of the cool things I've learned in Jonas Schmedtmann's CSS course I've been taking.

features

My cohort and I were talking about things, and he expressed how much he enjoyed working with me. This came as a bit of a surprise to me, in a way, since I feel like I've slowed him down in a lot of ways. He's spent a lot of the last 5 weeks, or at least the first 3 of those 5 weeks, really teaching me some integral parts of React and how they relate to what we're building. I had a good base for React coming into this job, but there were things I really hadn't polished, some of the more advanced topics like context, useEffect and useReducer. Now, I use all of those things on a daily basis without much trouble. He said he really enjoyed being able to work on a project with someone else that was on the same page as him. He's worked on teams before, of course, but never really with someone else on the frontend. We've had some really good discussions about how to structure projects, how to make them reusable, how to make them scalable, and how to make them human readable. Some of these things we have disagreements about, like how to structure the apps we're building, but the discussions we've had are constructive and they lead to growth. They're forcing both of us to think about the code in a more intuitive way, and I really like where we're going with everything. Right now, I think he spends a lot of time either teaching me about new concepts or cleaning up after me, but as I progress and we move forward, it will be more evenly balanced. He knows I'm trying my best, and I think he really appreciates having me on the team.

Until tomorrow!

Created by Sam Thoyre, © 2019