Work, School, and Covid

This week has been longer than expected.

Monday was a day of remembrance and of paying special tribute to Martin Luther King Jr. and all those who like him fought for human rights. Tuesday started with a full day of work, but to my surprise I had a fever. I proceeded to log into my workstation and begin my morning meetings. It’s times like these when being a remote worker is a blessing I don’t have to commute. Since it’s telework, I proceeded to check my emails, go over my notes, and get ready for a long day of meetings. By 9am, my first meeting began and I realized that I was not going to be able to produce any substantial work because my brain is fried. I quickly messaged my supervisor and informed the web team lead. He rightly told me to head out to get better. 

I wasn’t sure if it was that serious, maybe it was a slight cold. By midday I had chills and a fever. Thankfully I live with my partner and she’s an EMT and she was able to bring me a rapid COVID test. We both had slight sore throats Monday night but it was beginning to be obvious that I had covid. A rapid test is said to take 15 minutes to show a result. Mine took 8 minutes. I was positive and rapidly declining into the worst head aches and body aches I’ve experienced. 

I had a team meeting that evening to finish creating our project plan. That was not going to happen. I laid all evening in a state of delirium and surprisingly kept day dreaming that all programming languages were interconnected by a set of simple laws and if I just kept thinking about them they would come to me. These same dreams plagued me throughout the following nights.

Not everything was bad. I was able to get an extension and my workplace has up to 80 hours of COVID leave. So I figured I would use the buffer to regain my strength and take a break from everything. I continue to have a small routine and take my dog for small walks. While in this quarantine I am noticing my actionable voice in writing which is a relief. Without having to worry about work for another week I can slowly work on school assignments (cause school doesn’t stop even for covid). And that’s okay, if I didn’t have these moments where I can sit up and write a bit, I would be more grumpy. I feel lucky to be in this while being a remote worker and an online student. Meeting with my group is as easy as logging into discord. My main objective for the rest of the term is to not let this bump in my path deviate my learning objectives for this term. Once I’m less delirious and the fever is gone I want to just sit down and write some code. I miss it, but I also feel like if I sat down and tried to do it right now my head would explode. 

The silver lining to all of this is that I get to spend time with my partner and my dog. Get a break from the same 6am-6pm routine and I finally got to watch the Toy Story movies. This evening I also got to meet with my capstone group and we were able to iron out the details of our project.

Front-end vs. Back-end development

I am a “Front end” developer – I have been working as one for about a month this coming week and I have been loving it and realizing how different coding for fun and coding for work is. Don’t get me wrong, it’s not all bad. There are good things like getting paid to do something you enjoy every day. Getting better at coding and being paid to do so. There are so many things that I want to continue learning and getting better at. I believe a good career should be like that. Getting paid to become better and better every day, whether it’s becoming more familiar with the latest software frameworks or the latest JavaScript standards.

This week, we were tasked with coming up with a project for a hackaton. I was struggling to come up with a good idea for it and ended up tinkering with the idea of Time-based factor authentication, my plan was to write my own hashing functions using the MAC algorithm standards and I think it was too much for me to chew on in a week. After spending a day following a tutorial on building a HOTP algorithm (otherwise known as a hash one-time password) I decided that the blog post code was not something that I could use. Not because it was bad code, but because I did not know if it had undergone testing. I found a TOTP-generator library and I plugged it into my project. Late into the week I began to realize that I am a front-end developer and I should be spending time learning front-end techniques. 

I began to realize that what I’m doing is back-end development. Let me explain a bit, I was just finding the right libraries and sticking them all together without me actually writing any code that accomplished flashy and unique UI components. I fell into my workflow of writing a server and setting up the home route, specifying the HTML views engine for my express app, and passing objects to my views from the server otherwise known as back-end development. Not everything was lost, because in my attempts at writing a front-end application using server-side rendering (SSR) techniques I learned the difference between the two. 

I will elaborate, in a front-end development framework like React, Vue, or Angular, the JavaScript files don’t have to be imported for the server to use. Instead, the JavaScript files are executed by the client’s browser. Initially, this upset me because I had spent all this time learning SSR and now here I am un-learning those techniques to implement front-end development techniques. But there is a silver lining, because now I understand – at least at a conceptual level of abstraction – the difference between a “front-end” developer and a “back-end” developer. I was a back-end developer and now I am becoming a front-end developer.

I had mistakenly assumed that in the workplace there were back-end and front-end developers working with the same framework (expressjs) and that the front-end people just did HTML and CSS and some JavaScript. While the back-end developers would build the routes, add the middleware, and implement the database call functions. Now I realize that is not how it works in the real world.  Not all is lost with this week’s hackaton. I am presenting my back-end product this Friday and I will talk about what I learned and how this project helped me see the important difference between FE and BE when it comes to frameworks. This new knowledge will help me set my development and evaluation goals for my job which is something that I have been trying to figure out. And for tomorrow’s meeting I will be bringing a back-end app to a front-end fight. 

Beginnings

My programming roots

Writing my first program in PBASIC was thrilling. I had entered Junior year of high school and upon joining the robotics class taught at my local community college my love for coding began. Working on my first project was exciting because I wrote code that enabled a small robot to move around and follow an electric tape roadway I laid out. I also started with web development as a senior in high school, specifically with Adobe Dreamweaver. I wasn’t fancy about any of my websites, they all had awful contrasting colors, but playing around with the syntax and the elements fun.  

At my current job I am officially a front-end developer. I work building single-page applications with frameworks such as React, Vue.JS, and NodeJS. Having experience with front-end development has carved a path for me to get into mobile development. I am taking Mobile Development asynchronously with this course and a full-time job – fingers crossed.

As a web developer and mobile developer, I am interested in cybersecurity. I am learning more about all the new technologies that are out there and becoming better at designing secure systems.

In the long-term, I am heading into quantum computing. I started off as a physics major and somehow ended up with two degrees: physics and computer science. I plan on leveraging the skills gained thanks to those two degrees to work on the development of quantum computing algorithms and programming languages.

My favorite technologies at the moment are NodeJS, Python3, C++, JavaScript, Qiskit, and HTML5. My favorite languages that I am exploring at the moment are Rust and Dart. Some of the favorite listed projects are the Mobile Research security app because it involves programming but also doing research. I have a curious interest in doing both for academic and collaborative reasons. I also like the WasmFiddle project because it involves web assembly which is something that I am learning more about.

For this course, I hope to make new friends, work on a fun project, and become a better blog post writer!

Happy Coding/Writing!