I recently took part in a technical coding challenge that, between you and me, I was dreading. I was so nervous because no matter how hard I practiced I was worried that the problem would be something I had never seen before. Thankfully, I practiced learning how to recognize certain characteristics of challenges and go on from there. This particular challenge was that of a Frequency Counter challenge.

If you would like to no more about practicing for coding challenges, I would highly recommend these Udemy courses by Colt Steele or Stephen Grider, as they do a great job teaching…


If you’re read any of my previous posts, you know that I am a big fan of using hooks when working with React and Redux. They make building out applications easier and increase functionality with a few lines of code. Recently I discovered the use of two hooks: useSelector and useDispatch, ad toady I’m going to break down how they work.

Both these hooks are used with React and Redux. Redux is a library that is used to manage the state of the application. …


If you’ve checked out any of my previous posts, you know that I like to get nerdy about learning new things. I’m all about learning new skills, especially if they result in my projects being able to do more with writing less code. I’m all about efficiency. I’ve also been diving into the Django framework and everyday I’m starting to learn more and more about neat features that really utilize every feature of the framework. Today, we’re looking at Django signals.

Django signals are used when different pieces of code are used in the same event. They use a sender


I have built a few applications using Rails as my own API. Creating my own backend API is something I really enjoy as as the programmer, it’s something that I get to have full control over. I don’t have to worry about some other random database out there and having to adjust my frontend to worry about it, although that’s really not that much of a problem. Rails is a great tool to build out the backend of a project, but Django can do the same. Having never done it before, I found it surprisingly easy to setup and manage…


The first time I was asked question, it was in a mock technical interview. Up until that point, I was feeling very confident in what I had done. When the interviewer asked me “What is the runtime complexity of the function you just wrote?” my response was something along the lines of “Uhhhhhhhhh”.

It was a concept that I had never heard before, so naturally, I did some research and was then so surprised at how I had never heard of runtime complexity before. This concept is so important for new and experienced Software Engineers to be familiar. …


CSS can be simultaneously amazing and intimidating. Having so many options for styling at your disposal can leave one overwhelmed with so many options to choose from. This truly means that your project can end up looking any way you want, as long as you know where to start. Flexbox is a great and well … flexible way to style your projects to change with an adjusting screen size, so no matter the screen size the user has, the content will be appropriately sized and displayed. This post will go over the basic ins-and-outs of flexbox.

Although reading this post…


If you can get past pronouncing that correctly, keep reading further to figure how what it is. Memoization is a great tool for improving the runtime of large complex applications by storing or caching previous results so they can be called upon if the algorithm is run again with the same inout. It can turn functions that are very complex into very efficient ones, and it’s skill that programmers should know about.

In order to see how memoization comes into play, consider the following JavaScript function that takes in a number and squares it:

function square(n) {
let result =…


Regular Expressions or sometimes abbreviated as regex, are well … complicated at best. Just looking at them can make seasoned engineers want to run and hide. However, they are incredibly useful for use in building applications as well as a good tool to have for coding interviews and challenges. This post is going to break down the basics of Regular Expressions.

Regular Expressions are essentially ways to search through a string of text. It allows us to search through that text to do things like validation, get certain pieces, advanced find-and-replace, and more. But at its core, it it used…


These two terms can cause a lot of uneasy feelings when seeing them for the first time. Actually they provide a lot of assistance to Python functions, using *args and **kwargs make it easier for functions to accept multiple arguments which in turn can prevent projects from breaking if the user does something unpredictable.

In order to understand these two terms, we need to understand the basic outline of a function. When writing a function, we expect it to take in arguments that will be passed through as parameters in order to complete the function. A very basic example:

def…


In any application or project that you work on, having route paths or urls adds an extra level of functionality to improve the user experience. Being able to guide the user from place to place with navigation makes it easier for the creator to have the user see what they want the user to see. In React, there is React Router, in Rails there is the ‘routes.rb’ file. Today, I’m diving into how to configure urls in Django.

Before getting into it, I do use the terms ‘route’, ‘path’, and ‘url’ pretty interchangeably. They are pretty much the same thing…

Jas Spencer

Software Engineer in NYC with expertise in Ruby on Rails, JavaScript, and React

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store