by Marquet Reid
February 25, 2019. I’m not sure that’s a date I’ll ever forget. February 25, 2019 was the day that I started my first job as a developer. February is full of special dates and events that mean a lot to me. There’s the fact that February is Black History Month which is a month to celebrate black excellence and culture, remember black achievements, and reflect on black resiliency. There’s February 14th, Valentine’s day, a day set aside to show extra love to those special to you.
I graduated from my coding bootcamp in February 2018. Then there is February 7th, the day that I started my career in tech as an Open Source Intelligence Analyst Intern. From there I continued a career in cybersecurity for a few years before I decided to make the switch to becoming a developer. To spare you the details, I have wanted to build software since I was in elementary school when I decided I wanted to make video games for a living. My focus has changed a bit since then, but on February 25, 2019, I saw that dream come true.
Why Element 84?
I was offered a position as a Junior Frontend Engineer at Element 84, a software consulting company located in Alexandria, Virginia. Element 84 has a great number of things that made me want to work here and my co-workers are even better than advertised.
There are three main things that make me glad that we chose each other.
- We Invest in Each Other
- We Are Reliable
- Our Work Benefits Our World.
These three phrases are the core values of Element 84 and those core values align with some of my own values. While Element 84 certainly has upheld all of these values, this blog is really about the first one “We Invest in Each Other”.
We value our people and support each other’s goals, even as those goals grow and change. We believe potential isn’t much good unless it’s realized, so we provide a platform that allows our team to grow.
Element 84 has certainly invested a ton into me and I can only hope that they are seeing the return on that investment in the work that I produce.
My first project at Element 84 was a super cool (only way to describe it), from-scratch project making use of CubeSat data. From there I started working on another project in the aerospace field and now six months have passed and I’ve learned so much. If you follow me on twitter you may have seen a tweet I posted with close to 40 things I’ve learned and even that was me lumping a lot of things together.
I have gone through the list and would like to share a little more details on a few of the things that I’ve learned since starting at Element 84 in February.
What I’ve Learned
I first heard of Gatsby from one of my past instructors, Ali Spitell at DC Hack and Tell where she showed how she powered her blog with it. I remember walking away thinking it was a powerful tool, but honestly, I still had a million other things floating in my head and never checked it out. Months later Gatsby continued to gain popularity and was on my list of new things to try, I even started up a new Gatsby project and played around with a few themes one night. My first day of work, I found out that our project was going to be built on top of Gatsby and I couldn’t be more excited. I fell in love with the framework pretty quickly and it is now my favorite way to write React code.
I did my first tech talk on Gatsby at the Gatsby Spark meetup at Element84 HQ where I gave a general overview of how you can Create React Apps In Gatsby.
Hooks are relatively new to React, in fact, the stable release was introduced in React 16.8 which was released less than 10 days before I started. Blogs about hooks seemed to be popping up all over my timeline and after reading a few, I was very excited about using it in a larger project. Hooks allow you to do things inside of functional components that were not possible before. For example, before hooks it was impossible to use state inside of a functional component, now with the introduction of hooks, I can use the
useState hook. Not only was I able to use some of the hooks built into React, but I learned how to make my own.
Tests were never a thing that I was forced to write in the past. I had listened to talks about the benefits of tests, read blog posts about the same, and even went to a workshop on building APIs in Node with a few hours dedicated to testing. Tests just never really clicked for me, they seemed intimidating and I could figure out how to get my code working without them. Now, I usually operate in a Test Driven Development (TDD) environment and I find that writing tests help me write better code with more ease. Tests also double as notes and I often find myself taking a look at tests if I forget how something in my code works, or if I simply need to integrate something that a team member has written.
Sass is described as a stylesheet language that compiles down to CSS. I had seen Sass pop up on my timeline and in blog posts all the time, but I had never actually worked with it. I was happy to find that Sass was a pleasure to work with and is now actually my preferred way to style websites. Sass allows you to write valid CSS as you normally would, but it also allows you to easily break your files apart by component name and export those files to a main file that your websites can pull from. Additionally, It allows for the use of features such as variables, nesting, and selector inheritance.
After about 4 months working on the React side of things, I was brought on to a new project. My team on this project originally planned on writing an API using the Clojure language so I spent some time studying the syntax. Clojure is a functional programming language based on Lisp. Clojure introduced me to interesting data types such as lists, sets, and atoms. The language also was completely immutable which was a unique concept coming from mainly object-oriented programming.
Asking for Help
One of my biggest struggles starting out was asking for help. During my journey to becoming a developer you always hear people say that you should spend time trying to figure things out on your own before coming to anybody else. If you have a question you need to come to a senior developer with a long list of things you have attempted. It doesn’t help that I’m one to go heads down trying out a lot of code and scour the internet for an answer to my problem. While this is a useful skill, there can be a lot of productivity lost and the senior engineers at Element 84 encouraged me to ask questions early and often. I have also found that I am more comfortable asking questions in a public channel to open up the floor to more people to share an answer as well as possibly learn from my question.
These first six months at Element 84 have been some of the best months of my career. I have learned a lot at an amazing company, alongside amazing people. Some time has passed since the official six month period and the posting of this blog and the list of things that I have learned since then is starting to grow quite large. While I find Front-End development to be my favorite aspect of coding, I enjoy programming as a whole. I am currently working on a project written in Python using AWS. Both of these technologies have helped me think about problem-solving in new and different ways, perhaps I’ll talk about it more in the upcoming months. I certainly can’t wait to see what the months ahead have in store for me.